00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef GCHEMPAINT_REACTION_H
00026 #define GCHEMPAINT_REACTION_H
00027
00028 #include <gcu/object.h>
00029 #include <stdexcept>
00030
00031 using namespace gcu;
00032
00033 namespace gcp {
00034
00035 class Reaction: public Object
00036 {
00037 public:
00038 Reaction ();
00039 virtual ~Reaction ();
00040
00041 virtual bool Build (list<Object*>& Children) throw (invalid_argument);
00042 virtual void Transform2D (Matrix2D& m, double x, double y);
00043 virtual bool BuildContextualMenu (GtkUIManager *UIManager, Object *object, double x, double y);
00044 virtual bool OnSignal (SignalId Signal, Object *Child);
00045 virtual bool Load (xmlNodePtr);
00046 virtual double GetYAlign ();
00047 };
00048
00049 }
00050
00051 #endif //GCHEMPAINT_REACTION_H