1 /* === S Y N F I G ========================================================= */
2 /*! \file layergrouptree.h
3 ** \brief Template Header
5 ** $Id: layergrouptree.h,v 1.1.1.1 2005/01/07 03:34:36 darco Exp $
8 ** Copyright (c) 2002 Robert B. Quattlebaum Jr.
10 ** This software and associated documentation
11 ** are CONFIDENTIAL and PROPRIETARY property of
12 ** the above-mentioned copyright holder.
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.
20 /* ========================================================================= */
22 /* === S T A R T =========================================================== */
24 #ifndef __SYNFIG_STUDIO_LAYERGROUPTREE_H
25 #define __SYNFIG_STUDIO_LAYERGROUPTREE_H
27 /* === H E A D E R S ======================================================= */
29 #include <gtkmm/treeview.h>
30 #include <gtkmm/treestore.h>
31 #include <synfigapp/canvasinterface.h>
32 #include <synfigapp/value_desc.h>
33 #include "layergrouptreestore.h"
35 /* === M A C R O S ========================================================= */
37 /* === T Y P E D E F S ===================================================== */
39 /* === C L A S S E S & S T R U C T S ======================================= */
41 namespace synfig { class Layer; }
45 class LayerGroupTree : public Gtk::TreeView
48 -- ** -- P U B L I C T Y P E S ---------------------------------------------
53 typedef std::list<synfig::Layer::Handle> LayerList;
56 -- ** -- P U B L I C D A T A ------------------------------------------------
61 LayerGroupTreeStore::Model model;
64 -- ** -- P R I V A T E D A T A ---------------------------------------------
69 Glib::RefPtr<LayerGroupTreeStore> layer_group_tree_store_;
71 Gtk::CellRendererText *cell_renderer_description;
76 sigc::signal<void,etl::handle<synfig::Layer> > signal_popup_layer_menu_;
78 // sigc::signal<void,LayerList> signal_select_layers_;
79 Gtk::TreeView::Column* label_column;
82 -- ** -- P R I V A T E M E T H O D S ---------------------------------------
88 -- ** -- S I G N A L T E R M I N A L S -------------------------------------
93 bool on_event(GdkEvent *event);
96 -- ** -- P U B L I C M E T H O D S -----------------------------------------
103 void set_cursor(const Gtk::TreeModel::Path& path, bool start_editing=false);
105 Glib::RefPtr<LayerGroupTreeStore> get_model() { return layer_group_tree_store_; }
107 sigc::signal<void,etl::handle<synfig::Layer> >& signal_popup_layer_menu() { return signal_popup_layer_menu_; }
109 // sigc::signal<void,LayerList>& signal_select_layers() { return signal_select_layers_; }
111 void set_model(Glib::RefPtr<LayerGroupTreeStore> layer_group_tree_store_);
113 void set_editable(bool x=true);
115 bool get_editable()const { return editable_; }
117 std::list<synfig::String> get_selected_groups()const;
119 LayerList get_selected_layers()const;
120 }; // END of LayerGroupTree
122 }; // END of namespace studio
124 /* === E N D =============================================================== */