Public Member Functions | Private Types | Private Member Functions | Private Attributes

ODi_Office_Styles Class Reference

This class holds all the styles defined by the OpenDocument stream, both the common (defined inside <office:styles>), automatic (definded inside <office:automatic-styles>) and master page ones (defined inside <office:master-styles>). More...

#include <ODi_Office_Styles.h>

List of all members.

Public Member Functions

 ODi_Office_Styles ()
 ~ODi_Office_Styles ()
 Destructor.
ODi_Style_StyleaddStyle (const gchar **ppAtts, ODi_ElementStack &rElementStack, ODi_Abi_Data &rAbiData)
 Adds a <style:style> (ODi_Style_Style class).
ODi_Style_PageLayoutaddPageLayout (const gchar **ppAtts, ODi_ElementStack &rElementStack, ODi_Abi_Data &rAbiData)
 Adds a <style:page-layout> (ODi_Style_PageLayout class).
ODi_Style_MasterPageaddMasterPage (const gchar **ppAtts, PD_Document *pDocument, ODi_ElementStack &rElementStack)
 Adds a <style:master-page> (ODi_Style_MasterPage class).
ODi_Style_StyleaddDefaultStyle (const gchar **ppAtts, ODi_ElementStack &rElementStack, ODi_Abi_Data &rAbiData)
ODi_Style_ListaddList (const gchar **ppAtts, ODi_ElementStack &rElementStack)
 Adds a list style (<text:list-style>).
ODi_NotesConfigurationaddNotesConfiguration (const gchar **ppAtts, ODi_ElementStack &rElementStack)
 Adds a notes configuration (<text:notes-configuration>).
void addedAllStyles (PD_Document *pDocument, ODi_FontFaceDecls &rFontFaceDecls)
 Will do some post-processing and then define all AbiWord styles.
const ODi_Style_StylegetTextStyle (const gchar *pStyleName, bool bOnContentStream) const
const ODi_Style_StylegetParagraphStyle (const gchar *pStyleName, bool bOnContentStream) const
 Returns the specified paragraph style.
const ODi_Style_StylegetSectionStyle (const gchar *pStyleName, bool bOnContentStream) const
const ODi_Style_StylegetGraphicStyle (const gchar *pStyleName, bool bOnContentStream) const
const ODi_Style_StylegetTableStyle (const gchar *pStyleName, bool bOnContentStream) const
const ODi_Style_StylegetTableColumnStyle (const gchar *pStyleName, bool bOnContentStream) const
const ODi_Style_StylegetTableRowStyle (const gchar *pStyleName, bool bOnContentStream) const
const ODi_Style_StylegetTableCellStyle (const gchar *pStyleName, bool bOnContentStream) const
const ODi_Style_StylegetDefaultParagraphStyle () const
const ODi_Style_PageLayoutgetPageLayoutStyle (const gchar *pStyleName) const
const ODi_Style_MasterPagegetMasterPageStyle (const gchar *pStyleName) const
ODi_Style_ListgetList (const gchar *pStyleName) const
const ODi_NotesConfigurationgetNotesConfiguration (const gchar *pNoteClass) const

Private Types

typedef std::map< std::string,
ODi_Style_List * > 
ListMap
typedef std::map< std::string,
ODi_Style_PageLayout * > 
PageLayoutMap
typedef std::map< std::string,
ODi_Style_MasterPage * > 
MasterPageMap
typedef std::map< std::string,
ODi_NotesConfiguration * > 
NotesConfigMap

Private Member Functions

void _fixStyles ()
 Fix any problems encountered on the added styles.
void _linkStyles ()
 Links every style with its parent and next ones.
void _buildAbiPropsAttrString (ODi_FontFaceDecls &rFontFaceDecls)
void _defineAbiStyles (PD_Document *pDocument) const
void _linkMasterStyles ()
 Link the master styles to their page layouts.
void _linkListStyles () const
 Link list level styles to the text styles that they refer to.

Private Attributes

ODi_Style_Style_Family m_textStyleStyles
ODi_Style_Style_Family m_paragraphStyleStyles
ODi_Style_Style_Family m_sectionStyleStyles
ODi_Style_Style_Family m_graphicStyleStyles
ODi_Style_Style_Family m_tableStyleStyles
ODi_Style_Style_Family m_tableColumnStyleStyles
ODi_Style_Style_Family m_tableRowStyleStyles
ODi_Style_Style_Family m_tableCellStyleStyles
ListMap m_listStyles
PageLayoutMap m_pageLayoutStyles
MasterPageMap m_masterPageStyles
NotesConfigMap m_notesConfigurations

Detailed Description

This class holds all the styles defined by the OpenDocument stream, both the common (defined inside <office:styles>), automatic (definded inside <office:automatic-styles>) and master page ones (defined inside <office:master-styles>).

It includes the page layouts (<style:page-layout>).

Usage: 1 - Add (and parse) all styles 2 - Call addedAllStyles


Member Typedef Documentation

typedef std::map<std::string, ODi_Style_List*> ODi_Office_Styles::ListMap [private]
typedef std::map<std::string, ODi_Style_MasterPage*> ODi_Office_Styles::MasterPageMap [private]
typedef std::map<std::string, ODi_NotesConfiguration*> ODi_Office_Styles::NotesConfigMap [private]
typedef std::map<std::string, ODi_Style_PageLayout*> ODi_Office_Styles::PageLayoutMap [private]

Constructor & Destructor Documentation

ODi_Office_Styles::ODi_Office_Styles (  )  [inline]
ODi_Office_Styles::~ODi_Office_Styles (  ) 

