-/* === S I N F G =========================================================== */
-/*! \file template.cpp
+/* === S Y N F I G ========================================================= */
+/*! \file groupactionmanager.cpp
** \brief Template File
**
-** $Id: groupactionmanager.cpp,v 1.1.1.1 2005/01/07 03:34:36 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
*/
/* ========================================================================= */
#include "groupactionmanager.h"
#include "layergrouptree.h"
-#include <sinfgapp/action_param.h>
+#include <synfigapp/action_param.h>
#include "instance.h"
#include <gtkmm/stock.h>
+#include "general.h"
+
#endif
/* === U S I N G =========================================================== */
using namespace std;
using namespace etl;
-using namespace sinfg;
+using namespace synfig;
using namespace studio;
static const guint no_prev_popup((guint)-1);
}
void
-GroupActionManager::set_canvas_interface(const etl::handle<sinfgapp::CanvasInterface> &x)
+GroupActionManager::set_canvas_interface(const etl::handle<synfigapp::CanvasInterface> &x)
{
canvas_interface_=x;
}
{
if(queued)
return;
-
+
//queue_refresh_connection.disconnect();
queue_refresh_connection=Glib::signal_idle().connect(
sigc::bind_return(
false
)
);
-
+
queued=true;
}
void
GroupActionManager::refresh()
{
- DEBUGPOINT();
if(queued)
{
queued=false;
clear();
-
+
// Make sure we are ready
if(!ui_manager_ || !group_tree_ || !canvas_interface_)
{
- sinfg::error("GroupActionManager::refresh(): Not ready!");
+ synfig::error("GroupActionManager::refresh(): Not ready!");
return;
}
-
+
if(group_tree_->get_selection()->count_selected_rows()==0)
return;
-
+
String ui_info;
-
+
{
{
action_group_->add(
// bool multiple_selected(group_tree_->get_selection()->count_selected_rows()>1);
LayerGroupTree::LayerList selected_layers(group_tree_->get_selected_layers());
- std::list<sinfg::String> selected_groups(group_tree_->get_selected_groups());
-
- sinfg::info("selected_layers.size()=%d",selected_layers.size());
- sinfg::info("selected_groups.size()=%d",selected_groups.size());
-
+ std::list<synfig::String> selected_groups(group_tree_->get_selected_groups());
+
+ synfig::info("selected_layers.size()=%d",selected_layers.size());
+ synfig::info("selected_groups.size()=%d",selected_groups.size());
+
{
bool canvas_set(false);
- sinfgapp::Action::ParamList param_list;
+ synfigapp::Action::ParamList param_list;
param_list.add("time",get_canvas_interface()->get_time());
param_list.add("canvas_interface",get_canvas_interface());
-
+
{
LayerGroupTree::LayerList::iterator iter;
-
+
for(iter=selected_layers.begin();iter!=selected_layers.end();++iter)
{
if(!canvas_set)
}
{
- std::list<sinfg::String>::iterator iter;
-
+ std::list<synfig::String>::iterator iter;
+
for(iter=selected_groups.begin();iter!=selected_groups.end();++iter)
{
- param_list.add("group",(sinfg::String)*iter);
+ param_list.add("group",(synfig::String)*iter);
}
}
param_list.add("canvas",Canvas::Handle(get_canvas_interface()->get_canvas()));
canvas_set=true;
}
-
+
handle<studio::Instance>::cast_static(get_canvas_interface()->get_instance())->
- add_actions_to_group(action_group_, ui_info, param_list, sinfgapp::Action::CATEGORY_GROUP);
+ add_actions_to_group(action_group_, ui_info, param_list, synfigapp::Action::CATEGORY_GROUP);
}
}
-
+
if(true)
{
- ui_info="<ui><menubar action='menu-main'><menu action='menu-group'>"+ui_info+"</menu></menubar></ui>";
+ ui_info="<ui><popup action='menu-main'><menu action='menu-group'>"+ui_info+"</menu></popup></ui>";
popup_id_=get_ui_manager()->add_ui_from_string(ui_info);
}
else
LayerGroupTreeStore::Model model;
String group_name;
-
+
Gtk::TreeIter selected_iter;
-
+
if(group_tree_->get_selection()->count_selected_rows())
{
selected_iter=(
if(selected_iter && selected_iter->parent())
group_name=(Glib::ustring)(*selected_iter->parent())[model.group_name]+'.';
}
-
+
group_name+=_("UnnamedGroup");
-
+
Gtk::TreePath path(group_tree_->get_model()->on_group_added(group_name));
-
+
group_tree_->expand_to_path(path);
group_tree_->set_cursor(path,true);
}