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 GCHEMPAINT_BRACKETS_H
00026 #define GCHEMPAINT_BRACKETS_H
00027
00028 #include <gcu/object.h>
00029 #include <gccv/item-client.h>
00030 #include <gccv/brackets.h>
00031 #include <set>
00032
00034 namespace gcp {
00035
00036 extern gcu::TypeId BracketsType;
00037
00038 typedef enum {
00039 BracketContentInvalid,
00040 BracketContentFragment,
00041 BracketContentMolecule,
00042 BracketContentGroup
00043 } BracketContent;
00044
00045 typedef enum {
00046 BracketSubscript = 1,
00047 BracketSuperscript = 2
00048 } BracketsDecorations;
00049
00052 class Brackets: public gcu::Object, public gccv::ItemClient
00053 {
00054 public:
00058 Brackets (gccv::BracketsTypes type = gccv::BracketsTypeNormal);
00062 virtual ~Brackets();
00063
00064
00068 void AddItem ();
00069
00077 bool Load (xmlNodePtr node);
00083 xmlNodePtr Save (xmlDocPtr xml) const;
00091 void SetSelected (int state);
00095 void OnLoaded ();
00096 void SetEmbeddedObjects (std::set <gcu::Object const *> objects);
00097
00098 private:
00099 std::set <gcu::Object const *> m_EmbeddedObjects;
00100 bool m_Valid;
00101 BracketContent m_Content;
00102
00103 GCU_PROP (gccv::BracketsTypes, Type)
00104 GCU_RO_PROP (unsigned, Decorations)
00105 GCU_PROP (std::string, FontDesc)
00106 };
00107
00108 }
00109
00110 #endif //GCHEMPAINT_BRACKETS_H