X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-studio%2Ftrunk%2Fsrc%2Fgtkmm%2Fdock_layers.cpp;h=1a6ec00beb1f8f1529d540d1957922b6c2df8b33;hb=b6c331ec41a1788c39606b9c398a25f801bacb4a;hp=3cfa16685ba8740d7df1ca4ab55ed6ab443425fc;hpb=3a3c4bca3a17137bec5d7960560934b91ef4146e;p=synfig.git diff --git a/synfig-studio/trunk/src/gtkmm/dock_layers.cpp b/synfig-studio/trunk/src/gtkmm/dock_layers.cpp index 3cfa166..1a6ec00 100644 --- a/synfig-studio/trunk/src/gtkmm/dock_layers.cpp +++ b/synfig-studio/trunk/src/gtkmm/dock_layers.cpp @@ -1,20 +1,22 @@ -/* === S I N F G =========================================================== */ +/* === S Y N F I G ========================================================= */ /*! \file dock_layers.cpp ** \brief Template File ** -** $Id: dock_layers.cpp,v 1.2 2005/01/12 07:03:42 darco Exp $ +** $Id$ ** ** \legal -** Copyright (c) 2002 Robert B. Quattlebaum Jr. +** Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley +** Copyright (c) 2007 Chris Moore ** -** This software and associated documentation -** are CONFIDENTIAL and PROPRIETARY property of -** the above-mentioned copyright holder. +** This package is free software; you can redistribute it and/or +** modify it under the terms of the GNU General Public License as +** published by the Free Software Foundation; either version 2 of +** the License, or (at your option) any later version. ** -** You may not copy, print, publish, or in any -** other way distribute this software without -** a prior written agreement with -** the copyright holder. +** This package is distributed in the hope that it will be useful, +** but WITHOUT ANY WARRANTY; without even the implied warranty of +** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +** General Public License for more details. ** \endlegal */ /* ========================================================================= */ @@ -44,13 +46,15 @@ #include "layeractionmanager.h" //#include +#include "general.h" + #endif /* === U S I N G =========================================================== */ using namespace std; using namespace etl; -using namespace sinfg; +using namespace synfig; using namespace studio; /* === M A C R O S ========================================================= */ @@ -61,13 +65,13 @@ using namespace studio; /*static void do_nothing(reference_counter x) { - sinfg::info(__FILE__":%d:ref_count.count()=%d",__LINE__,x.count()); + synfig::info(__FILE__":%d:ref_count.count()=%d",__LINE__,x.count()); }*/ /* === M E T H O D S ======================================================= */ Dock_Layers::Dock_Layers(): - Dock_CanvasSpecific("layers",_("Layers"),Gtk::StockID("sinfg-layer")), + Dock_CanvasSpecific("layers",_("Layers"),Gtk::StockID("synfig-layer")), // layer_action_manager(0) layer_action_manager(new LayerActionManager) { @@ -75,18 +79,18 @@ Dock_Layers::Dock_Layers(): action_group_new_layers=Gtk::ActionGroup::create(); action_group_layer_ops=Gtk::ActionGroup::create(); - - std::map category_map; + + std::map category_map; // Build layer creation actions - sinfg::Layer::Book::iterator iter; - for(iter=sinfg::Layer::book().begin();iter!=sinfg::Layer::book().end();++iter) + synfig::Layer::Book::iterator iter; + for(iter=synfig::Layer::book().begin();iter!=synfig::Layer::book().end();++iter) { - sinfg::Layer::Book::value_type lyr(*iter); - - if(lyr.second.category==_("Do Not Use")) + synfig::Layer::Book::value_type lyr(*iter); + + if(lyr.second.category==CATEGORY_DO_NOT_USE) continue; - + action_group_new_layers->add(Gtk::Action::create( strprintf("layer-new-%s",lyr.first.c_str()), layer_icon(lyr.first.c_str()), @@ -101,33 +105,43 @@ Dock_Layers::Dock_Layers(): ); category_map[lyr.second.category]+=strprintf("",lyr.first.c_str()); - + //(*category_map)[lyr.second.category]->items().push_back(Gtk::Menu_Helpers::MenuElem(lyr.second.local_name, //)); } - + { Glib::RefPtr action_group_categories(Gtk::ActionGroup::create("layer-category")); - sinfg::String layer_ui_info; - - layer_ui_info+=""; + synfig::String layer_ui_info; - std::map::iterator iter; + layer_ui_info+=""; + + std::map::iterator iter; for(iter=category_map.begin();iter!=category_map.end();++iter) { layer_ui_info+=strprintf("%s",iter->first.c_str(),iter->second.c_str()); action_group_categories->add(Gtk::Action::create(iter->first.c_str(),iter->first.c_str())); } - layer_ui_info+=""; - + layer_ui_info+=""; + App::ui_manager()->insert_action_group(action_group_categories); App::ui_manager()->insert_action_group(action_group_new_layers); - App::ui_manager()->add_ui_from_string(layer_ui_info); + + try + { + App::ui_manager()->add_ui_from_string(layer_ui_info); + } + catch(Glib::MarkupError x) + { + error("%s:%d caught MarkupError code %d: %s", __FILE__, __LINE__, x.code(), x.what().c_str()); + error("%s:%d with markup: \"%s\"", __FILE__, __LINE__, layer_ui_info.c_str()); + exit(1); + } } - - - action_group_layer_ops->add( Gtk::Action::create("toolbar-layer", "Layer Ops") ); + + + action_group_layer_ops->add( Gtk::Action::create("toolbar-layer", _("Layer Ops")) ); App::ui_manager()->insert_action_group(action_group_layer_ops); @@ -149,7 +163,7 @@ Dock_Layers::Dock_Layers(): action_group_new_layers->set_sensitive(false); - set_toolbar(*dynamic_cast(App::ui_manager()->get_widget("/toolbar-layer"))); + set_toolbar(*dynamic_cast(App::ui_manager()->get_widget("/toolbar-layer"))); @@ -157,37 +171,37 @@ Dock_Layers::Dock_Layers(): /* reference_counter ref_count; - sinfg::info(__FILE__":%d:ref_count.count()=%d",__LINE__,ref_count.count()); + synfig::info(__FILE__":%d:ref_count.count()=%d",__LINE__,ref_count.count()); { sigc::signal tmp_signal; - + tmp_signal.connect( sigc::bind( sigc::ptr_fun(do_nothing), ref_count ) ); - - sinfg::info(__FILE__":%d:ref_count.count()=%d",__LINE__,ref_count.count()); + + synfig::info(__FILE__":%d:ref_count.count()=%d",__LINE__,ref_count.count()); tmp_signal(); - sinfg::info(__FILE__":%d:ref_count.count()=%d",__LINE__,ref_count.count()); - + synfig::info(__FILE__":%d:ref_count.count()=%d",__LINE__,ref_count.count()); + tmp_signal.clear(); - sinfg::info(__FILE__":%d:ref_count.count()=%d",__LINE__,ref_count.count()); - + synfig::info(__FILE__":%d:ref_count.count()=%d",__LINE__,ref_count.count()); + tmp_signal(); - sinfg::info(__FILE__":%d:ref_count.count()=%d",__LINE__,ref_count.count()); + synfig::info(__FILE__":%d:ref_count.count()=%d",__LINE__,ref_count.count()); tmp_signal.connect( sigc::bind( sigc::ptr_fun(do_nothing), ref_count ) ); - sinfg::info(__FILE__":%d:ref_count.count()=%d",__LINE__,ref_count.count()); + synfig::info(__FILE__":%d:ref_count.count()=%d",__LINE__,ref_count.count()); } - sinfg::info(__FILE__":%d:ref_count.count()=%d",__LINE__,ref_count.count()); - assert(ref_count.count()==1); + synfig::info(__FILE__":%d:ref_count.count()=%d",__LINE__,ref_count.count()); + assert(ref_count.count()==1); */ } @@ -211,7 +225,7 @@ Dock_Layers::init_canvas_view_vfunc(etl::loose_handle canvas_view) layer_tree->signal_edited_value().connect( sigc::hide_return( - sigc::mem_fun(*canvas_view->canvas_interface(), &sinfgapp::CanvasInterface::change_value) + sigc::mem_fun(*canvas_view->canvas_interface(), &synfigapp::CanvasInterface::change_value) ) ); @@ -239,7 +253,7 @@ Dock_Layers::changed_canvas_view_vfunc(etl::loose_handle canvas_view if(canvas_view) { Gtk::Widget* tree_view(canvas_view->get_ext_widget(get_name())); - + add(*tree_view); tree_view->show(); action_group_new_layers->set_sensitive(true); @@ -259,13 +273,13 @@ Dock_Layers::changed_canvas_view_vfunc(etl::loose_handle canvas_view layer_action_manager->set_canvas_interface(0); layer_action_manager->set_layer_tree(0); } - - clear_previous(); + + clear_previous(); } } void -Dock_Layers::add_layer(sinfg::String id) +Dock_Layers::add_layer(synfig::String id) { etl::loose_handle canvas_view(get_canvas_view()); if(canvas_view)