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_MESOMERY_H
00026 #define GCHEMPAINT_MESOMERY_H
00027
00028 #include <gcu/object.h>
00029
00030 using namespace gcu;
00031
00032 namespace gcp {
00033
00034 class Mesomer;
00035
00036 class Mesomery: public Object
00037 {
00038 public:
00039 Mesomery ();
00040 virtual ~Mesomery ();
00041
00042 virtual bool Load (xmlNodePtr);
00043 virtual bool Build (list<Object*>& Children) throw (invalid_argument);
00044 virtual void Transform2D (Matrix2D& m, double x, double y);
00045 virtual bool BuildContextualMenu (GtkUIManager *UIManager, Object *object, double x, double y);
00046 virtual bool OnSignal (SignalId Signal, Object *Child);
00047 bool Validate (bool split);
00048 void Align ();
00049 virtual double GetYAlign ();
00050
00051 private:
00052 Mesomery (Object* parent, Mesomer *mesomer);
00053 };
00054
00055 }
00056
00057 #endif //GCHEMPAINT_MESOMERY_H