From b22edfe1a90f8452b20a6f71816f0618fd2a9d37 Mon Sep 17 00:00:00 2001 From: Carlos Lopez Date: Sat, 18 Jul 2009 22:00:13 +0200 Subject: [PATCH] A little smaller, and better look. I don't like it so much though. Have to think other solution. --- synfig-studio/trunk/src/gtkmm/canvasview.cpp | 22 +++++++++++++++------- synfig-studio/trunk/src/gtkmm/canvasview.h | 4 ++++ synfig-studio/trunk/src/gtkmm/dock_timetrack.cpp | 4 ++-- .../trunk/src/gtkmm/widget_keyframe_list.cpp | 13 ++++++------- .../trunk/src/gtkmm/widget_timeslider.cpp | 2 +- 5 files changed, 28 insertions(+), 17 deletions(-) diff --git a/synfig-studio/trunk/src/gtkmm/canvasview.cpp b/synfig-studio/trunk/src/gtkmm/canvasview.cpp index a76b1a0..9675f03 100644 --- a/synfig-studio/trunk/src/gtkmm/canvasview.cpp +++ b/synfig-studio/trunk/src/gtkmm/canvasview.cpp @@ -690,6 +690,7 @@ CanvasView::CanvasView(etl::loose_handle instance,etl::handleset_time_adjustment(&time_adjustment()); timeslider->set_bounds_adjustment(&time_window_adjustment()); + //timeslider->set_size_request(-1,12); //layout_table->attach(*timeslider, 0, 1, 2, 3, Gtk::EXPAND|Gtk::FILL, Gtk::SHRINK|Gtk::FILL); + //Setup the keyframe list widget + widget_kf_list->set_time_adjustment(&time_adjustment()); + widget_kf_list->set_canvas_interface(canvas_interface()); + widget_kf_list->show(); + widget_kf_list->set_size_request(-1,8); tooltips.set_tip(*time_window_scroll,_("Moves the time window")); tooltips.set_tip(*timeslider,_("Changes the current time")); @@ -1033,16 +1040,17 @@ CanvasView::create_time_bar() keyframedial->show(); keyframebutton=keyframedial->get_lock_button(); - timebar = manage(new class Gtk::Table(5, 4, false)); + timebar = Gtk::manage(new class Gtk::Table(5, 4, false)); //Attach widgets to the timebar - timebar->attach(*manage(disp_audio), 1, 5, 0, 1, Gtk::EXPAND|Gtk::FILL, Gtk::SHRINK); - timebar->attach(*framedial, 0, 1, 2, 3,Gtk::SHRINK, Gtk::SHRINK); - timebar->attach(*current_time_widget, 0, 1, 1, 2, Gtk::SHRINK|Gtk::FILL, Gtk::SHRINK|Gtk::FILL, 0, 0); - timebar->attach(*timeslider, 1, 3, 1, 2, Gtk::EXPAND|Gtk::FILL, Gtk::SHRINK); + //timebar->attach(*manage(disp_audio), 1, 5, 0, 1, Gtk::EXPAND|Gtk::FILL, Gtk::SHRINK); + timebar->attach(*current_time_widget, 0, 1, 0, 2, Gtk::SHRINK|Gtk::FILL, Gtk::SHRINK|Gtk::FILL, 0, 0); + timebar->attach(*framedial, 0, 1, 2, 3, Gtk::SHRINK, Gtk::SHRINK); + timebar->attach(*timeslider, 1, 3, 0, 1, Gtk::EXPAND|Gtk::FILL, Gtk::SHRINK); + timebar->attach(*widget_kf_list, 1, 3, 1, 2, Gtk::EXPAND|Gtk::FILL, Gtk::SHRINK); timebar->attach(*time_window_scroll, 1, 3, 2, 3, Gtk::EXPAND|Gtk::FILL, Gtk::SHRINK); - timebar->attach(*keyframedial, 3, 4, 1, 2, Gtk::SHRINK, Gtk::SHRINK); - timebar->attach(*animatebutton, 4, 5, 1, 2, Gtk::SHRINK, Gtk::SHRINK); + timebar->attach(*keyframedial, 3, 4, 0, 2, Gtk::SHRINK, Gtk::SHRINK); + timebar->attach(*animatebutton, 4, 5, 0, 2, Gtk::SHRINK, Gtk::SHRINK); //timebar->attach(*keyframebutton, 1, 2, 3, 4, Gtk::SHRINK, Gtk::SHRINK); timebar->show(); diff --git a/synfig-studio/trunk/src/gtkmm/canvasview.h b/synfig-studio/trunk/src/gtkmm/canvasview.h index a33fb26..cddcbe2 100644 --- a/synfig-studio/trunk/src/gtkmm/canvasview.h +++ b/synfig-studio/trunk/src/gtkmm/canvasview.h @@ -70,6 +70,7 @@ #include "framedial.h" #include "toggleducksdial.h" #include "resolutiondial.h" +#include "widget_keyframe_list.h" #include "duckmatic.h" #include @@ -294,6 +295,9 @@ private: //! Time slider class. Same than the Time track panel std::auto_ptr timeslider; + //!Keyframe list slider + std::auto_ptr widget_kf_list; + std::list duck_changed_connections; /* DEBUGPOINT_CLASS(8); diff --git a/synfig-studio/trunk/src/gtkmm/dock_timetrack.cpp b/synfig-studio/trunk/src/gtkmm/dock_timetrack.cpp index c13bb71..ac36340 100644 --- a/synfig-studio/trunk/src/gtkmm/dock_timetrack.cpp +++ b/synfig-studio/trunk/src/gtkmm/dock_timetrack.cpp @@ -414,8 +414,8 @@ Dock_Timetrack::Dock_Timetrack(): if (header_height < 3) header_height = 22; - widget_timeslider_->set_size_request(-1,header_height); - widget_kf_list_->set_size_request(-1,header_height); + widget_timeslider_->set_size_request(-1,header_height-8); + widget_kf_list_->set_size_request(-1,8); hscrollbar_=new Gtk::HScrollbar(); vscrollbar_=new Gtk::VScrollbar(); diff --git a/synfig-studio/trunk/src/gtkmm/widget_keyframe_list.cpp b/synfig-studio/trunk/src/gtkmm/widget_keyframe_list.cpp index 1e597ce..d31810a 100644 --- a/synfig-studio/trunk/src/gtkmm/widget_keyframe_list.cpp +++ b/synfig-studio/trunk/src/gtkmm/widget_keyframe_list.cpp @@ -83,7 +83,7 @@ Widget_Keyframe_List::~Widget_Keyframe_List() bool Widget_Keyframe_List::redraw(GdkEventExpose */*bleh*/) { - if (kf_list_->empty()) return false; + const int h(get_height()); const int w(get_width()); @@ -98,13 +98,16 @@ Widget_Keyframe_List::redraw(GdkEventExpose */*bleh*/) if(!editable_) { - return true; + return true; //needs fixing! } //! draw a background - gc->set_rgb_fg_color(Gdk::Color("#FF0000")); + gc->set_rgb_fg_color(Gdk::Color("#7f7f7f")); get_window()->draw_rectangle(gc, true, 0, 0, w, h); + //!Returns if there are not keyframes to draw. + if (kf_list_->empty()) return false; + //!Loop all the keyframes synfig::KeyframeList::iterator iter,selected_iter; bool show_selected(false); @@ -153,11 +156,7 @@ Widget_Keyframe_List::redraw(GdkEventExpose */*bleh*/) Gtk::SHADOW_OUT, area, *this, " ", Gtk::ARROW_DOWN, 1, x-h/2+1, 0, h, h ); } - - - } - return true; } diff --git a/synfig-studio/trunk/src/gtkmm/widget_timeslider.cpp b/synfig-studio/trunk/src/gtkmm/widget_timeslider.cpp index ba57435..1687371 100644 --- a/synfig-studio/trunk/src/gtkmm/widget_timeslider.cpp +++ b/synfig-studio/trunk/src/gtkmm/widget_timeslider.cpp @@ -576,7 +576,7 @@ bool Widget_Timeslider::redraw(bool /*doublebuffer*/) //gc->set_rgb_fg_color(Gdk::Color("#000000")); layout->set_text(timecode); - window->draw_layout(gc,xpx+2,heightsmall,layout); + window->draw_layout(gc,xpx+2,0,layout); }else { window->draw_line(gc,xpx,0,xpx,heightsmall); -- 2.7.4