reaction-prop.h
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_PROP_H
00026 #define GCHEMPAINT_REACTION_PROP_H
00027
00028 #include <gcu/object.h>
00029 #include <gcu/dialog-owner.h>
00030 #include <gcu/macros.h>
00031
00032 namespace gcp {
00033
00034 extern gcu::TypeId ReactionPropType;
00035 class ReactionArrow;
00036
00037 enum {
00038 REACTION_PROP_UNKNOWN,
00039 REACTION_PROP_CATALYST,
00040 REACTION_PROP_REACTANT,
00041 REACTION_PROP_PRODUCT,
00042 REACTION_PROP_SOLVENT,
00043 REACTION_PROP_MAX_MOL,
00044 REACTION_PROP_TEMPERATURE = REACTION_PROP_MAX_MOL,
00045 REACTION_PROP_PRESSURE,
00046 REACTION_PROP_TIME,
00047 REACTION_PROP_ENTHALPY,
00048 REACTION_PROP_MAX,
00049 };
00050
00051 extern char const *ReactionPropRoles[];
00052
00057 class ReactionProp: public gcu::Object, public gcu::DialogOwner
00058 {
00059 public:
00060 ReactionProp ();
00061 ReactionProp (ReactionArrow *parent, gcu::Object *child);
00062 ~ReactionProp ();
00063
00064 xmlNodePtr Save (xmlDocPtr xml);
00065 bool Load (xmlNodePtr);
00066 bool OnSignal (gcu::SignalId Signal, gcu::Object *Child);
00067
00068 private:
00069 GCU_RO_PROP (gcu::Object*, Object);
00070 GCU_PROP (unsigned, Role);
00071 };
00072
00073 }
00074
00075
00076 #endif // GCHEMPAINT_REACTION_PROP_H