00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef FL_LAYOUT_H
00023 #define FL_LAYOUT_H
00024
00025 #include "ut_types.h"
00026 #include "pt_Types.h"
00027
00028 class PP_AttrProp;
00029 class PP_RevisionAttr;
00030 class PD_Document;
00031 class fd_Field;
00032 class po_Bookmark;
00033 class fl_AutoNum;
00034
00043 class ABI_EXPORT fl_Layout
00044 {
00045 public:
00046 fl_Layout(PTStruxType type, PL_StruxDocHandle sdh);
00047 virtual ~fl_Layout();
00048
00049 PL_StruxDocHandle getStruxDocHandle(void) const;
00050 PTStruxType getType(void) const;
00051 void setType(PTStruxType type);
00052 PT_AttrPropIndex getAttrPropIndex(void) const;
00053 void setAttrPropIndex(PT_AttrPropIndex apIndex);
00054
00055 bool getAttrProp(const PP_AttrProp ** ppAP, PP_RevisionAttr ** pRevisions,
00056 bool bShowRevisions, UT_uint32 iRevisionId,
00057 bool &bHiddenRevision) const;
00058
00059 bool getSpanAttrProp(UT_uint32 offset, bool bLeftSide, const PP_AttrProp ** ppAP,
00060 PP_RevisionAttr ** pRevisions,
00061 bool bShowRevisions, UT_uint32 iRevisionId,
00062 bool &bHiddenRevision) const;
00063
00064 bool getField(UT_uint32 offset, fd_Field * &pField);
00065 po_Bookmark * getBookmark(UT_uint32 offset);
00066 virtual void listUpdate(void) { return; }
00067 inline fl_AutoNum * getAutoNum(void) const { return m_pAutoNum; }
00068 void setAutoNum(fl_AutoNum * pAutoNum);
00069
00070 PD_Document * getDocument(void) const { return m_pDoc; };
00071
00072 protected:
00073 PTStruxType m_type;
00074 PT_AttrPropIndex m_apIndex;
00075 fl_AutoNum * m_pAutoNum;
00076
00077 PD_Document * m_pDoc;
00078 private:
00079 PL_StruxDocHandle m_sdh;
00080 };
00081
00082 #endif