my log
[synfig.git] / synfig-studio / trunk / src / gtkmm / dock_canvases.h
1 /* === S Y N F I G ========================================================= */
2 /*!     \file dialog_canvases.h
3 **      \brief Template Header
4 **
5 **      $Id: dock_canvases.h,v 1.1.1.1 2005/01/07 03:34:36 darco Exp $
6 **
7 **      \legal
8 **      Copyright (c) 2002 Robert B. Quattlebaum Jr.
9 **
10 **      This software and associated documentation
11 **      are CONFIDENTIAL and PROPRIETARY property of
12 **      the above-mentioned copyright holder.
13 **
14 **      You may not copy, print, publish, or in any
15 **      other way distribute this software without
16 **      a prior written agreement with
17 **      the copyright holder.
18 **      \endlegal
19 */
20 /* ========================================================================= */
21
22 /* === S T A R T =========================================================== */
23
24 #ifndef __SYNFIG_STUDIO_DIALOG_CANVASES_H
25 #define __SYNFIG_STUDIO_DIALOG_CANVASES_H
26
27 /* === H E A D E R S ======================================================= */
28
29 #include "dockable.h"
30 #include <gtkmm/treeview.h>
31 #include "instance.h"
32
33 /* === M A C R O S ========================================================= */
34
35 /* === T Y P E D E F S ===================================================== */
36
37 /* === C L A S S E S & S T R U C T S ======================================= */
38
39 namespace studio {
40
41 class Dock_Canvases : public Dockable
42 {       
43         Gtk::TreeView *canvas_tree;
44         //Gtk::Menu     menu;
45         etl::loose_handle<studio::Instance>     selected_instance;
46
47 private:
48         
49         void set_selected_instance_(etl::handle<studio::Instance> x);
50
51         etl::loose_handle<studio::Instance> get_selected_instance() { return selected_instance; }
52
53         etl::loose_handle<synfig::Canvas> get_selected_canvas();
54
55         etl::loose_handle<studio::CanvasView> get_selected_canvas_view();
56
57         void set_selected_instance(etl::loose_handle<studio::Instance> x);
58
59         void set_selected_instance_signal(etl::handle<studio::Instance> x);
60
61         void new_instance(etl::handle<studio::Instance> x);
62
63         void delete_instance(etl::handle<studio::Instance> x);
64
65         void refresh_instances();
66
67         bool close();
68         
69         void on_row_activate(const Gtk::TreeModel::Path &path, Gtk::TreeViewColumn *);
70         //bool on_tree_event(GdkEvent *event);
71
72
73
74         void on_action_toggle(const Glib::ustring& path);
75         Gtk::Widget* create_canvas_tree();
76
77 public:
78
79         Dock_Canvases();
80         ~Dock_Canvases();
81 }; // END of Dock_Canvases
82
83 }; // END of namespace studio
84
85 /* === E N D =============================================================== */
86
87 #endif