Member Function Documentation

void ODi_Office_Styles::_buildAbiPropsAttrString ( ODi_FontFaceDecls rFontFaceDecls  )  [private]
void ODi_Office_Styles::_defineAbiStyles ( PD_Document pDocument  )  const [private]
void ODi_Office_Styles::_fixStyles (  )  [private]

Fix any problems encountered on the added styles.

References ODi_Style_Style_Family::fixStyles(), m_paragraphStyleStyles, and m_textStyleStyles.

Referenced by addedAllStyles().

void ODi_Office_Styles::_linkListStyles (  )  const [private]
void ODi_Office_Styles::_linkMasterStyles (  )  [private]
void ODi_Office_Styles::_linkStyles (  )  [private]
ODi_Style_Style * ODi_Office_Styles::addDefaultStyle ( const gchar **  ppAtts,
ODi_ElementStack rElementStack,
ODi_Abi_Data rAbiData 
)
void ODi_Office_Styles::addedAllStyles ( PD_Document pDocument,
ODi_FontFaceDecls rFontFaceDecls 
) [inline]

Will do some post-processing and then define all AbiWord styles.

References _buildAbiPropsAttrString(), _defineAbiStyles(), _fixStyles(), and _linkStyles().

Referenced by ODi_ContentStream_ListenerState::startElement().

ODi_Style_List * ODi_Office_Styles::addList ( const gchar **  ppAtts,
ODi_ElementStack rElementStack 
)
ODi_Style_MasterPage * ODi_Office_Styles::addMasterPage ( const gchar **  ppAtts,
PD_Document pDocument,
ODi_ElementStack rElementStack 
)

Adds a <style:master-page> (ODi_Style_MasterPage class).

Returns:
The address of the newly created ODi_Style_MasterPage.

References gchar, m_masterPageStyles, and UT_getAttribute().

Referenced by ODi_StylesStream_ListenerState::startElement().

ODi_NotesConfiguration * ODi_Office_Styles::addNotesConfiguration ( const gchar **  ppAtts,
ODi_ElementStack rElementStack 
)

Adds a notes configuration (<text:notes-configuration>).

References gchar, m_notesConfigurations, and UT_getAttribute().

Referenced by ODi_StylesStream_ListenerState::startElement().

ODi_Style_PageLayout * ODi_Office_Styles::addPageLayout ( const gchar **  ppAtts,
ODi_ElementStack rElementStack,
ODi_Abi_Data rAbiData 
)

Adds a <style:page-layout> (ODi_Style_PageLayout class).

Returns:
The address of the newly created ODi_Style_PageLayout.

References gchar, m_pageLayoutStyles, and UT_getAttribute().

Referenced by ODi_StylesStream_ListenerState::startElement().

ODi_Style_Style * ODi_Office_Styles::addStyle ( const gchar **  ppAtts,
ODi_ElementStack rElementStack,
ODi_Abi_Data rAbiData 
)

Adds a <style:style> (ODi_Style_Style class).

Parameters:
bAutomatic true if the style is an OpenDocument "automatic style".
Returns:
The address of the newly created ODi_Style_Style or NULL, if the specified style is not currently supported (like graphic styles).

References ODi_Style_Style_Family::addStyle(), gchar, ODi_Style_Style_Family::getStyle(), m_graphicStyleStyles, m_paragraphStyleStyles, m_sectionStyleStyles, m_tableCellStyleStyles, m_tableColumnStyleStyles, m_tableRowStyleStyles, m_tableStyleStyles, m_textStyleStyles, UT_ASSERT, UT_getAttribute(), and UT_return_val_if_fail.

Referenced by ODi_StylesStream_ListenerState::startElement(), and ODi_ContentStream_ListenerState::startElement().

const ODi_Style_Style* ODi_Office_Styles::getDefaultParagraphStyle (  )  const [inline]
const ODi_Style_Style * ODi_Office_Styles::getGraphicStyle ( const gchar *  pStyleName,
bool  bOnContentStream 
) const
ODi_Style_List* ODi_Office_Styles::getList ( const gchar *  pStyleName  )  const [inline]
const ODi_Style_MasterPage* ODi_Office_Styles::getMasterPageStyle ( const gchar *  pStyleName  )  const [inline]
const ODi_NotesConfiguration* ODi_Office_Styles::getNotesConfiguration ( const gchar *  pNoteClass  )  const [inline]
const ODi_Style_PageLayout* ODi_Office_Styles::getPageLayoutStyle ( const gchar *  pStyleName  )  const [inline]

References m_pageLayoutStyles.

const ODi_Style_Style * ODi_Office_Styles::getParagraphStyle ( const gchar *  pStyleName,
bool  bOnContentStream 
) const
const ODi_Style_Style * ODi_Office_Styles::getSectionStyle ( const gchar *  pStyleName,
bool  bOnContentStream 
) const
const ODi_Style_Style * ODi_Office_Styles::getTableCellStyle ( const gchar *  pStyleName,
bool  bOnContentStream 
) const
const ODi_Style_Style * ODi_Office_Styles::getTableColumnStyle ( const gchar *  pStyleName,
bool  bOnContentStream 
) const
const ODi_Style_Style * ODi_Office_Styles::getTableRowStyle ( const gchar *  pStyleName,
bool  bOnContentStream 
) const
const ODi_Style_Style * ODi_Office_Styles::getTableStyle ( const gchar *  pStyleName,
bool  bOnContentStream 
) const
const ODi_Style_Style * ODi_Office_Styles::getTextStyle ( const gchar *  pStyleName,
bool  bOnContentStream 
) const

Member Data Documentation


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