/* === S Y N F I G ========================================================= */
-/*! \file template.cpp
+/*! \file statemanager.cpp
** \brief Template File
**
-** $Id: statemanager.cpp,v 1.1.1.1 2005/01/07 03:34:36 darco Exp $
+** $Id$
**
** \legal
** Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
+** Copyright (c) 2007 Chris Moore
**
** This package is free software; you can redistribute it and/or
** modify it under the terms of the GNU General Public License as
StateManager::add_state(const Smach::state_base *state)
{
String name(state->get_name());
-
+
+ Gtk::StockItem stock_item;
+ Gtk::Stock::lookup(Gtk::StockID("synfig-"+name),stock_item);
+
Glib::RefPtr<Gtk::Action> action(
Gtk::Action::create(
"state-"+name,
- Gtk::StockID("synfig-"+name),
- name,
- name
+ stock_item.get_stock_id(),
+ stock_item.get_label(),
+ stock_item.get_label()
)
);
/*action->set_sensitive(false);*/
state_group->add(action);
-
+
action->signal_activate().connect(
sigc::bind(
sigc::mem_fun(*this,&studio::StateManager::change_state_),
state
)
);
-
+
App::ui_manager()->ensure_update();
/*App::ui_manager()->add_ui(
"state-"+name
);
*/
-
+
String uid_def("<ui><popup action='menu-main'><menu action='menu-state'><menuitem action='state-"+name+"' /></menu></popup></ui>");
merge_id_list.push_back(App::ui_manager()->add_ui_from_string(uid_def));
-
+
App::ui_manager()->ensure_update();
App::toolbox->add_state(state);