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
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038 #ifndef SW_FIELDMANAGER
00039 # define SW_FIELDMANAGER
00040
00041 #include <vector>
00042
00043 #include "STOFFDebug.hxx"
00044 #include "STOFFEntry.hxx"
00045 #include "STOFFInputStream.hxx"
00046
00047 class StarState;
00048
00049 namespace SWFieldManagerInternal
00050 {
00053 struct Field {
00055 Field() : m_type(-1), m_subType(-1), m_format(-1), m_name(""), m_content(""), m_textValue(""), m_doubleValue(0), m_level(0)
00056 {
00057 }
00059 virtual ~Field();
00061 friend std::ostream &operator<<(std::ostream &o, Field const &field)
00062 {
00063 field.print(o);
00064 return o;
00065 }
00067 virtual bool send(STOFFListenerPtr listener, StarState &state) const;
00069 virtual void print(std::ostream &o) const;
00071 int m_type;
00073 int m_subType;
00075 int m_format;
00077 librevenge::RVNGString m_name;
00079 librevenge::RVNGString m_content;
00081 librevenge::RVNGString m_textValue;
00083 double m_doubleValue;
00085 int m_level;
00086 protected:
00088 Field(const Field &orig) : m_type(orig.m_type), m_subType(orig.m_subType), m_format(orig.m_format),
00089 m_name(orig.m_name), m_content(orig.m_content), m_textValue(orig.m_textValue), m_doubleValue(orig.m_doubleValue), m_level(orig.m_level)
00090 {
00091 }
00092 };
00093
00094 struct State;
00095 }
00096
00097 class StarZone;
00098
00104 class SWFieldManager
00105 {
00106 public:
00108 SWFieldManager();
00110 virtual ~SWFieldManager();
00111
00112
00114 shared_ptr<SWFieldManagerInternal::Field> readField(StarZone &zone, char cKind='_');
00115
00116
00117
00118
00119 private:
00121 shared_ptr<SWFieldManagerInternal::State> m_state;
00122 };
00123 #endif
00124