Don't offer 'Manual' as an interpolation type. It's not clear what it is supposed...
[synfig.git] / synfig-studio / trunk / src / gtkmm / statemanager.h
blob0aeb609ec50e190920312640840c86832292838f
1 /* === S Y N F I G ========================================================= */
2 /*! \file statemanager.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.
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
21 /* ========================================================================= */
23 /* === S T A R T =========================================================== */
25 #ifndef __SYNFIG_STATEMANAGER_H
26 #define __SYNFIG_STATEMANAGER_H
28 /* === H E A D E R S ======================================================= */
30 #include <glibmm/refptr.h>
31 #include <vector>
32 #include "smach.h"
34 /* === M A C R O S ========================================================= */
36 /* === T Y P E D E F S ===================================================== */
38 /* === C L A S S E S & S T R U C T S ======================================= */
40 namespace Gtk { class ActionGroup; }
42 typedef unsigned int guint;
44 namespace studio {
45 class StateManager
47 private:
48 Glib::RefPtr<Gtk::ActionGroup> state_group;
50 guint merge_id;
51 std::vector<guint> merge_id_list;
53 void change_state_(const Smach::state_base *state);
55 public:
56 StateManager();
58 ~StateManager();
60 void add_state(const Smach::state_base *state);
62 Glib::RefPtr<Gtk::ActionGroup> get_action_group();
65 }; // END of namespace studio
67 /* === E N D =============================================================== */
69 #endif