Public Member Functions | Public Attributes | Static Public Attributes | Private Attributes

RTF_msword97_level Class Reference

#include <ie_imp_RTF.h>

List of all members.

Public Member Functions

 RTF_msword97_level (RTF_msword97_list *pmsword97List, UT_uint32 level)
 ~RTF_msword97_level ()
void buildAbiListProperties (const char **szListID, const char **szParentID, const char **szLevel, const char **szStartat, const char **szFieldFont, const char **szListDelim, const char **szListDecimal, const char **szAlign, const char **szIndent, const char **szListStyle)
bool ParseLevelText (const std::string &szLevelText, const std::string &szLevelNumbers, UT_uint32 iLevel)

Public Attributes

UT_sint32 m_levelStartAt
UT_uint32 m_AbiLevelID
UT_uint32 m_RTFListType
std::string m_listDelim
char m_cLevelFollow
bool m_bStartNewList
bool m_bRestart
< RTFProps_ParaProps
< RTFProps_CharProps
< RTFProps_bParaProps
< RTFProps_bCharProps

Static Public Attributes

static UT_uint32 m_sPreviousLevel = 0

Private Attributes

UT_uint32 m_localLevel

Constructor & Destructor Documentation

RTF_msword97_level::RTF_msword97_level ( RTF_msword97_list pmsword97List,
UT_uint32  level 
RTF_msword97_level::~RTF_msword97_level ( void   ) 

Member Function Documentation

void RTF_msword97_level::buildAbiListProperties ( const char **  szListID,
const char **  szParentID,
const char **  szLevel,
const char **  szStartat,
const char **  szFieldFont,
const char **  szListDelim,
const char **  szListDecimal,
const char **  szAlign,
const char **  szIndent,
const char **  szListStyle 
bool RTF_msword97_level::ParseLevelText ( const std::string &  szLevelText,
const std::string &  szLevelNumbers,
UT_uint32  iLevel 

Parse the leveltext and levelnumbers values. The idea is to translate the strings into AbiWord compatible format.

From the RTF standard: "... a level three number such as '1.a.(i)' would generate the following RTF: '{ \'07\'00.\'01.(\'02)'}' where \'07 is the string length, the \'00 \'01 and \'02 are level place holders, and the rest is surrounding text. The corresponding levelnumbers would be { \'01\'03\'06} because the level place holders have indices 1,3,6.

In AbiWord, either this level resuses the parent label and adds on more text, or starts a new label. So we can only get 1.a.(i) if the parent label is 1.a. or 1.a

look up the parent label and be more precise about what is added by this label.

References m_bStartNewList, m_listDelim, UT_DEBUGMSG, UT_return_val_if_fail, and UT_UCS4_isdigit().

Referenced by IE_Imp_RTF::HandleListLevel().

Member Data Documentation

Referenced by buildAbiListProperties().

The documentation for this class was generated from the following files: