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>
Public Member Functions | |
ODi_Office_Styles () | |
~ODi_Office_Styles () | |
Destructor. | |
ODi_Style_Style * | addStyle (const gchar **ppAtts, ODi_ElementStack &rElementStack, ODi_Abi_Data &rAbiData) |
Adds a <style:style> (ODi_Style_Style class). | |
ODi_Style_PageLayout * | addPageLayout (const gchar **ppAtts, ODi_ElementStack &rElementStack, ODi_Abi_Data &rAbiData) |
Adds a <style:page-layout> (ODi_Style_PageLayout class). | |
ODi_Style_MasterPage * | addMasterPage (const gchar **ppAtts, PD_Document *pDocument, ODi_ElementStack &rElementStack) |
Adds a <style:master-page> (ODi_Style_MasterPage class). | |
ODi_Style_Style * | addDefaultStyle (const gchar **ppAtts, ODi_ElementStack &rElementStack, ODi_Abi_Data &rAbiData) |
ODi_Style_List * | addList (const gchar **ppAtts, ODi_ElementStack &rElementStack) |
Adds a list style (<text:list-style>). | |
ODi_NotesConfiguration * | addNotesConfiguration (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_Style * | getTextStyle (const gchar *pStyleName, bool bOnContentStream) const |
const ODi_Style_Style * | getParagraphStyle (const gchar *pStyleName, bool bOnContentStream) const |
Returns the specified paragraph style. | |
const ODi_Style_Style * | getSectionStyle (const gchar *pStyleName, bool bOnContentStream) const |
const ODi_Style_Style * | getGraphicStyle (const gchar *pStyleName, bool bOnContentStream) const |
const ODi_Style_Style * | getTableStyle (const gchar *pStyleName, bool bOnContentStream) const |
const ODi_Style_Style * | getTableColumnStyle (const gchar *pStyleName, bool bOnContentStream) const |
const ODi_Style_Style * | getTableRowStyle (const gchar *pStyleName, bool bOnContentStream) const |
const ODi_Style_Style * | getTableCellStyle (const gchar *pStyleName, bool bOnContentStream) const |
const ODi_Style_Style * | getDefaultParagraphStyle () const |
const ODi_Style_PageLayout * | getPageLayoutStyle (const gchar *pStyleName) const |
const ODi_Style_MasterPage * | getMasterPageStyle (const gchar *pStyleName) const |
ODi_Style_List * | getList (const gchar *pStyleName) const |
const ODi_NotesConfiguration * | getNotesConfiguration (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 |
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
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] |
ODi_Office_Styles::ODi_Office_Styles | ( | ) | [inline] |
ODi_Office_Styles::~ODi_Office_Styles | ( | ) |
Destructor.
References m_listStyles, m_masterPageStyles, m_notesConfigurations, m_pageLayoutStyles, and UT_map_delete_all_second().
void ODi_Office_Styles::_buildAbiPropsAttrString | ( | ODi_FontFaceDecls & | rFontFaceDecls | ) | [private] |
References ODi_Style_Style_Family::buildAbiPropsAttrString(), m_listStyles, m_paragraphStyleStyles, m_sectionStyleStyles, m_tableStyleStyles, and m_textStyleStyles.
Referenced by addedAllStyles().
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] |
Link list level styles to the text styles that they refer to.
References ODi_Style_List::getLevelCount(), ODi_Style_List::getLevelStyle(), getTextStyle(), ODi_ListLevelStyle::getTextStyleName(), m_listStyles, ODi_ListLevelStyle::setTextStyle(), and UT_continue_if_fail.
Referenced by _linkStyles().
void ODi_Office_Styles::_linkMasterStyles | ( | ) | [private] |
Link the master styles to their page layouts.
References ODi_Style_MasterPage::getLayoutName(), m_masterPageStyles, m_pageLayoutStyles, and ODi_Style_MasterPage::setLayoutStylePointer().
Referenced by _linkStyles().
void ODi_Office_Styles::_linkStyles | ( | ) | [private] |
Links every style with its parent and next ones.
References _linkListStyles(), _linkMasterStyles(), ODi_Style_Style_Family::linkStyles(), m_graphicStyleStyles, m_paragraphStyleStyles, m_sectionStyleStyles, m_tableCellStyleStyles, m_tableColumnStyleStyles, m_tableRowStyleStyles, m_tableStyleStyles, and m_textStyleStyles.
Referenced by addedAllStyles().
ODi_Style_Style * ODi_Office_Styles::addDefaultStyle | ( | const gchar ** | ppAtts, | |
ODi_ElementStack & | rElementStack, | |||
ODi_Abi_Data & | rAbiData | |||
) |
References ODi_Style_Style_Family::addDefaultStyle(), gchar, m_paragraphStyleStyles, m_tableStyleStyles, and UT_getAttribute().
Referenced by ODi_StylesStream_ListenerState::startElement().
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 | |||
) |
Adds a list style (<text:list-style>).
References gchar, m_listStyles, UT_getAttribute(), and xxx_UT_DEBUGMSG.
Referenced by ODi_StylesStream_ListenerState::startElement(), and ODi_ContentStream_ListenerState::startElement().
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).
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).
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).
bAutomatic | true if the style is an OpenDocument "automatic style". |
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 |
References ODi_Style_Style_Family::getStyle(), and m_graphicStyleStyles.
Referenced by ODi_Frame_ListenerState::_drawImage(), ODi_Frame_ListenerState::_drawObject(), ODi_Frame_ListenerState::_drawTextBox(), ODi_Frame_ListenerState::_getFrameProperties(), and ODi_TextContent_ListenerState::startElement().
ODi_Style_List* ODi_Office_Styles::getList | ( | const gchar * | pStyleName | ) | const [inline] |
References m_listStyles.
Referenced by ODi_TextContent_ListenerState::startElement().
const ODi_Style_MasterPage* ODi_Office_Styles::getMasterPageStyle | ( | const gchar * | pStyleName | ) | const [inline] |
References m_masterPageStyles.
Referenced by ODi_TextContent_ListenerState::_openAbiSection().
const ODi_NotesConfiguration* ODi_Office_Styles::getNotesConfiguration | ( | const gchar * | pNoteClass | ) | const [inline] |
References m_notesConfigurations.
Referenced by ODi_TextContent_ListenerState::startElement().
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 |
Returns the specified paragraph style.
pStyleName | The name of the style wanted. |
References ODi_Style_Style_Family::getStyle(), and m_paragraphStyleStyles.
Referenced by ODi_TextContent_ListenerState::_endParagraphElement(), ODi_TextContent_ListenerState::_startParagraphElement(), ODi_TextContent_ListenerState::startElement(), and ODi_TableOfContent_ListenerState::startElement().
const ODi_Style_Style * ODi_Office_Styles::getSectionStyle | ( | const gchar * | pStyleName, | |
bool | bOnContentStream | |||
) | const |
References ODi_Style_Style_Family::getStyle(), and m_sectionStyleStyles.
Referenced by ODi_TextContent_ListenerState::_insureInSection(), and ODi_TextContent_ListenerState::startElement().
const ODi_Style_Style * ODi_Office_Styles::getTableCellStyle | ( | const gchar * | pStyleName, | |
bool | bOnContentStream | |||
) | const |
References ODi_Style_Style_Family::getStyle(), and m_tableCellStyleStyles.
Referenced by ODi_Table_ListenerState::_parseCellStart().
const ODi_Style_Style * ODi_Office_Styles::getTableColumnStyle | ( | const gchar * | pStyleName, | |
bool | bOnContentStream | |||
) | const |
References ODi_Style_Style_Family::getStyle(), and m_tableColumnStyleStyles.
Referenced by ODi_Table_ListenerState::_parseColumnStart().
const ODi_Style_Style * ODi_Office_Styles::getTableRowStyle | ( | const gchar * | pStyleName, | |
bool | bOnContentStream | |||
) | const |
References ODi_Style_Style_Family::getStyle(), and m_tableRowStyleStyles.
Referenced by ODi_Table_ListenerState::_parseRowStart().
const ODi_Style_Style * ODi_Office_Styles::getTableStyle | ( | const gchar * | pStyleName, | |
bool | bOnContentStream | |||
) | const |
References ODi_Style_Style_Family::getStyle(), and m_tableStyleStyles.
Referenced by ODi_Table_ListenerState::_parseTableStart().
const ODi_Style_Style * ODi_Office_Styles::getTextStyle | ( | const gchar * | pStyleName, | |
bool | bOnContentStream | |||
) | const |
Referenced by _linkStyles(), addStyle(), and getGraphicStyle().
ListMap ODi_Office_Styles::m_listStyles [private] |
Referenced by _buildAbiPropsAttrString(), _defineAbiStyles(), _linkListStyles(), addList(), getList(), and ~ODi_Office_Styles().
Referenced by _defineAbiStyles(), _linkMasterStyles(), addMasterPage(), getMasterPageStyle(), and ~ODi_Office_Styles().
Referenced by addNotesConfiguration(), getNotesConfiguration(), and ~ODi_Office_Styles().
Referenced by _linkMasterStyles(), addPageLayout(), getPageLayoutStyle(), and ~ODi_Office_Styles().
Referenced by _buildAbiPropsAttrString(), _linkStyles(), addStyle(), and getSectionStyle().
Referenced by _linkStyles(), addStyle(), and getTableCellStyle().
Referenced by _linkStyles(), addStyle(), and getTableColumnStyle().
Referenced by _linkStyles(), addStyle(), and getTableRowStyle().
Referenced by _buildAbiPropsAttrString(), _linkStyles(), addDefaultStyle(), addStyle(), and getTableStyle().
Referenced by _buildAbiPropsAttrString(), _defineAbiStyles(), _fixStyles(), _linkStyles(), addStyle(), and getTextStyle().