// declarations
// ============================================================================
-#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
- #pragma implementation "control.h"
-#endif
-
// ----------------------------------------------------------------------------
// headers
// ----------------------------------------------------------------------------
#if wxUSE_CONTROLS
+#include "wx/control.h"
+
#ifndef WX_PRECOMP
#include "wx/app.h"
- #include "wx/control.h"
#include "wx/dcclient.h"
#endif
// 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,
if ( !wxControlBase::Create(parent, id, pos, size, style, validator, name) )
{
// underlying window creation failed?
- return FALSE;
+ return false;
}
- return TRUE;
+ return true;
}
// ----------------------------------------------------------------------------
}
int indexAccel = -1;
- for ( const wxChar *pc = label; *pc != wxT('\0'); pc++ )
+ for ( wxString::const_iterator pc = label.begin(); pc != label.end(); ++pc )
{
if ( *pc == MNEMONIC_PREFIX )
{
- pc++; // skip it
- if ( *pc != MNEMONIC_PREFIX )
+ ++pc; // skip it
+ if ( pc == label.end() )
+ break;
+ else if ( *pc != MNEMONIC_PREFIX )
{
if ( indexAccel == -1 )
{
// remember it (-1 is for MNEMONIC_PREFIX itself
- indexAccel = pc - label.c_str() - 1;
+ indexAccel = pc - label.begin() - 1;
}
else
{
}
void wxControl::SetLabel(const wxString& label)
+{
+ // save original label
+ wxControlBase::SetLabel(label);
+
+ UnivDoSetLabel(label);
+}
+
+void wxControl::UnivDoSetLabel(const wxString& label)
{
wxString labelOld = m_label;
m_indexAccel = FindAccelIndex(label, &m_label);
}
}
-wxString wxControl::GetLabel() const
-{
- return m_label;
-}
-
#endif // wxUSE_CONTROLS