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 #ifndef _ODI_LISTLEVELSTYLE_H_
00023 #define _ODI_LISTLEVELSTYLE_H_
00024
00025
00026 #include "ODi_ListenerState.h"
00027
00028
00029 class ODi_Style_Style;
00030
00031
00032 class PD_Document;
00033
00037 class ODi_ListLevelStyle : public ODi_ListenerState {
00038
00039 public:
00040
00041 ODi_ListLevelStyle(const char* pStateName, ODi_ElementStack& rElementStack);
00042 virtual ~ODi_ListLevelStyle() {}
00043
00044 virtual void startElement (const gchar* pName, const gchar** ppAtts,
00045 ODi_ListenerStateAction& rAction);
00046
00047 virtual void endElement (const gchar* pName,
00048 ODi_ListenerStateAction& rAction);
00049
00050 virtual void charData (const gchar* , int ) {}
00051
00052 UT_uint32 getLevelNumber() const {return m_levelNumber;}
00053
00054 void setAbiListID(UT_uint32 abiListID);
00055 const std::string* getAbiListID() const {return &m_abiListID;}
00056
00057 void setAbiListParentID(const std::string& rAbiListParentID) {
00058 m_abiListParentID = rAbiListParentID;
00059 }
00060
00061 bool isVisible(void) const;
00062
00063 void setAbiListParentID(const gchar* pParentID) {
00064 m_abiListParentID.assign(pParentID);
00065 }
00066
00067 const std::string* getTextStyleName() const {return &m_textStyleName;}
00068 void setTextStyle(const ODi_Style_Style* pTextStyle) {m_pTextStyle = pTextStyle;}
00069
00070 const std::string* getAbiListParentID() const {return &m_abiListParentID;}
00071
00079 void getAbiProperties(std::string& rProps, const ODi_Style_Style* pStyle = NULL) const;
00080
00081 void defineAbiList(PD_Document* pDocument);
00082
00083 virtual void buildAbiPropsString();
00084
00085 const std::string* getMinLabelDistance() const {return &m_minLabelDistance;}
00086
00087 protected:
00088
00089 std::string m_level;
00090 UT_uint32 m_levelNumber;
00091
00092
00093 std::string m_abiListID;
00094
00095
00096 std::string m_abiListParentID;
00097
00098
00099 std::string m_abiListType;
00100
00101
00102 std::string m_abiListStartValue;
00103
00104
00105
00106 std::string m_abiListListDelim;
00107
00108
00109
00110
00111
00112 std::string m_abiListListDecimal;
00113
00114
00115
00116 std::string m_abiProperties;
00117
00118
00119
00120
00121 std::string m_spaceBefore;
00122
00123
00124 std::string m_minLabelWidth;
00125
00126
00127
00128
00129 std::string m_minLabelDistance;
00130
00131
00132 std::string m_textIndent;
00133
00134
00135 std::string m_marginLeft;
00136
00137
00138
00139 std::string m_textStyleName;
00140 const ODi_Style_Style* m_pTextStyle;
00141 };
00142
00143
00147 class ODi_Bullet_ListLevelStyle : public ODi_ListLevelStyle {
00148
00149 public:
00150
00151 ODi_Bullet_ListLevelStyle(ODi_ElementStack& m_rElementStack);
00152
00153 void startElement (const gchar* pName, const gchar** ppAtts,
00154 ODi_ListenerStateAction& rAction);
00155
00156
00157
00158
00159
00160
00161 void buildAbiPropsString();
00162 };
00163
00164
00168 class ODi_Numbered_ListLevelStyle : public ODi_ListLevelStyle {
00169
00170 public:
00171
00172 ODi_Numbered_ListLevelStyle(ODi_ElementStack& m_rElementStack);
00173
00174 void startElement (const gchar* pName, const gchar** ppAtts,
00175 ODi_ListenerStateAction& rAction);
00176
00177
00178
00179
00180
00181
00182 void buildAbiPropsString();
00183
00184 private:
00185
00192 void _setAbiListType(const gchar* pStyleNumFormat);
00193 };
00194
00195 #endif //_ODI_LISTLEVELSTYLE_H_