[Synfig-devl] Carlos Lopez : Now the widget is fully working. Need a place to be stored and better size.
Module: synfig Branch: zelgadis_master Commit: b5c3d66d7714b6a2b6a10eb968206c6a46b0f026 URL: http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=b5c3d66d7714b6a2b6a10eb968206c6a46b0f026 Author: Carlos Lopez car...@pcnuevo.(none) Date: Sat Jul 18 12:44:52 2009 +0200 Now the widget is fully working. Need a place to be stored and better size. --- synfig-studio/trunk/src/gtkmm/dock_timetrack.cpp |3 +- .../trunk/src/gtkmm/widget_keyframe_list.cpp | 52 ++-- .../trunk/src/gtkmm/widget_keyframe_list.h |9 +++ 3 files changed, 58 insertions(+), 6 deletions(-) diff --git a/synfig-studio/trunk/src/gtkmm/dock_timetrack.cpp b/synfig-studio/trunk/src/gtkmm/dock_timetrack.cpp index 7f0c253..c13bb71 100644 --- a/synfig-studio/trunk/src/gtkmm/dock_timetrack.cpp +++ b/synfig-studio/trunk/src/gtkmm/dock_timetrack.cpp @@ -504,8 +504,7 @@ Dock_Timetrack::changed_canvas_view_vfunc(etl::loose_handleCanvasView canvas_v widget_timeslider_-set_global_fps(canvas_view-get_canvas()-rend_desc().get_frame_rate()); widget_kf_list_-set_time_adjustment(canvas_view-time_adjustment()); - widget_kf_list_-set_fps(canvas_view-get_canvas()-rend_desc().get_frame_rate()); - widget_kf_list_-set_kf_list(canvas_view-get_canvas()-keyframe_list()); + widget_kf_list_-set_canvas_interface(canvas_view-canvas_interface()); vscrollbar_-set_adjustment(*tree_view-get_vadjustment()); hscrollbar_-set_adjustment(canvas_view-time_window_adjustment()); diff --git a/synfig-studio/trunk/src/gtkmm/widget_keyframe_list.cpp b/synfig-studio/trunk/src/gtkmm/widget_keyframe_list.cpp index dba098d..9ab98ba 100644 --- a/synfig-studio/trunk/src/gtkmm/widget_keyframe_list.cpp +++ b/synfig-studio/trunk/src/gtkmm/widget_keyframe_list.cpp @@ -48,6 +48,7 @@ using namespace etl; using namespace synfig; using namespace studio; + /* === M A C R O S = */ /* === G L O B A L S === */ @@ -165,23 +166,47 @@ void Widget_Keyframe_List::set_kf_list(synfig::KeyframeList* x) { kf_list_=x; - if(kf_list_-size()) - set_selected_keyframe(selected_none); + set_selected_keyframe(selected_none); + selected_=false; + dragging_=false; } void Widget_Keyframe_List::set_selected_keyframe(const synfig::Keyframe x) { selected_kf=x; + selected_=true; dragging_kf_time=selected_kf.get_time(); //signal_keyframe_selected_(selected_kf); + dragging_=false; queue_draw(); } bool Widget_Keyframe_List::perform_move_kf() { - return false; + if(!selected_) + return false; + if(dragging_kf_time == selected_kf.get_time()) + return false; + synfigapp::Action::Handle action(synfigapp::Action::create(KeyframeSet)); + if(!action) + return false; + selected_kf.set_time(dragging_kf_time); + action-set_param(canvas,canvas_interface_-get_canvas()); + action-set_param(canvas_interface,canvas_interface_); + action-set_param(keyframe,selected_kf); + //synfig::info(DELTA: %s, (dragging_kf_time-selected_kf.get_time()).get_string().c_str()); + try + { + canvas_interface_-get_instance()-perform_action(action); + } + catch(...) + { + return false; + } + queue_draw(); + return true; } bool @@ -243,6 +268,7 @@ Widget_Keyframe_List::on_event(GdkEvent *event) ) { set_selected_keyframe(selected_none); + selected_=false; synfig::info(Selected keyframe set to none); synfig::info(Distance to prev %s, (t-prev_t).get_string().c_str()); synfig::info(Distance to next %s, (next_t-t).get_string().c_str()); @@ -254,6 +280,7 @@ Widget_Keyframe_List::on_event(GdkEvent *event) set_selected_keyframe(*(kf_list_-find_prev(t))); synfig::info(Selected keyframe set to previous); queue_draw(); + selected_=true; return true; } else @@ -261,6 +288,7 @@ Widget_Keyframe_List::on_event(GdkEvent *event) set_selected_keyframe(*(kf_list_-find_next(t))); synfig::info(Selected keyframe set to next); queue_draw(); +
[Synfig-devl] Carlos Lopez : Now the widget is fully working. Need a place to be stored and better size.
Module: synfig Branch: master Commit: b5c3d66d7714b6a2b6a10eb968206c6a46b0f026 URL: http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=b5c3d66d7714b6a2b6a10eb968206c6a46b0f026 Author: Carlos Lopez car...@pcnuevo.(none) Date: Sat Jul 18 12:44:52 2009 +0200 Now the widget is fully working. Need a place to be stored and better size. --- synfig-studio/trunk/src/gtkmm/dock_timetrack.cpp |3 +- .../trunk/src/gtkmm/widget_keyframe_list.cpp | 52 ++-- .../trunk/src/gtkmm/widget_keyframe_list.h |9 +++ 3 files changed, 58 insertions(+), 6 deletions(-) diff --git a/synfig-studio/trunk/src/gtkmm/dock_timetrack.cpp b/synfig-studio/trunk/src/gtkmm/dock_timetrack.cpp index 7f0c253..c13bb71 100644 --- a/synfig-studio/trunk/src/gtkmm/dock_timetrack.cpp +++ b/synfig-studio/trunk/src/gtkmm/dock_timetrack.cpp @@ -504,8 +504,7 @@ Dock_Timetrack::changed_canvas_view_vfunc(etl::loose_handleCanvasView canvas_v widget_timeslider_-set_global_fps(canvas_view-get_canvas()-rend_desc().get_frame_rate()); widget_kf_list_-set_time_adjustment(canvas_view-time_adjustment()); - widget_kf_list_-set_fps(canvas_view-get_canvas()-rend_desc().get_frame_rate()); - widget_kf_list_-set_kf_list(canvas_view-get_canvas()-keyframe_list()); + widget_kf_list_-set_canvas_interface(canvas_view-canvas_interface()); vscrollbar_-set_adjustment(*tree_view-get_vadjustment()); hscrollbar_-set_adjustment(canvas_view-time_window_adjustment()); diff --git a/synfig-studio/trunk/src/gtkmm/widget_keyframe_list.cpp b/synfig-studio/trunk/src/gtkmm/widget_keyframe_list.cpp index dba098d..9ab98ba 100644 --- a/synfig-studio/trunk/src/gtkmm/widget_keyframe_list.cpp +++ b/synfig-studio/trunk/src/gtkmm/widget_keyframe_list.cpp @@ -48,6 +48,7 @@ using namespace etl; using namespace synfig; using namespace studio; + /* === M A C R O S = */ /* === G L O B A L S === */ @@ -165,23 +166,47 @@ void Widget_Keyframe_List::set_kf_list(synfig::KeyframeList* x) { kf_list_=x; - if(kf_list_-size()) - set_selected_keyframe(selected_none); + set_selected_keyframe(selected_none); + selected_=false; + dragging_=false; } void Widget_Keyframe_List::set_selected_keyframe(const synfig::Keyframe x) { selected_kf=x; + selected_=true; dragging_kf_time=selected_kf.get_time(); //signal_keyframe_selected_(selected_kf); + dragging_=false; queue_draw(); } bool Widget_Keyframe_List::perform_move_kf() { - return false; + if(!selected_) + return false; + if(dragging_kf_time == selected_kf.get_time()) + return false; + synfigapp::Action::Handle action(synfigapp::Action::create(KeyframeSet)); + if(!action) + return false; + selected_kf.set_time(dragging_kf_time); + action-set_param(canvas,canvas_interface_-get_canvas()); + action-set_param(canvas_interface,canvas_interface_); + action-set_param(keyframe,selected_kf); + //synfig::info(DELTA: %s, (dragging_kf_time-selected_kf.get_time()).get_string().c_str()); + try + { + canvas_interface_-get_instance()-perform_action(action); + } + catch(...) + { + return false; + } + queue_draw(); + return true; } bool @@ -243,6 +268,7 @@ Widget_Keyframe_List::on_event(GdkEvent *event) ) { set_selected_keyframe(selected_none); + selected_=false; synfig::info(Selected keyframe set to none); synfig::info(Distance to prev %s, (t-prev_t).get_string().c_str()); synfig::info(Distance to next %s, (next_t-t).get_string().c_str()); @@ -254,6 +280,7 @@ Widget_Keyframe_List::on_event(GdkEvent *event) set_selected_keyframe(*(kf_list_-find_prev(t))); synfig::info(Selected keyframe set to previous); queue_draw(); + selected_=true; return true; } else @@ -261,6 +288,7 @@ Widget_Keyframe_List::on_event(GdkEvent *event) set_selected_keyframe(*(kf_list_-find_next(t))); synfig::info(Selected keyframe set to next); queue_draw(); +
[Synfig-devl] Carlos Lopez : Now the widget is fully working. Need a place to be stored and better size.
Module: synfig Branch: genete_master Commit: b5c3d66d7714b6a2b6a10eb968206c6a46b0f026 URL: http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=b5c3d66d7714b6a2b6a10eb968206c6a46b0f026 Author: Carlos Lopez car...@pcnuevo.(none) Date: Sat Jul 18 12:44:52 2009 +0200 Now the widget is fully working. Need a place to be stored and better size. --- synfig-studio/trunk/src/gtkmm/dock_timetrack.cpp |3 +- .../trunk/src/gtkmm/widget_keyframe_list.cpp | 52 ++-- .../trunk/src/gtkmm/widget_keyframe_list.h |9 +++ 3 files changed, 58 insertions(+), 6 deletions(-) diff --git a/synfig-studio/trunk/src/gtkmm/dock_timetrack.cpp b/synfig-studio/trunk/src/gtkmm/dock_timetrack.cpp index 7f0c253..c13bb71 100644 --- a/synfig-studio/trunk/src/gtkmm/dock_timetrack.cpp +++ b/synfig-studio/trunk/src/gtkmm/dock_timetrack.cpp @@ -504,8 +504,7 @@ Dock_Timetrack::changed_canvas_view_vfunc(etl::loose_handleCanvasView canvas_v widget_timeslider_-set_global_fps(canvas_view-get_canvas()-rend_desc().get_frame_rate()); widget_kf_list_-set_time_adjustment(canvas_view-time_adjustment()); - widget_kf_list_-set_fps(canvas_view-get_canvas()-rend_desc().get_frame_rate()); - widget_kf_list_-set_kf_list(canvas_view-get_canvas()-keyframe_list()); + widget_kf_list_-set_canvas_interface(canvas_view-canvas_interface()); vscrollbar_-set_adjustment(*tree_view-get_vadjustment()); hscrollbar_-set_adjustment(canvas_view-time_window_adjustment()); diff --git a/synfig-studio/trunk/src/gtkmm/widget_keyframe_list.cpp b/synfig-studio/trunk/src/gtkmm/widget_keyframe_list.cpp index dba098d..9ab98ba 100644 --- a/synfig-studio/trunk/src/gtkmm/widget_keyframe_list.cpp +++ b/synfig-studio/trunk/src/gtkmm/widget_keyframe_list.cpp @@ -48,6 +48,7 @@ using namespace etl; using namespace synfig; using namespace studio; + /* === M A C R O S = */ /* === G L O B A L S === */ @@ -165,23 +166,47 @@ void Widget_Keyframe_List::set_kf_list(synfig::KeyframeList* x) { kf_list_=x; - if(kf_list_-size()) - set_selected_keyframe(selected_none); + set_selected_keyframe(selected_none); + selected_=false; + dragging_=false; } void Widget_Keyframe_List::set_selected_keyframe(const synfig::Keyframe x) { selected_kf=x; + selected_=true; dragging_kf_time=selected_kf.get_time(); //signal_keyframe_selected_(selected_kf); + dragging_=false; queue_draw(); } bool Widget_Keyframe_List::perform_move_kf() { - return false; + if(!selected_) + return false; + if(dragging_kf_time == selected_kf.get_time()) + return false; + synfigapp::Action::Handle action(synfigapp::Action::create(KeyframeSet)); + if(!action) + return false; + selected_kf.set_time(dragging_kf_time); + action-set_param(canvas,canvas_interface_-get_canvas()); + action-set_param(canvas_interface,canvas_interface_); + action-set_param(keyframe,selected_kf); + //synfig::info(DELTA: %s, (dragging_kf_time-selected_kf.get_time()).get_string().c_str()); + try + { + canvas_interface_-get_instance()-perform_action(action); + } + catch(...) + { + return false; + } + queue_draw(); + return true; } bool @@ -243,6 +268,7 @@ Widget_Keyframe_List::on_event(GdkEvent *event) ) { set_selected_keyframe(selected_none); + selected_=false; synfig::info(Selected keyframe set to none); synfig::info(Distance to prev %s, (t-prev_t).get_string().c_str()); synfig::info(Distance to next %s, (next_t-t).get_string().c_str()); @@ -254,6 +280,7 @@ Widget_Keyframe_List::on_event(GdkEvent *event) set_selected_keyframe(*(kf_list_-find_prev(t))); synfig::info(Selected keyframe set to previous); queue_draw(); + selected_=true; return true; } else @@ -261,6 +288,7 @@ Widget_Keyframe_List::on_event(GdkEvent *event) set_selected_keyframe(*(kf_list_-find_next(t))); synfig::info(Selected keyframe set to next); queue_draw(); +
[Synfig-devl] Carlos Lopez : Now the widget is fully working. Need a place to be stored and better size.
Module: synfig Branch: genete_keyframe_list Commit: b5c3d66d7714b6a2b6a10eb968206c6a46b0f026 URL: http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=b5c3d66d7714b6a2b6a10eb968206c6a46b0f026 Author: Carlos Lopez car...@pcnuevo.(none) Date: Sat Jul 18 12:44:52 2009 +0200 Now the widget is fully working. Need a place to be stored and better size. --- synfig-studio/trunk/src/gtkmm/dock_timetrack.cpp |3 +- .../trunk/src/gtkmm/widget_keyframe_list.cpp | 52 ++-- .../trunk/src/gtkmm/widget_keyframe_list.h |9 +++ 3 files changed, 58 insertions(+), 6 deletions(-) diff --git a/synfig-studio/trunk/src/gtkmm/dock_timetrack.cpp b/synfig-studio/trunk/src/gtkmm/dock_timetrack.cpp index 7f0c253..c13bb71 100644 --- a/synfig-studio/trunk/src/gtkmm/dock_timetrack.cpp +++ b/synfig-studio/trunk/src/gtkmm/dock_timetrack.cpp @@ -504,8 +504,7 @@ Dock_Timetrack::changed_canvas_view_vfunc(etl::loose_handleCanvasView canvas_v widget_timeslider_-set_global_fps(canvas_view-get_canvas()-rend_desc().get_frame_rate()); widget_kf_list_-set_time_adjustment(canvas_view-time_adjustment()); - widget_kf_list_-set_fps(canvas_view-get_canvas()-rend_desc().get_frame_rate()); - widget_kf_list_-set_kf_list(canvas_view-get_canvas()-keyframe_list()); + widget_kf_list_-set_canvas_interface(canvas_view-canvas_interface()); vscrollbar_-set_adjustment(*tree_view-get_vadjustment()); hscrollbar_-set_adjustment(canvas_view-time_window_adjustment()); diff --git a/synfig-studio/trunk/src/gtkmm/widget_keyframe_list.cpp b/synfig-studio/trunk/src/gtkmm/widget_keyframe_list.cpp index dba098d..9ab98ba 100644 --- a/synfig-studio/trunk/src/gtkmm/widget_keyframe_list.cpp +++ b/synfig-studio/trunk/src/gtkmm/widget_keyframe_list.cpp @@ -48,6 +48,7 @@ using namespace etl; using namespace synfig; using namespace studio; + /* === M A C R O S = */ /* === G L O B A L S === */ @@ -165,23 +166,47 @@ void Widget_Keyframe_List::set_kf_list(synfig::KeyframeList* x) { kf_list_=x; - if(kf_list_-size()) - set_selected_keyframe(selected_none); + set_selected_keyframe(selected_none); + selected_=false; + dragging_=false; } void Widget_Keyframe_List::set_selected_keyframe(const synfig::Keyframe x) { selected_kf=x; + selected_=true; dragging_kf_time=selected_kf.get_time(); //signal_keyframe_selected_(selected_kf); + dragging_=false; queue_draw(); } bool Widget_Keyframe_List::perform_move_kf() { - return false; + if(!selected_) + return false; + if(dragging_kf_time == selected_kf.get_time()) + return false; + synfigapp::Action::Handle action(synfigapp::Action::create(KeyframeSet)); + if(!action) + return false; + selected_kf.set_time(dragging_kf_time); + action-set_param(canvas,canvas_interface_-get_canvas()); + action-set_param(canvas_interface,canvas_interface_); + action-set_param(keyframe,selected_kf); + //synfig::info(DELTA: %s, (dragging_kf_time-selected_kf.get_time()).get_string().c_str()); + try + { + canvas_interface_-get_instance()-perform_action(action); + } + catch(...) + { + return false; + } + queue_draw(); + return true; } bool @@ -243,6 +268,7 @@ Widget_Keyframe_List::on_event(GdkEvent *event) ) { set_selected_keyframe(selected_none); + selected_=false; synfig::info(Selected keyframe set to none); synfig::info(Distance to prev %s, (t-prev_t).get_string().c_str()); synfig::info(Distance to next %s, (next_t-t).get_string().c_str()); @@ -254,6 +280,7 @@ Widget_Keyframe_List::on_event(GdkEvent *event) set_selected_keyframe(*(kf_list_-find_prev(t))); synfig::info(Selected keyframe set to previous); queue_draw(); + selected_=true; return true; } else @@ -261,6 +288,7 @@ Widget_Keyframe_List::on_event(GdkEvent *event) set_selected_keyframe(*(kf_list_-find_next(t))); synfig::info(Selected keyframe set to next); queue_draw(); +
[Synfig-devl] Carlos Lopez : Now the widget is fully working. Need a place to be stored and better size.
Module: synfig Branch: morevna Commit: b5c3d66d7714b6a2b6a10eb968206c6a46b0f026 URL: http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=b5c3d66d7714b6a2b6a10eb968206c6a46b0f026 Author: Carlos Lopez car...@pcnuevo.(none) Date: Sat Jul 18 12:44:52 2009 +0200 Now the widget is fully working. Need a place to be stored and better size. --- synfig-studio/trunk/src/gtkmm/dock_timetrack.cpp |3 +- .../trunk/src/gtkmm/widget_keyframe_list.cpp | 52 ++-- .../trunk/src/gtkmm/widget_keyframe_list.h |9 +++ 3 files changed, 58 insertions(+), 6 deletions(-) diff --git a/synfig-studio/trunk/src/gtkmm/dock_timetrack.cpp b/synfig-studio/trunk/src/gtkmm/dock_timetrack.cpp index 7f0c253..c13bb71 100644 --- a/synfig-studio/trunk/src/gtkmm/dock_timetrack.cpp +++ b/synfig-studio/trunk/src/gtkmm/dock_timetrack.cpp @@ -504,8 +504,7 @@ Dock_Timetrack::changed_canvas_view_vfunc(etl::loose_handleCanvasView canvas_v widget_timeslider_-set_global_fps(canvas_view-get_canvas()-rend_desc().get_frame_rate()); widget_kf_list_-set_time_adjustment(canvas_view-time_adjustment()); - widget_kf_list_-set_fps(canvas_view-get_canvas()-rend_desc().get_frame_rate()); - widget_kf_list_-set_kf_list(canvas_view-get_canvas()-keyframe_list()); + widget_kf_list_-set_canvas_interface(canvas_view-canvas_interface()); vscrollbar_-set_adjustment(*tree_view-get_vadjustment()); hscrollbar_-set_adjustment(canvas_view-time_window_adjustment()); diff --git a/synfig-studio/trunk/src/gtkmm/widget_keyframe_list.cpp b/synfig-studio/trunk/src/gtkmm/widget_keyframe_list.cpp index dba098d..9ab98ba 100644 --- a/synfig-studio/trunk/src/gtkmm/widget_keyframe_list.cpp +++ b/synfig-studio/trunk/src/gtkmm/widget_keyframe_list.cpp @@ -48,6 +48,7 @@ using namespace etl; using namespace synfig; using namespace studio; + /* === M A C R O S = */ /* === G L O B A L S === */ @@ -165,23 +166,47 @@ void Widget_Keyframe_List::set_kf_list(synfig::KeyframeList* x) { kf_list_=x; - if(kf_list_-size()) - set_selected_keyframe(selected_none); + set_selected_keyframe(selected_none); + selected_=false; + dragging_=false; } void Widget_Keyframe_List::set_selected_keyframe(const synfig::Keyframe x) { selected_kf=x; + selected_=true; dragging_kf_time=selected_kf.get_time(); //signal_keyframe_selected_(selected_kf); + dragging_=false; queue_draw(); } bool Widget_Keyframe_List::perform_move_kf() { - return false; + if(!selected_) + return false; + if(dragging_kf_time == selected_kf.get_time()) + return false; + synfigapp::Action::Handle action(synfigapp::Action::create(KeyframeSet)); + if(!action) + return false; + selected_kf.set_time(dragging_kf_time); + action-set_param(canvas,canvas_interface_-get_canvas()); + action-set_param(canvas_interface,canvas_interface_); + action-set_param(keyframe,selected_kf); + //synfig::info(DELTA: %s, (dragging_kf_time-selected_kf.get_time()).get_string().c_str()); + try + { + canvas_interface_-get_instance()-perform_action(action); + } + catch(...) + { + return false; + } + queue_draw(); + return true; } bool @@ -243,6 +268,7 @@ Widget_Keyframe_List::on_event(GdkEvent *event) ) { set_selected_keyframe(selected_none); + selected_=false; synfig::info(Selected keyframe set to none); synfig::info(Distance to prev %s, (t-prev_t).get_string().c_str()); synfig::info(Distance to next %s, (next_t-t).get_string().c_str()); @@ -254,6 +280,7 @@ Widget_Keyframe_List::on_event(GdkEvent *event) set_selected_keyframe(*(kf_list_-find_prev(t))); synfig::info(Selected keyframe set to previous); queue_draw(); + selected_=true; return true; } else @@ -261,6 +288,7 @@ Widget_Keyframe_List::on_event(GdkEvent *event) set_selected_keyframe(*(kf_list_-find_next(t))); synfig::info(Selected keyframe set to next); queue_draw(); +