X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e53b3d16de127872e39bf276f7e616b32f161645..8a31648287be0ef976f133de2786b137f1e98340:/src/osx/stattext_osx.cpp diff --git a/src/osx/stattext_osx.cpp b/src/osx/stattext_osx.cpp index 6cf8127b4e..9c163f8b59 100644 --- a/src/osx/stattext_osx.cpp +++ b/src/osx/stattext_osx.cpp @@ -1,10 +1,10 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: src/mac/carbon/stattext.cpp +// Name: src/osx/stattext_osx.cpp // Purpose: wxStaticText // Author: Stefan Csomor // Modified by: // Created: 04/01/98 -// RCS-ID: $Id: stattext.cpp 54845 2008-07-30 14:52:41Z SC $ +// RCS-ID: $Id$ // Copyright: (c) Stefan Csomor // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -23,15 +23,10 @@ #include "wx/settings.h" #endif // WX_PRECOMP -#include "wx/notebook.h" -#include "wx/tabctrl.h" - #include "wx/osx/private.h" #include -IMPLEMENT_DYNAMIC_CLASS(wxStaticText, wxControl) - bool wxStaticText::Create( wxWindow *parent, wxWindowID id, @@ -40,13 +35,13 @@ bool wxStaticText::Create( wxWindow *parent, const wxSize& size, long style, const wxString& name ) -{ - m_macIsUserPane = false; - +{ + DontCreatePeer(); + if ( !wxControl::Create( parent, id, pos, size, style, wxDefaultValidator, name ) ) return false; - m_peer = wxWidgetImpl::CreateStaticText( this, parent, id, label, pos, size, style, GetExtraStyle() ); + SetPeer(wxWidgetImpl::CreateStaticText( this, parent, id, label, pos, size, style, GetExtraStyle() )); MacPostControlCreate( pos, size ); @@ -60,19 +55,18 @@ void wxStaticText::SetLabel(const wxString& label) m_labelOrig = label; // middle/end ellipsization is handled by the OS: - if ( HasFlag(wxST_ELLIPSIZE_END) || HasFlag(wxST_ELLIPSIZE_MIDDLE) ) + if ( HasFlag(wxST_ELLIPSIZE_END) || HasFlag(wxST_ELLIPSIZE_MIDDLE) +#if wxOSX_USE_COCOA // Cocoa has all three modes + || HasFlag(wxST_ELLIPSIZE_START) +#endif + ) { - // remove markup - wxString str(label); - if (HasFlag(wxST_MARKUP)) - str = RemoveMarkup(label); - - // and leave ellipsization to the OS - DoSetLabel(str); + // leave ellipsization to the OS + DoSetLabel(GetLabel()); } else // not supported natively { - DoSetLabel(GetEllipsizedLabelWithoutMarkup()); + DoSetLabel(GetEllipsizedLabel()); } if ( !(GetWindowStyle() & wxST_NO_AUTORESIZE) && @@ -106,11 +100,24 @@ bool wxStaticText::SetFont(const wxFont& font) void wxStaticText::DoSetLabel(const wxString& label) { - m_labelOrig = label; m_label = RemoveMnemonics(label); - m_peer->SetLabel(m_label , GetFont().GetEncoding() ); + GetPeer()->SetLabel(m_label , GetFont().GetEncoding() ); } +#if wxUSE_MARKUP && wxOSX_USE_COCOA + +bool wxStaticText::DoSetLabelMarkup(const wxString& markup) +{ + if ( !wxStaticTextBase::DoSetLabelMarkup(markup) ) + return false; + + GetPeer()->SetLabelMarkup(markup); + + return true; +} + +#endif // wxUSE_MARKUP && wxOSX_USE_COCOA + wxString wxStaticText::DoGetLabel() const { return m_label;