gcp/residue.h
Go to the documentation of this file.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
00032 namespace gcp
00033 {
00034
00035 class Application;
00036 class Document;
00037 class Molecule;
00038
00044 class Residue: public gcu::Residue
00045 {
00046 public:
00050 Residue ();
00056 Residue (char const *name);
00065 Residue (char const *name, char const *symbol, Molecule *mol, Document *doc);
00069 virtual ~Residue ();
00070
00078 void Load (xmlNodePtr node, bool ro);
00085 bool operator== (gcu::Molecule const &mol) const;
00089 void Register ();
00093 void Ref ();
00097 void Unref ();
00098
00106 static void SetPostAddCallback (void (*cb) (Residue *res)) {m_AddCb = cb;}
00107
00108 private:
00109 static void (*m_AddCb) (Residue *res);
00110
00114 GCU_RO_PROP (bool, ReadOnly);
00118 GCU_RO_PROP (xmlNodePtr, Node);
00122 GCU_RO_PROP (xmlNodePtr, MolNode);
00127 GCU_RO_PROP (unsigned , Refs);
00128 };
00129
00130 }
00131
00132 #endif // GCP_RESIDUE_H
00133