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 void Ref ();
00050 void Unref ();
00051
00052 static void SetPostAddCallback (void (*cb) (Residue *res)) {m_AddCb = cb;}
00053
00054 private:
00055 static void (*m_AddCb) (Residue *res);
00056
00057 GCU_RO_PROP (bool, ReadOnly);
00058 GCU_RO_PROP (xmlNodePtr, Node);
00059 GCU_RO_PROP (xmlNodePtr, MolNode);
00060 GCU_RO_PROP (unsigned , Refs);
00061 };
00062
00063 }
00064
00065 #endif // GCP_RESIDUE_H
00066