///////////////////////////////////////////////////////////////////////////// // Name: src/univ/control.cpp // Purpose: universal wxControl: adds handling of mnemonics // Author: Vadim Zeitlin // Modified by: // Created: 14.08.00 // RCS-ID: $Id$ // Copyright: (c) 2000 Vadim Zeitlin // Licence: wxWindows license ///////////////////////////////////////////////////////////////////////////// // ============================================================================ // declarations // ============================================================================ #ifdef __GNUG__ #pragma implementation "control.h" #endif // ---------------------------------------------------------------------------- // headers // ---------------------------------------------------------------------------- #include "wx/wxprec.h" #ifdef __BORLANDC__ #pragma hdrstop #endif #if wxUSE_CONTROLS #ifndef WX_PRECOMP #include "wx/control.h" #endif // ============================================================================ // implementation // ============================================================================ IMPLEMENT_DYNAMIC_CLASS(wxControl, wxWindow) // ---------------------------------------------------------------------------- // creation // ---------------------------------------------------------------------------- wxControl::wxControl() { } // ---------------------------------------------------------------------------- // mnemonics handling // ---------------------------------------------------------------------------- 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('&'); m_label.Empty(); for ( const wxChar *pc = label; *pc != wxT('\0'); pc++ ) { if ( *pc == MNEMONIC_PREFIX ) { pc++; // skip it if ( *pc != MNEMONIC_PREFIX ) m_chAccel = *pc; } m_label << *pc; } } wxString wxControl::GetLabel() const { return m_label; } #endif // wxUSE_CONTROLS