**
** \legal
** Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
-** Copyright (c) 2007 Chris Moore
+** Copyright (c) 2007, 2008 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
#include "onemoment.h"
#include <synfig/exception.h>
+#include "general.h"
+
#endif
/* === U S I N G =========================================================== */
/* === G L O B A L S ======================================================= */
-KeyframeTreeStore_Class KeyframeTreeStore::keyframe_tree_store_class_;
+// KeyframeTreeStore_Class KeyframeTreeStore::keyframe_tree_store_class_;
/* === C L A S S E S & S T R U C T S ======================================= */
KeyframeTreeStore::KeyframeTreeStore(etl::loose_handle<synfigapp::CanvasInterface> canvas_interface_):
Glib::ObjectBase ("KeyframeTreeStore"),
- Glib::Object (Glib::ConstructParams(keyframe_tree_store_class_.init(), (char*) 0)),
+ //! \todo what is going on here? why the need for this KeyframeTreeStore_Class at all?
+ // Glib::Object (Glib::ConstructParams(keyframe_tree_store_class_.init(), (char*) 0, (char*) 0)),
canvas_interface_ (canvas_interface_)
{
reset_stamp();
KeyframeTreeStore::~KeyframeTreeStore()
{
- synfig::info("KeyframeTreeStore::~KeyframeTreeStore(): Deleted");
+ if (getenv("SYNFIG_DEBUG_DESTRUCTORS"))
+ synfig::info("KeyframeTreeStore::~KeyframeTreeStore(): Deleted");
}
Glib::RefPtr<KeyframeTreeStore>
return 0;
}
+int
+KeyframeTreeStore::description_sorter(const Gtk::TreeModel::iterator &rhs,const Gtk::TreeModel::iterator &lhs)
+{
+ const Model model;
+
+ _keyframe_iterator *rhs_iter(static_cast<_keyframe_iterator*>(rhs->gobj()->user_data));
+ _keyframe_iterator *lhs_iter(static_cast<_keyframe_iterator*>(lhs->gobj()->user_data));
+
+ int comp = rhs_iter->iter->get_description().compare(lhs_iter->iter->get_description());
+ if (comp > 0) return 1;
+ if (comp < 0) return -1;
+ return 0;
+}
+
void
KeyframeTreeStore::set_value_impl(const Gtk::TreeModel::iterator& row, int column, const Glib::ValueBase& value)
{
// Bad old delta
return;
}
- // row(row) on the next line is bad - don't use it, because it leaves 'row' uninitialised
+ // row(row) on the next line is bad - don't use it, because it leaves 'row' uninitialized
//Gtk::TreeModel::iterator row(row);
//row++;
//if(!row)return;
{
Keyframe keyframe((*row)[model.keyframe]);
- synfigapp::Action::Handle action(synfigapp::Action::create("keyframe_set_delta"));
+ synfigapp::Action::Handle action(synfigapp::Action::create("KeyframeSetDelta"));
if(!action)return;
keyframe.set_time(x.get());
synfig::info("KeyframeTreeStore::set_value_impl():new_time=%s",keyframe.get_time().get_string().c_str());
- synfigapp::Action::Handle action(synfigapp::Action::create("keyframe_set"));
+ synfigapp::Action::Handle action(synfigapp::Action::create("KeyframeSet"));
if(!action)
return;
synfig::Keyframe keyframe(*iter->iter);
keyframe.set_description(x.get());
- synfigapp::Action::Handle action(synfigapp::Action::create("keyframe_set"));
+ synfigapp::Action::Handle action(synfigapp::Action::create("KeyframeSet"));
if(!action)
return;
}
catch(std::exception x)
{
- g_warning(x.what());
+ g_warning("%s", x.what());
}
}
}
Gtk::TreeModel::Path
-KeyframeTreeStore::get_path_vfunc (const TreeModel::iterator& gtk_iter)const
+KeyframeTreeStore::get_path_vfunc (const iterator& gtk_iter)const
{
Gtk::TreeModel::Path path;
}
void
-KeyframeTreeStore::add_keyframe(Keyframe keyframe)
+KeyframeTreeStore::add_keyframe(synfig::Keyframe keyframe)
{
try
{
}
catch(std::exception x)
{
- g_warning(x.what());
+ g_warning("%s", x.what());
}
}
void
-KeyframeTreeStore::remove_keyframe(Keyframe keyframe)
+KeyframeTreeStore::remove_keyframe(synfig::Keyframe keyframe)
{
try
{
}
catch(std::exception x)
{
- DEBUGPOINT();
- g_warning(x.what());
+ g_warning("%s", x.what());
}
}
void
-KeyframeTreeStore::change_keyframe(Keyframe keyframe)
+KeyframeTreeStore::change_keyframe(synfig::Keyframe keyframe)
{
try
{
unsigned int new_index(get_index_from_model_iter(row));
unsigned int old_index(0);
synfig::KeyframeList::iterator iter;
- for(old_index=0,iter=old_keyframe_list.begin();iter!=old_keyframe_list.end() && (UniqueID)*iter!=(UniqueID)keyframe;++iter,old_index++);
+ for(old_index=0,iter=old_keyframe_list.begin();iter!=old_keyframe_list.end() && (UniqueID)*iter!=(UniqueID)keyframe;++iter,old_index++)
+ ;
if(iter!=old_keyframe_list.end() && new_index!=old_index)
{
- DEBUGPOINT();
std::vector<int> new_order;
for(unsigned int i=0;i<old_keyframe_list.size();i++)
{
}
catch(std::exception x)
{
- DEBUGPOINT();
- g_warning(x.what());
+ g_warning("%s", x.what());
}
}