// Author: Julian Smart
// Modified by:
// Created: 2005-09-30
-// RCS-ID: $Id$
// Copyright: (c) Julian Smart
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
const wxString& GetBaseStyle() const { return m_baseStyle; }
/// Sets and gets the style
- void SetStyle(const wxTextAttr& style) { m_style = style; }
- const wxTextAttr& GetStyle() const { return m_style; }
- wxTextAttr& GetStyle() { return m_style; }
+ void SetStyle(const wxRichTextAttr& style) { m_style = style; }
+ const wxRichTextAttr& GetStyle() const { return m_style; }
+ wxRichTextAttr& GetStyle() { return m_style; }
/// Gets the style combined with the base style
- virtual wxTextAttr GetStyleMergedWithBase(const wxRichTextStyleSheet* sheet) const;
+ virtual wxRichTextAttr GetStyleMergedWithBase(const wxRichTextStyleSheet* sheet) const;
+
+ /**
+ Returns the definition's properties.
+ */
+ wxRichTextProperties& GetProperties() { return m_properties; }
+
+ /**
+ Returns the definition's properties.
+ */
+ const wxRichTextProperties& GetProperties() const { return m_properties; }
+
+ /**
+ Sets the definition's properties.
+ */
+ void SetProperties(const wxRichTextProperties& props) { m_properties = props; }
protected:
- wxString m_name;
- wxString m_baseStyle;
- wxString m_description;
- wxTextAttr m_style;
+ wxString m_name;
+ wxString m_baseStyle;
+ wxString m_description;
+ wxRichTextAttr m_style;
+ wxRichTextProperties m_properties;
};
/*!
virtual wxRichTextStyleDefinition* Clone() const { return new wxRichTextListStyleDefinition(*this); }
/// Sets/gets the attributes for the given level
- void SetLevelAttributes(int i, const wxTextAttr& attr);
- wxTextAttr* GetLevelAttributes(int i);
- const wxTextAttr* GetLevelAttributes(int i) const;
+ void SetLevelAttributes(int i, const wxRichTextAttr& attr);
+ wxRichTextAttr* GetLevelAttributes(int i);
+ const wxRichTextAttr* GetLevelAttributes(int i) const;
/// Convenience function for setting the major attributes for a list level specification
void SetAttributes(int i, int leftIndent, int leftSubIndent, int bulletStyle, const wxString& bulletSymbol = wxEmptyString);
/// Combine the base and list style with a paragraph style, using the given indent (from which
/// an appropriate level is found)
- wxTextAttr CombineWithParagraphStyle(int indent, const wxTextAttr& paraStyle, wxRichTextStyleSheet* styleSheet = NULL);
+ wxRichTextAttr CombineWithParagraphStyle(int indent, const wxRichTextAttr& paraStyle, wxRichTextStyleSheet* styleSheet = NULL);
/// Combine the base and list style, using the given indent (from which
/// an appropriate level is found)
- wxTextAttr GetCombinedStyle(int indent, wxRichTextStyleSheet* styleSheet = NULL);
+ wxRichTextAttr GetCombinedStyle(int indent, wxRichTextStyleSheet* styleSheet = NULL);
/// Combine the base and list style, using the given level from which
/// an appropriate level is found)
- wxTextAttr GetCombinedStyleForLevel(int level, wxRichTextStyleSheet* styleSheet = NULL);
+ wxRichTextAttr GetCombinedStyleForLevel(int level, wxRichTextStyleSheet* styleSheet = NULL);
/// Gets the number of available levels
int GetLevelCount() const { return 10; }
protected:
/// The styles for each level (up to 10)
- wxTextAttr m_levelStyles[10];
+ wxRichTextAttr m_levelStyles[10];
+};
+
+/*!
+ * wxRichTextBoxStyleDefinition class declaration, for box attributes in objects such as wxRichTextBox.
+ */
+
+class WXDLLIMPEXP_RICHTEXT wxRichTextBoxStyleDefinition: public wxRichTextStyleDefinition
+{
+ DECLARE_DYNAMIC_CLASS(wxRichTextBoxStyleDefinition)
+public:
+
+ /// Copy constructor
+ wxRichTextBoxStyleDefinition(const wxRichTextBoxStyleDefinition& def): wxRichTextStyleDefinition(def) { Copy(def); }
+
+ /// Default constructor
+ wxRichTextBoxStyleDefinition(const wxString& name = wxEmptyString):
+ wxRichTextStyleDefinition(name) {}
+
+ // Destructor
+ virtual ~wxRichTextBoxStyleDefinition() {}
+
+ /// Copies from def
+ void Copy(const wxRichTextBoxStyleDefinition& def);
+
+ /// Assignment operator
+ void operator =(const wxRichTextBoxStyleDefinition& def) { Copy(def); }
+
+ /// Equality operator
+ bool operator ==(const wxRichTextBoxStyleDefinition& def) const;
+
+ /// Clones the object
+ virtual wxRichTextStyleDefinition* Clone() const { return new wxRichTextBoxStyleDefinition(*this); }
+
+protected:
};
/*!
/// Add a definition to the list style list
bool AddListStyle(wxRichTextListStyleDefinition* def);
+ /// Add a definition to the box style list
+ bool AddBoxStyle(wxRichTextBoxStyleDefinition* def);
+
/// Add a definition to the appropriate style list
bool AddStyle(wxRichTextStyleDefinition* def);
/// Remove a list style
bool RemoveListStyle(wxRichTextStyleDefinition* def, bool deleteStyle = false) { return RemoveStyle(m_listStyleDefinitions, def, deleteStyle); }
+ /// Remove a box style
+ bool RemoveBoxStyle(wxRichTextStyleDefinition* def, bool deleteStyle = false) { return RemoveStyle(m_boxStyleDefinitions, def, deleteStyle); }
+
/// Remove a style
bool RemoveStyle(wxRichTextStyleDefinition* def, bool deleteStyle = false);
/// Find a list definition by name
wxRichTextListStyleDefinition* FindListStyle(const wxString& name, bool recurse = true) const { return (wxRichTextListStyleDefinition*) FindStyle(m_listStyleDefinitions, name, recurse); }
+ /// Find a box definition by name
+ wxRichTextBoxStyleDefinition* FindBoxStyle(const wxString& name, bool recurse = true) const { return (wxRichTextBoxStyleDefinition*) FindStyle(m_boxStyleDefinitions, name, recurse); }
+
/// Find any definition by name
wxRichTextStyleDefinition* FindStyle(const wxString& name, bool recurse = true) const;
/// Return the number of list styles
size_t GetListStyleCount() const { return m_listStyleDefinitions.GetCount(); }
+ /// Return the number of box styles
+ size_t GetBoxStyleCount() const { return m_boxStyleDefinitions.GetCount(); }
+
/// Return the nth character style
wxRichTextCharacterStyleDefinition* GetCharacterStyle(size_t n) const { return (wxRichTextCharacterStyleDefinition*) m_characterStyleDefinitions.Item(n)->GetData(); }
/// Return the nth list style
wxRichTextListStyleDefinition* GetListStyle(size_t n) const { return (wxRichTextListStyleDefinition*) m_listStyleDefinitions.Item(n)->GetData(); }
+ /// Return the nth box style
+ wxRichTextBoxStyleDefinition* GetBoxStyle(size_t n) const { return (wxRichTextBoxStyleDefinition*) m_boxStyleDefinitions.Item(n)->GetData(); }
+
/// Delete all styles
void DeleteStyles();
void SetDescription(const wxString& descr) { m_description = descr; }
const wxString& GetDescription() const { return m_description; }
+ /**
+ Returns the sheet's properties.
+ */
+ wxRichTextProperties& GetProperties() { return m_properties; }
+
+ /**
+ Returns the sheet's properties.
+ */
+ const wxRichTextProperties& GetProperties() const { return m_properties; }
+
+ /**
+ Sets the sheet's properties.
+ */
+ void SetProperties(const wxRichTextProperties& props) { m_properties = props; }
+
/// Implementation
/// Add a definition to one of the style lists
wxList m_characterStyleDefinitions;
wxList m_paragraphStyleDefinitions;
wxList m_listStyleDefinitions;
+ wxList m_boxStyleDefinitions;
wxRichTextStyleSheet* m_previousSheet;
wxRichTextStyleSheet* m_nextSheet;
+ wxRichTextProperties m_properties;
};
#if wxUSE_HTML
wxRICHTEXT_STYLE_ALL,
wxRICHTEXT_STYLE_PARAGRAPH,
wxRICHTEXT_STYLE_CHARACTER,
- wxRICHTEXT_STYLE_LIST
+ wxRICHTEXT_STYLE_LIST,
+ wxRICHTEXT_STYLE_BOX
};
wxRichTextStyleListBox()