};
// Flags to indicate which attributes are being applied
-
-#define wxTEXT_ATTR_TEXT_COLOUR 0x00000001
-#define wxTEXT_ATTR_BACKGROUND_COLOUR 0x00000002
-#define wxTEXT_ATTR_FONT_FACE 0x00000004
-#define wxTEXT_ATTR_FONT_SIZE 0x00000008
-#define wxTEXT_ATTR_FONT_WEIGHT 0x00000010
-#define wxTEXT_ATTR_FONT_ITALIC 0x00000020
-#define wxTEXT_ATTR_FONT_UNDERLINE 0x00000040
-#define wxTEXT_ATTR_FONT_ENCODING 0x02000000
-#define wxTEXT_ATTR_FONT \
- ( wxTEXT_ATTR_FONT_FACE | wxTEXT_ATTR_FONT_SIZE | wxTEXT_ATTR_FONT_WEIGHT | \
- wxTEXT_ATTR_FONT_ITALIC | wxTEXT_ATTR_FONT_UNDERLINE | wxTEXT_ATTR_FONT_ENCODING )
-#define wxTEXT_ATTR_ALIGNMENT 0x00000080
-#define wxTEXT_ATTR_LEFT_INDENT 0x00000100
-#define wxTEXT_ATTR_RIGHT_INDENT 0x00000200
-#define wxTEXT_ATTR_TABS 0x00000400
-
-#define wxTEXT_ATTR_PARA_SPACING_AFTER 0x00000800
-#define wxTEXT_ATTR_PARA_SPACING_BEFORE 0x00001000
-#define wxTEXT_ATTR_LINE_SPACING 0x00002000
-#define wxTEXT_ATTR_CHARACTER_STYLE_NAME 0x00004000
-#define wxTEXT_ATTR_PARAGRAPH_STYLE_NAME 0x00008000
-#define wxTEXT_ATTR_LIST_STYLE_NAME 0x00010000
-#define wxTEXT_ATTR_BULLET_STYLE 0x00020000
-#define wxTEXT_ATTR_BULLET_NUMBER 0x00040000
-#define wxTEXT_ATTR_BULLET_TEXT 0x00080000
-#define wxTEXT_ATTR_BULLET_NAME 0x00100000
-#define wxTEXT_ATTR_URL 0x00200000
-#define wxTEXT_ATTR_PAGE_BREAK 0x00400000
-#define wxTEXT_ATTR_EFFECTS 0x00800000
-#define wxTEXT_ATTR_OUTLINE_LEVEL 0x01000000
-
-/*!
- * Character and paragraph combined styles
- */
-
-#define wxTEXT_ATTR_CHARACTER (wxTEXT_ATTR_FONT|wxTEXT_ATTR_FONT_ENCODING|wxTEXT_ATTR_EFFECTS|wxTEXT_ATTR_BACKGROUND_COLOUR|wxTEXT_ATTR_TEXT_COLOUR|wxTEXT_ATTR_CHARACTER_STYLE_NAME|wxTEXT_ATTR_URL)
-
-#define wxTEXT_ATTR_PARAGRAPH (wxTEXT_ATTR_ALIGNMENT|wxTEXT_ATTR_LEFT_INDENT|wxTEXT_ATTR_RIGHT_INDENT|wxTEXT_ATTR_TABS|\
- wxTEXT_ATTR_PARA_SPACING_BEFORE|wxTEXT_ATTR_PARA_SPACING_AFTER|wxTEXT_ATTR_LINE_SPACING|\
- wxTEXT_ATTR_BULLET_STYLE|wxTEXT_ATTR_BULLET_NUMBER|wxTEXT_ATTR_BULLET_TEXT|wxTEXT_ATTR_BULLET_NAME|\
- wxTEXT_ATTR_PARAGRAPH_STYLE_NAME|wxTEXT_ATTR_LIST_STYLE_NAME|wxTEXT_ATTR_OUTLINE_LEVEL)
-
-#define wxTEXT_ATTR_ALL (wxTEXT_ATTR_CHARACTER|wxTEXT_ATTR_PARAGRAPH)
+enum wxTextAttrFlags
+{
+ wxTEXT_ATTR_TEXT_COLOUR = 0x00000001,
+ wxTEXT_ATTR_BACKGROUND_COLOUR = 0x00000002,
+ wxTEXT_ATTR_FONT_FACE = 0x00000004,
+ wxTEXT_ATTR_FONT_SIZE = 0x00000008,
+ wxTEXT_ATTR_FONT_WEIGHT = 0x00000010,
+ wxTEXT_ATTR_FONT_ITALIC = 0x00000020,
+ wxTEXT_ATTR_FONT_UNDERLINE = 0x00000040,
+ wxTEXT_ATTR_FONT_ENCODING = 0x02000000,
+ wxTEXT_ATTR_FONT = \
+ ( wxTEXT_ATTR_FONT_FACE | wxTEXT_ATTR_FONT_SIZE | wxTEXT_ATTR_FONT_WEIGHT | \
+ wxTEXT_ATTR_FONT_ITALIC | wxTEXT_ATTR_FONT_UNDERLINE | wxTEXT_ATTR_FONT_ENCODING ),
+
+ wxTEXT_ATTR_ALIGNMENT = 0x00000080,
+ wxTEXT_ATTR_LEFT_INDENT = 0x00000100,
+ wxTEXT_ATTR_RIGHT_INDENT = 0x00000200,
+ wxTEXT_ATTR_TABS = 0x00000400,
+
+ wxTEXT_ATTR_PARA_SPACING_AFTER = 0x00000800,
+ wxTEXT_ATTR_PARA_SPACING_BEFORE = 0x00001000,
+ wxTEXT_ATTR_LINE_SPACING = 0x00002000,
+ wxTEXT_ATTR_CHARACTER_STYLE_NAME = 0x00004000,
+ wxTEXT_ATTR_PARAGRAPH_STYLE_NAME = 0x00008000,
+ wxTEXT_ATTR_LIST_STYLE_NAME = 0x00010000,
+ wxTEXT_ATTR_BULLET_STYLE = 0x00020000,
+ wxTEXT_ATTR_BULLET_NUMBER = 0x00040000,
+ wxTEXT_ATTR_BULLET_TEXT = 0x00080000,
+ wxTEXT_ATTR_BULLET_NAME = 0x00100000,
+ wxTEXT_ATTR_URL = 0x00200000,
+ wxTEXT_ATTR_PAGE_BREAK = 0x00400000,
+ wxTEXT_ATTR_EFFECTS = 0x00800000,
+ wxTEXT_ATTR_OUTLINE_LEVEL = 0x01000000,
+
+ /*!
+ * Character and paragraph combined styles
+ */
+
+ wxTEXT_ATTR_CHARACTER = \
+ (wxTEXT_ATTR_FONT|wxTEXT_ATTR_FONT_ENCODING|wxTEXT_ATTR_EFFECTS| \
+ wxTEXT_ATTR_BACKGROUND_COLOUR|wxTEXT_ATTR_TEXT_COLOUR|wxTEXT_ATTR_CHARACTER_STYLE_NAME|wxTEXT_ATTR_URL),
+
+ wxTEXT_ATTR_PARAGRAPH = \
+ (wxTEXT_ATTR_ALIGNMENT|wxTEXT_ATTR_LEFT_INDENT|wxTEXT_ATTR_RIGHT_INDENT|wxTEXT_ATTR_TABS|\
+ wxTEXT_ATTR_PARA_SPACING_BEFORE|wxTEXT_ATTR_PARA_SPACING_AFTER|wxTEXT_ATTR_LINE_SPACING|\
+ wxTEXT_ATTR_BULLET_STYLE|wxTEXT_ATTR_BULLET_NUMBER|wxTEXT_ATTR_BULLET_TEXT|wxTEXT_ATTR_BULLET_NAME|\
+ wxTEXT_ATTR_PARAGRAPH_STYLE_NAME|wxTEXT_ATTR_LIST_STYLE_NAME|wxTEXT_ATTR_OUTLINE_LEVEL),
+
+ wxTEXT_ATTR_ALL = (wxTEXT_ATTR_CHARACTER|wxTEXT_ATTR_PARAGRAPH)
+};
/*!
* Styles for wxTextAttr::SetBulletStyle
*/
-
-#define wxTEXT_ATTR_BULLET_STYLE_NONE 0x00000000
-#define wxTEXT_ATTR_BULLET_STYLE_ARABIC 0x00000001
-#define wxTEXT_ATTR_BULLET_STYLE_LETTERS_UPPER 0x00000002
-#define wxTEXT_ATTR_BULLET_STYLE_LETTERS_LOWER 0x00000004
-#define wxTEXT_ATTR_BULLET_STYLE_ROMAN_UPPER 0x00000008
-#define wxTEXT_ATTR_BULLET_STYLE_ROMAN_LOWER 0x00000010
-#define wxTEXT_ATTR_BULLET_STYLE_SYMBOL 0x00000020
-#define wxTEXT_ATTR_BULLET_STYLE_BITMAP 0x00000040
-#define wxTEXT_ATTR_BULLET_STYLE_PARENTHESES 0x00000080
-#define wxTEXT_ATTR_BULLET_STYLE_PERIOD 0x00000100
-#define wxTEXT_ATTR_BULLET_STYLE_STANDARD 0x00000200
-#define wxTEXT_ATTR_BULLET_STYLE_RIGHT_PARENTHESIS 0x00000400
-#define wxTEXT_ATTR_BULLET_STYLE_OUTLINE 0x00000800
-
-#define wxTEXT_ATTR_BULLET_STYLE_ALIGN_LEFT 0x00000000
-#define wxTEXT_ATTR_BULLET_STYLE_ALIGN_RIGHT 0x00001000
-#define wxTEXT_ATTR_BULLET_STYLE_ALIGN_CENTRE 0x00002000
+enum wxTextAttrBulletStyle
+{
+ wxTEXT_ATTR_BULLET_STYLE_NONE = 0x00000000,
+ wxTEXT_ATTR_BULLET_STYLE_ARABIC = 0x00000001,
+ wxTEXT_ATTR_BULLET_STYLE_LETTERS_UPPER = 0x00000002,
+ wxTEXT_ATTR_BULLET_STYLE_LETTERS_LOWER = 0x00000004,
+ wxTEXT_ATTR_BULLET_STYLE_ROMAN_UPPER = 0x00000008,
+ wxTEXT_ATTR_BULLET_STYLE_ROMAN_LOWER = 0x00000010,
+ wxTEXT_ATTR_BULLET_STYLE_SYMBOL = 0x00000020,
+ wxTEXT_ATTR_BULLET_STYLE_BITMAP = 0x00000040,
+ wxTEXT_ATTR_BULLET_STYLE_PARENTHESES = 0x00000080,
+ wxTEXT_ATTR_BULLET_STYLE_PERIOD = 0x00000100,
+ wxTEXT_ATTR_BULLET_STYLE_STANDARD = 0x00000200,
+ wxTEXT_ATTR_BULLET_STYLE_RIGHT_PARENTHESIS = 0x00000400,
+ wxTEXT_ATTR_BULLET_STYLE_OUTLINE = 0x00000800,
+
+ wxTEXT_ATTR_BULLET_STYLE_ALIGN_LEFT = 0x00000000,
+ wxTEXT_ATTR_BULLET_STYLE_ALIGN_RIGHT = 0x00001000,
+ wxTEXT_ATTR_BULLET_STYLE_ALIGN_CENTRE = 0x00002000
+};
/*!
* Styles for wxTextAttr::SetTextEffects
*/
-
-#define wxTEXT_ATTR_EFFECT_NONE 0x00000000
-#define wxTEXT_ATTR_EFFECT_CAPITALS 0x00000001
-#define wxTEXT_ATTR_EFFECT_SMALL_CAPITALS 0x00000002
-#define wxTEXT_ATTR_EFFECT_STRIKETHROUGH 0x00000004
-#define wxTEXT_ATTR_EFFECT_DOUBLE_STRIKETHROUGH 0x00000008
-#define wxTEXT_ATTR_EFFECT_SHADOW 0x00000010
-#define wxTEXT_ATTR_EFFECT_EMBOSS 0x00000020
-#define wxTEXT_ATTR_EFFECT_OUTLINE 0x00000040
-#define wxTEXT_ATTR_EFFECT_ENGRAVE 0x00000080
-#define wxTEXT_ATTR_EFFECT_SUPERSCRIPT 0x00000100
-#define wxTEXT_ATTR_EFFECT_SUBSCRIPT 0x00000200
+enum wxTextAttrEffects
+{
+ wxTEXT_ATTR_EFFECT_NONE = 0x00000000,
+ wxTEXT_ATTR_EFFECT_CAPITALS = 0x00000001,
+ wxTEXT_ATTR_EFFECT_SMALL_CAPITALS = 0x00000002,
+ wxTEXT_ATTR_EFFECT_STRIKETHROUGH = 0x00000004,
+ wxTEXT_ATTR_EFFECT_DOUBLE_STRIKETHROUGH = 0x00000008,
+ wxTEXT_ATTR_EFFECT_SHADOW = 0x00000010,
+ wxTEXT_ATTR_EFFECT_EMBOSS = 0x00000020,
+ wxTEXT_ATTR_EFFECT_OUTLINE = 0x00000040,
+ wxTEXT_ATTR_EFFECT_ENGRAVE = 0x00000080,
+ wxTEXT_ATTR_EFFECT_SUPERSCRIPT = 0x00000100,
+ wxTEXT_ATTR_EFFECT_SUBSCRIPT = 0x00000200
+};
/*!
* Line spacing values
*/
-
-#define wxTEXT_ATTR_LINE_SPACING_NORMAL 10
-#define wxTEXT_ATTR_LINE_SPACING_HALF 15
-#define wxTEXT_ATTR_LINE_SPACING_TWICE 20
+enum wxTextAttrLineSpacing
+{
+ wxTEXT_ATTR_LINE_SPACING_NORMAL = 10,
+ wxTEXT_ATTR_LINE_SPACING_HALF = 15,
+ wxTEXT_ATTR_LINE_SPACING_TWICE = 20
+};
// ----------------------------------------------------------------------------
// wxTextAttr: a structure containing the visual attributes of a text
const wxString& GetListStyleName() const { return m_listStyleName; }
int GetParagraphSpacingAfter() const { return m_paragraphSpacingAfter; }
int GetParagraphSpacingBefore() const { return m_paragraphSpacingBefore; }
+
+ // TODO: should return the relative wxTextAttr* enumeration values
int GetLineSpacing() const { return m_lineSpacing; }
int GetBulletStyle() const { return m_bulletStyle; }
int GetBulletNumber() const { return m_bulletNumber; }
// wxTextCtrl events
// ----------------------------------------------------------------------------
-extern WXDLLIMPEXP_CORE const wxEventType wxEVT_COMMAND_TEXT_UPDATED;
-extern WXDLLIMPEXP_CORE const wxEventType wxEVT_COMMAND_TEXT_ENTER;
-extern WXDLLIMPEXP_CORE const wxEventType wxEVT_COMMAND_TEXT_URL;
-extern WXDLLIMPEXP_CORE const wxEventType wxEVT_COMMAND_TEXT_MAXLEN;
+class WXDLLIMPEXP_FWD_CORE wxTextUrlEvent;
+
+wxDECLARE_EXPORTED_EVENT(WXDLLIMPEXP_CORE, wxEVT_COMMAND_TEXT_UPDATED, wxCommandEvent)
+wxDECLARE_EXPORTED_EVENT(WXDLLIMPEXP_CORE, wxEVT_COMMAND_TEXT_ENTER, wxCommandEvent)
+wxDECLARE_EXPORTED_EVENT(WXDLLIMPEXP_CORE, wxEVT_COMMAND_TEXT_URL, wxTextUrlEvent)
+wxDECLARE_EXPORTED_EVENT(WXDLLIMPEXP_CORE, wxEVT_COMMAND_TEXT_MAXLEN, wxCommandEvent)
class WXDLLIMPEXP_CORE wxTextUrlEvent : public wxCommandEvent
{
public:
wxTextUrlEvent(int winid, const wxMouseEvent& evtMouse,
long start, long end)
- : wxCommandEvent(wxEVT_COMMAND_TEXT_URL, winid)
- , m_evtMouse(evtMouse), m_start(start), m_end(end)
+ : wxCommandEvent(wxEVT_COMMAND_TEXT_URL, winid),
+ m_evtMouse(evtMouse), m_start(start), m_end(end)
{ }
+ wxTextUrlEvent(const wxTextUrlEvent& event)
+ : wxCommandEvent(event),
+ m_evtMouse(event.m_evtMouse),
+ m_start(event.m_start),
+ m_end(event.m_end) { }
// get the mouse event which happend over the URL
const wxMouseEvent& GetMouseEvent() const { return m_evtMouse; }
// get the end of the URL
long GetURLEnd() const { return m_end; }
+ virtual wxEvent *Clone() const { return new wxTextUrlEvent(*this); }
+
protected:
// the corresponding mouse event
wxMouseEvent m_evtMouse;
m_end;
private:
- DECLARE_DYNAMIC_CLASS_NO_COPY(wxTextUrlEvent)
+ DECLARE_DYNAMIC_CLASS_NO_ASSIGN(wxTextUrlEvent)
public:
// for wxWin RTTI only, don't use
#define wxTextEventHandler(func) wxCommandEventHandler(func)
#define wxTextUrlEventHandler(func) \
- (wxObjectEventFunction)(wxEventFunction)wxStaticCastEvent(wxTextUrlEventFunction, &func)
+ wxEVENT_HANDLER_CAST(wxTextUrlEventFunction, func)
#define wx__DECLARE_TEXTEVT(evt, id, fn) \
wx__DECLARE_EVT1(wxEVT_COMMAND_TEXT_ ## evt, id, wxTextEventHandler(fn))