+ wxControlBase() { }
+
+ virtual ~wxControlBase();
+
+ // Create() function adds the validator parameter
+ bool Create(wxWindow *parent, wxWindowID id,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ long style = 0,
+ const wxValidator& validator = wxDefaultValidator,
+ const wxString& name = wxControlNameStr);
+
+ // get the control alignment (left/right/centre, top/bottom/centre)
+ int GetAlignment() const { return m_windowStyle & wxALIGN_MASK; }
+
+ // set label with mnemonics
+ virtual void SetLabel(const wxString& label)
+ {
+ m_labelOrig = label;
+
+ InvalidateBestSize();
+
+ wxWindow::SetLabel(label);
+ }
+
+ // return the original string, as it was passed to SetLabel()
+ // (i.e. with wx-style mnemonics)
+ virtual wxString GetLabel() const { return m_labelOrig; }
+
+ // set label text (mnemonics will be escaped)
+ virtual void SetLabelText(const wxString& text)
+ {
+ SetLabel(EscapeMnemonics(text));
+ }
+
+ // get just the text of the label, without mnemonic characters ('&')
+ virtual wxString GetLabelText() const { return GetLabelText(GetLabel()); }
+
+
+#if wxUSE_MARKUP
+ // Set the label with markup (and mnemonics). Markup is a simple subset of
+ // HTML with tags such as <b>, <i> and <span>. By default it is not
+ // supported i.e. all the markup is simply stripped and SetLabel() is
+ // called but some controls in some ports do support this already and in
+ // the future most of them should.
+ //
+ // Notice that, being HTML-like, markup also supports XML entities so '<'
+ // should be encoded as "<" and so on, a bare '<' in the input will
+ // likely result in an error. As an exception, a bare '&' is allowed and
+ // indicates that the next character is a mnemonic. To insert a literal '&'
+ // in the control you need to use "&" in the input string.
+ //
+ // Returns true if the label was set, even if the markup in it was ignored.
+ // False is only returned if we failed to parse the label.
+ bool SetLabelMarkup(const wxString& markup)
+ {
+ return DoSetLabelMarkup(markup);
+ }
+#endif // wxUSE_MARKUP
+
+
+ // controls by default inherit the colours of their parents, if a
+ // particular control class doesn't want to do it, it can override
+ // ShouldInheritColours() to return false
+ virtual bool ShouldInheritColours() const { return true; }
+
+
+ // WARNING: this doesn't work for all controls nor all platforms!
+ //