added support for ellipsization and markup in wxStaticText (modified patch 1629946)

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45199 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2007-04-01 14:13:15 +00:00
parent 9d529fa05c
commit 39bc0347fd
35 changed files with 1387 additions and 280 deletions

View File

@@ -46,11 +46,36 @@ public:
// get the control alignment (left/right/centre, top/bottom/centre)
int GetAlignment() const { return m_windowStyle & wxALIGN_MASK; }
// get just the text of the label, without mnemonic characters ('&')
wxString GetLabelText() const { return GetLabelText(GetLabel()); }
virtual void SetLabel(const wxString& label)
{
m_labelOrig = label;
InvalidateBestSize();
wxWindow::SetLabel(label);
}
virtual wxString GetLabel() const
{
// return the original string, as it was passed to SetLabel()
// (i.e. with wx-style mnemonics)
return m_labelOrig;
}
// static utilities:
// get the string without mnemonic characters ('&')
static wxString GetLabelText(const wxString& label);
// get just the text of the label, without mnemonic characters ('&')
wxString GetLabelText() const { return GetLabelText(GetLabel()); }
// removes the mnemonics characters
static wxString RemoveMnemonics(const wxString& str);
// escapes the mnemonics characters ('&') by doubling them
static wxString EscapeMnemonics(const wxString& str);
// controls by default inherit the colours of their parents, if a
// particular control class doesn't want to do it, it can override
@@ -64,7 +89,6 @@ public:
// if the button was clicked)
virtual void Command(wxCommandEvent &event);
virtual void SetLabel( const wxString &label );
virtual bool SetFont(const wxFont& font);
// wxControl-specific processing after processing the update event
@@ -84,6 +108,9 @@ protected:
// initialize the common fields of wxCommandEvent
void InitCommandEvent(wxCommandEvent& event) const;
// this field contains the label in wx format, i.e. with '&' mnemonics
wxString m_labelOrig;
DECLARE_NO_COPY_CLASS(wxControlBase)
};