X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/1169a91932273bc84c23ed9dbd0a2da064d59d66..aa83b6fc90e78371fcc2fb69de77ab7b90293dd1:/src/univ/control.cpp?ds=sidebyside diff --git a/src/univ/control.cpp b/src/univ/control.cpp index 9c7c0c7bfc..fa8ae7b384 100644 --- a/src/univ/control.cpp +++ b/src/univ/control.cpp @@ -13,10 +13,6 @@ // declarations // ============================================================================ -#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) - #pragma implementation "control.h" -#endif - // ---------------------------------------------------------------------------- // headers // ---------------------------------------------------------------------------- @@ -29,9 +25,10 @@ #if wxUSE_CONTROLS +#include "wx/control.h" + #ifndef WX_PRECOMP #include "wx/app.h" - #include "wx/control.h" #include "wx/dcclient.h" #endif @@ -55,29 +52,9 @@ WX_FORWARD_TO_INPUT_CONSUMER(wxControl) // creation // ---------------------------------------------------------------------------- -wxControl::wxControl() -{ - Init(); -} - -wxControl::wxControl(wxWindow *parent, - wxWindowID id, - const wxPoint& pos, - const wxSize& size, - long style, - const wxValidator& validator, - const wxString& name) -{ - Init(); - - Create(parent, id, pos, size, style, validator, name); -} - void wxControl::Init() { m_indexAccel = -1; - - m_inputHandler = (wxInputHandler *)NULL; } bool wxControl::Create(wxWindow *parent, @@ -91,60 +68,25 @@ bool wxControl::Create(wxWindow *parent, if ( !wxControlBase::Create(parent, id, pos, size, style, validator, name) ) { // underlying window creation failed? - return FALSE; + return false; } - return TRUE; + return true; } // ---------------------------------------------------------------------------- // mnemonics handling // ---------------------------------------------------------------------------- -/* static */ -int wxControl::FindAccelIndex(const wxString& label, wxString *labelOnly) +void wxControl::SetLabel(const wxString& label) { - // the character following MNEMONIC_PREFIX is the accelerator for this - // control unless it is MNEMONIC_PREFIX too - this allows to insert - // literal MNEMONIC_PREFIX chars into the label - static const wxChar MNEMONIC_PREFIX = _T('&'); - - if ( labelOnly ) - { - labelOnly->Empty(); - labelOnly->Alloc(label.length()); - } + // save original label + wxControlBase::SetLabel(label); - int indexAccel = -1; - for ( const wxChar *pc = label; *pc != wxT('\0'); pc++ ) - { - if ( *pc == MNEMONIC_PREFIX ) - { - pc++; // skip it - if ( *pc != MNEMONIC_PREFIX ) - { - if ( indexAccel == -1 ) - { - // remember it (-1 is for MNEMONIC_PREFIX itself - indexAccel = pc - label.c_str() - 1; - } - else - { - wxFAIL_MSG(_T("duplicate accel char in control label")); - } - } - } - - if ( labelOnly ) - { - *labelOnly += *pc; - } - } - - return indexAccel; + UnivDoSetLabel(label); } -void wxControl::SetLabel(const wxString& label) +void wxControl::UnivDoSetLabel(const wxString& label) { wxString labelOld = m_label; m_indexAccel = FindAccelIndex(label, &m_label); @@ -155,9 +97,4 @@ void wxControl::SetLabel(const wxString& label) } } -wxString wxControl::GetLabel() const -{ - return m_label; -} - #endif // wxUSE_CONTROLS