/*! \file action.h
** \brief Template File
**
-** $Id: action.h,v 1.1.1.1 2005/01/07 03:34:37 darco Exp $
+** $Id$
**
** \legal
** Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
class Instance;
class Main;
-
-namespace Action {
+
+namespace Action {
class System;
-
+
//! Exception class, thrown when redoing or undoing an action
class Error
synfig::String desc_;
public:
-
+
Error(Type type, const char *format, ...):
type_(type)
{
type_(type)
{
}
-
+
Type get_type()const { return type_; }
synfig::String get_desc()const { return desc_; }
-
+
}; // END of class Action::Error
class Param;
CATEGORY_OTHER =(1<<12),
CATEGORY_DRAG =(1<<24),
-
+
CATEGORY_HIDDEN =(1<<31),
CATEGORY_ALL =(~0)-(1<<31) //!< All categories (EXCEPT HIDDEN)
}; // END of enum Category
** - Factory for creating this action from a ParamList
**
*/
-class Base : public etl::shared_object
+class Base : public etl::shared_object
{
protected:
Base() { }
-
+
public:
virtual ~Base() { };
//! This function will throw an Action::Error() on failure
virtual void perform()=0;
-
- virtual bool set_param(const synfig::String& name, const Param &) { return false; }
+
+ virtual bool set_param(const synfig::String& /*name*/, const Param &) { return false; }
virtual bool is_ready()const=0;
-
+
virtual synfig::String get_name()const =0;
virtual synfig::String get_local_name()const { return get_name(); }
void set_param_list(const ParamList &);
-
+
}; // END of class Action::Base
typedef Action::Base* (*Factory)();
}; // END of class Action::Undoable
//! Action base class for canvas-specific actions
-class CanvasSpecific
+class CanvasSpecific
{
private:
bool is_dirty_;
CanvasSpecific():is_dirty_(true), mode_(MODE_UNDEFINED) { }
virtual ~CanvasSpecific() { };
-
-
+
+
public:
void set_canvas(synfig::Canvas::Handle x) { canvas_=x; }
EditMode get_edit_mode()const;
void set_edit_mode(EditMode x) { mode_=x; }
-
+
bool is_dirty()const { return is_dirty_; }
void set_dirty(bool x=true) { is_dirty_=x; }
-
+
}; // END of class Action::Undoable
typedef std::list< etl::handle<Action::Undoable> > ActionList;
virtual void prepare()=0;
void clear() { action_list().clear(); }
-
+
bool first_time()const { return action_list_.empty(); }
-
+
void add_action(etl::handle<Undoable> action);
void add_action_front(etl::handle<Undoable> action);
virtual void prepare() { };
- virtual bool set_param(const synfig::String& name, const Param &)const { return false; }
+ virtual bool set_param(const synfig::String& /*name*/, const Param &)const { return false; }
virtual bool is_ready()const { return ready_; }
void set_name(std::string&x) { name_=x; }
Category category;
Factory factory;
CandidateChecker is_candidate;
- GetParamVocab get_param_vocab;
-
+ GetParamVocab get_param_vocab;
+
bool operator<(const BookEntry &rhs)const { return priority<rhs.priority; }
}; // END of struct BookEntry