Module: synfig
Branch: genete_master
Commit: b22edfe1a90f8452b20a6f71816f0618fd2a9d37
URL:    
http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig;a=commit;h=b22edfe1a90f8452b20a6f71816f0618fd2a9d37

Author: Carlos Lopez <car...@pcnuevo.(none)>
Date:   Sat Jul 18 22:00:13 2009 +0200

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> 
instance,etl::handle<synfigap
        statusbar                               (manage(new class 
Gtk::Statusbar())),
 
        timeslider                              (new Widget_Timeslider),
+       widget_kf_list                  (new Widget_Keyframe_List),
 
        ui_interface_                   (new CanvasViewUIInterface(this)),
        selection_manager_              (new CanvasViewSelectionManager(this)),
@@ -965,7 +966,13 @@ CanvasView::create_time_bar()
        //Widget_Timeslider *time_scroll = manage(new Widget_Timeslider);
        timeslider->set_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 <gtkmm/scale.h>
@@ -294,6 +295,9 @@ private:
        //! Time slider class. Same than the Time track panel
        std::auto_ptr<Widget_Timeslider> timeslider;
 
+       //!Keyframe list slider
+       std::auto_ptr<Widget_Keyframe_List> widget_kf_list;
+
        std::list<sigc::connection> 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);


------------------------------------------------------------------------------
_______________________________________________
Synfig-devl mailing list
Synfig-devl@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/synfig-devl

Reply via email to