hacked around wxGTK wxStaticText which doesn't derive from wxStaticTextBase (argh): declare and define Wrap() directly in wxStaticText for this port

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35205 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin 2005-08-17 00:01:35 +00:00
parent 98fe5d46bd
commit dec48aa578
2 changed files with 12 additions and 2 deletions

View File

@ -25,11 +25,15 @@ class WXDLLEXPORT wxStaticTextBase : public wxControl
public:
wxStaticTextBase() { }
// in wxGTK wxStaticText doesn't derive from wxStaticTextBase so we have to
// declare this function directly in gtk header
#ifndef __WXGTK__
// wrap the text of the control so that no line is longer than the given
// width (if possible: this function won't break words)
//
// NB: implemented in dlgcmn.cpp for now
void Wrap(int width);
#endif // __WXGTK__
// overriden base virtuals
virtual bool AcceptsFocus() const { return false; }

View File

@ -238,12 +238,18 @@ wxSizer *wxDialogBase::CreateTextSizer(const wxString& message)
return wrapper.CreateSizer(text, widthMax);
}
void wxStaticTextBase::Wrap(int width)
void
#ifdef __WXGTK__
wxStaticText
#else
wxStaticTextBase
#endif
::Wrap(int width)
{
class LabelWrapper : public wxTextWrapper
{
public:
void WrapLabel(wxStaticTextBase *text, int widthMax)
void WrapLabel(wxWindow *text, int widthMax)
{
m_text.clear();
Wrap(text, text->GetLabel(), widthMax);