kspread
kspread_style_manager.h00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef __kspread_style_manager__
00021 #define __kspread_style_manager__
00022
00023 #include <qmap.h>
00024
00025 #include <koffice_export.h>
00026
00027 class QDomElement;
00028 class QDomDocument;
00029 class QStringList;
00030
00031 class KoGenStyles;
00032 class KoOasisStyles;
00033
00034 namespace KSpread
00035 {
00036 class CustomStyle;
00037 class Sheet;
00038 class StyleDlg;
00039 class View;
00040
00041 class KSPREAD_EXPORT StyleManager
00042 {
00043 public:
00044 StyleManager();
00045 ~StyleManager();
00046
00047 QDomElement save( QDomDocument & doc );
00048 bool loadXML( QDomElement const & styles );
00049
00050 void saveOasis( KoGenStyles &mainStyles );
00051 void loadOasisStyleTemplate( KoOasisStyles& oasisStyles );
00052
00053 CustomStyle * defaultStyle() const { return m_defaultStyle; }
00054 CustomStyle * style( QString const & name ) const;
00055
00056 bool checkCircle( QString const & name, QString const & parent );
00057 bool validateStyleName( QString const & name, CustomStyle * style );
00058 void changeName( QString const & oldName, QString const & newName );
00059
00060 void takeStyle( CustomStyle * style );
00061 void createBuiltinStyles();
00062
00063 QStringList styleNames() const;
00064 int count() const { return m_styles.count(); }
00065
00075 QDict<Style> loadOasisAutoStyles( KoOasisStyles& oasisStyles );
00076
00086 void releaseUnusedAutoStyles( QDict<Style> autoStyles );
00087
00088 private:
00089 friend class StyleDlg;
00090 friend class View;
00091 class Styles : public QMap<QString, CustomStyle *> {};
00092
00093 CustomStyle * m_defaultStyle;
00094 Styles m_styles;
00095
00096
00097
00098 Styles m_oasisStyles;
00099 };
00100
00101 }
00102
00103 #endif
|