1 /* === S Y N F I G ========================================================= */
2 /*!	\file docks/dock_timetrack.h
3 **	\brief Template Header
4 **
5 **	$Id$
6 **
7 **	\legal
8 **	Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
9 **  Copyright (c) 2009, 2010 Carlos López
10 **
11 **	This package is free software; you can redistribute it and/or
12 **	modify it under the terms of the GNU General Public License as
13 **	published by the Free Software Foundation; either version 2 of
14 **	the License, or (at your option) any later version.
15 **
16 **	This package is distributed in the hope that it will be useful,
17 **	but WITHOUT ANY WARRANTY; without even the implied warranty of
18 **	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
19 **	General Public License for more details.
20 **	\endlegal
21 */
22 /* ========================================================================= */
23 
24 /* === S T A R T =========================================================== */
25 
26 #ifndef __SYNFIG_STUDIO_DOCK_TIMETRACK_H
27 #define __SYNFIG_STUDIO_DOCK_TIMETRACK_H
28 
29 /* === H E A D E R S ======================================================= */
30 
31 #include "docks/dockable.h"
32 #include <gtkmm/treeview.h>
33 #include <gtkmm/scrollbar.h>
34 #include "instance.h"
35 #include "docks/dock_canvasspecific.h"
36 
37 /* === M A C R O S ========================================================= */
38 
39 /* === T Y P E D E F S ===================================================== */
40 
41 /* === C L A S S E S & S T R U C T S ======================================= */
42 
43 namespace studio {
44 class Widget_Timeslider;
45 class Widget_Keyframe_List;
46 
47 class Dock_Timetrack : public Dock_CanvasSpecific
48 {
49 	Gtk::HScrollbar* hscrollbar_;
50 	Gtk::VScrollbar* vscrollbar_;
51 	Widget_Timeslider* widget_timeslider_;
52 	Widget_Keyframe_List* widget_kf_list_;
53 	Gtk::Table* table_;
54 	Gtk::TreeView *mimic_tree_view;
55 
56 protected:
57 	virtual void init_canvas_view_vfunc(etl::loose_handle<CanvasView> canvas_view);
58 	virtual void changed_canvas_view_vfunc(etl::loose_handle<CanvasView> canvas_view);
59 
60 	void refresh_selected_param();
61 	//animation render description change signal handler
62 	void refresh_rend_desc();
63 
64 public:
65 
66 
67 	Dock_Timetrack();
68 	~Dock_Timetrack();
69 
70 private:
71 	//! Signal handler for studio::LayerTree::signal_param_tree_header_height_changed
72 	/* \see studio::LayerTree::signal_param_tree_header_height_changed */
73 	void on_update_header_height( int header_height);
74 }; // END of Dock_Timetrack
75 
76 }; // END of namespace studio
77 
78 /* === E N D =============================================================== */
79 
80 #endif
81