fa48cf1c20db9882d486c95195971e26bd67727b
[synfig.git] /
1 /* === S Y N F I G ========================================================= */
2 /*!     \file iconcontroller.h
3 **      \brief Template Header
4 **
5 **      $Id$
6 **
7 **      \legal
8 **      Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
9 **
10 **      This package is free software; you can redistribute it and/or
11 **      modify it under the terms of the GNU General Public License as
12 **      published by the Free Software Foundation; either version 2 of
13 **      the License, or (at your option) any later version.
14 **
15 **      This package is distributed in the hope that it will be useful,
16 **      but WITHOUT ANY WARRANTY; without even the implied warranty of
17 **      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18 **      General Public License for more details.
19 **      \endlegal
20 */
21 /* ========================================================================= */
22
23 /* === S T A R T =========================================================== */
24
25 #ifndef __SYNFIG_STUDIO_ICONCONTROLLER_H
26 #define __SYNFIG_STUDIO_ICONCONTROLLER_H
27
28 /* === H E A D E R S ======================================================= */
29
30 #include <gtkmm/stock.h>
31 #include <gtkmm/iconfactory.h>
32 #include <gtkmm/iconset.h>
33 #include <gdkmm/cursor.h>
34
35 #include <synfig/value.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 synfig { class ValueNode; class Layer; }
44
45 namespace synfigapp { namespace Action { class BookEntry; };};
46
47 namespace studio {
48
49
50 class IconController
51 {
52         Glib::RefPtr<Gtk::IconFactory> icon_factory;
53 public:
54         IconController(const synfig::String& basepath);
55         ~IconController();
56
57         static Gdk::Cursor get_normal_cursor();
58         static Gdk::Cursor get_tool_cursor(const Glib::ustring& name,const Glib::RefPtr<Gdk::Window>& window);
59 };
60
61 Gtk::StockID layer_icon(const synfig::String &layer);
62 Glib::RefPtr<Gdk::Pixbuf> get_tree_pixbuf_layer(const synfig::String &layer);
63
64 Gtk::StockID value_icon(synfig::ValueBase::Type type);
65 Gtk::StockID valuenode_icon(etl::handle<synfig::ValueNode> value_node);
66 Glib::RefPtr<Gdk::Pixbuf> get_tree_pixbuf(synfig::ValueBase::Type type);
67 Gtk::StockID get_action_stock_id(const synfigapp::Action::BookEntry& action);
68
69 }; // END of namespace studio
70
71 /* === E N D =============================================================== */
72
73 #endif