gcp/residue.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 GCP_RESIDUE_H
00026 #define GCP_RESIDUE_H
00027
00028 #include <gcu/macros.h>
00029 #include <gcu/residue.h>
00030
00031 namespace gcp
00032 {
00033
00034 class Application;
00035 class Document;
00036 class Molecule;
00037
00038 class Residue: public gcu::Residue
00039 {
00040 public:
00041 Residue ();
00042 Residue (char const *name);
00043 Residue (char const *name, char const *symbol, Molecule *mol, Document *doc);
00044 virtual ~Residue ();
00045
00046 void Load (xmlNodePtr node, bool ro);
00047 bool operator== (gcu::Molecule const &mol) const;
00048 void Register ();
00049
00050 static void SetPostAddCallback (void (*cb) (Residue *res)) {m_AddCb = cb;}
00051
00052 private:
00053 static void (*m_AddCb) (Residue *res);
00054
00055 GCU_RO_PROP (bool, ReadOnly);
00056 GCU_RO_PROP (xmlNodePtr, Node);
00057 GCU_RO_PROP (xmlNodePtr, MolNode);
00058 };
00059
00060 }
00061
00062 #endif // GCP_RESIDUE_H
00063