removes "&" from wxControl's label (also for buttons and stattext)

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@330 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
1998-07-23 15:59:55 +00:00
parent 9ec05cc986
commit 32c77a7133
6 changed files with 64 additions and 38 deletions

View File

@@ -41,39 +41,39 @@ wxButton::wxButton(void)
}; };
wxButton::wxButton( wxWindow *parent, wxWindowID id, const wxString &label, wxButton::wxButton( wxWindow *parent, wxWindowID id, const wxString &label,
const wxPoint &pos, const wxSize &size, const wxPoint &pos, const wxSize &size,
long style, const wxString &name ) long style, const wxString &name )
{ {
Create( parent, id, label, pos, size, style, name ); Create( parent, id, label, pos, size, style, name );
}; };
bool wxButton::Create( wxWindow *parent, wxWindowID id, const wxString &label, bool wxButton::Create( wxWindow *parent, wxWindowID id, const wxString &label,
const wxPoint &pos, const wxSize &size, const wxPoint &pos, const wxSize &size,
long style, const wxString &name ) long style, const wxString &name )
{ {
m_needParent = TRUE; m_needParent = TRUE;
wxSize newSize = size; wxSize newSize = size;
PreCreation( parent, id, pos, newSize, style, name ); PreCreation( parent, id, pos, newSize, style, name );
m_label = label; SetLabel(label);
m_widget = gtk_button_new_with_label( label ); m_widget = gtk_button_new_with_label( m_label );
if (newSize.x == -1) newSize.x = 15+gdk_string_measure( m_widget->style->font, label ); if (newSize.x == -1) newSize.x = 15+gdk_string_measure( m_widget->style->font, label );
if (newSize.y == -1) newSize.y = 26; if (newSize.y == -1) newSize.y = 26;
SetSize( newSize.x, newSize.y ); SetSize( newSize.x, newSize.y );
gtk_signal_connect( GTK_OBJECT(m_widget), "clicked", gtk_signal_connect( GTK_OBJECT(m_widget), "clicked",
GTK_SIGNAL_FUNC(gtk_button_clicked_callback), (gpointer*)this ); GTK_SIGNAL_FUNC(gtk_button_clicked_callback), (gpointer*)this );
PostCreation(); PostCreation();
Show( TRUE ); Show( TRUE );
return TRUE; return TRUE;
}; };
void wxButton::SetDefault(void) void wxButton::SetDefault(void)
{ {
}; };

View File

@@ -5,7 +5,7 @@
// Created: 01/02/97 // Created: 01/02/97
// Id: // Id:
// Copyright: (c) 1998 Robert Roebling, Julian Smart and Markus Holzem // Copyright: (c) 1998 Robert Roebling, Julian Smart and Markus Holzem
// Licence: wxWindows licence // Licence: wxWindows licence
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
#ifdef __GNUG__ #ifdef __GNUG__
@@ -22,12 +22,11 @@ IMPLEMENT_DYNAMIC_CLASS(wxControl,wxWindow)
wxControl::wxControl(void) wxControl::wxControl(void)
{ {
m_label = "";
m_needParent = TRUE; m_needParent = TRUE;
}; };
wxControl::wxControl( wxWindow *parent, wxWindowID id, wxControl::wxControl( wxWindow *parent, wxWindowID id,
const wxPoint &pos, const wxSize &size, const wxPoint &pos, const wxSize &size,
long style, const wxString &name ) : long style, const wxString &name ) :
wxWindow( parent, id, pos, size, style, name ) wxWindow( parent, id, pos, size, style, name )
{ {
@@ -39,7 +38,17 @@ void wxControl::Command( wxCommandEvent &WXUNUSED(event) )
void wxControl::SetLabel( const wxString &label ) void wxControl::SetLabel( const wxString &label )
{ {
m_label = label; for ( const char *pc = label; *pc != '\0'; pc++ ) {
if ( *pc == '&' ) {
pc++; // skip it
#if 0 // it would be unused anyhow for now - kbd interface not done yet
if ( *pc != '&' )
m_chAccel = *pc;
#endif
}
m_label << *pc;
}
}; };
wxString wxControl::GetLabel(void) const wxString wxControl::GetLabel(void) const

View File

@@ -42,7 +42,9 @@ bool wxStaticText::Create( wxWindow *parent, wxWindowID id, const wxString &labe
PreCreation( parent, id, pos, size, style, name ); PreCreation( parent, id, pos, size, style, name );
m_widget = gtk_label_new( label ); wxControl::SetLabel(label);
m_widget = gtk_label_new( m_label );
GtkJustification justify; GtkJustification justify;
if ( style & wxALIGN_CENTER ) if ( style & wxALIGN_CENTER )
justify = GTK_JUSTIFY_CENTER; justify = GTK_JUSTIFY_CENTER;
@@ -73,5 +75,7 @@ wxString wxStaticText::GetLabel(void) const
void wxStaticText::SetLabel( const wxString &label ) void wxStaticText::SetLabel( const wxString &label )
{ {
gtk_label_set( GTK_LABEL(m_widget), label ); wxControl::SetLabel(label);
gtk_label_set( GTK_LABEL(m_widget), m_label );
}; };

View File

@@ -41,39 +41,39 @@ wxButton::wxButton(void)
}; };
wxButton::wxButton( wxWindow *parent, wxWindowID id, const wxString &label, wxButton::wxButton( wxWindow *parent, wxWindowID id, const wxString &label,
const wxPoint &pos, const wxSize &size, const wxPoint &pos, const wxSize &size,
long style, const wxString &name ) long style, const wxString &name )
{ {
Create( parent, id, label, pos, size, style, name ); Create( parent, id, label, pos, size, style, name );
}; };
bool wxButton::Create( wxWindow *parent, wxWindowID id, const wxString &label, bool wxButton::Create( wxWindow *parent, wxWindowID id, const wxString &label,
const wxPoint &pos, const wxSize &size, const wxPoint &pos, const wxSize &size,
long style, const wxString &name ) long style, const wxString &name )
{ {
m_needParent = TRUE; m_needParent = TRUE;
wxSize newSize = size; wxSize newSize = size;
PreCreation( parent, id, pos, newSize, style, name ); PreCreation( parent, id, pos, newSize, style, name );
m_label = label; SetLabel(label);
m_widget = gtk_button_new_with_label( label ); m_widget = gtk_button_new_with_label( m_label );
if (newSize.x == -1) newSize.x = 15+gdk_string_measure( m_widget->style->font, label ); if (newSize.x == -1) newSize.x = 15+gdk_string_measure( m_widget->style->font, label );
if (newSize.y == -1) newSize.y = 26; if (newSize.y == -1) newSize.y = 26;
SetSize( newSize.x, newSize.y ); SetSize( newSize.x, newSize.y );
gtk_signal_connect( GTK_OBJECT(m_widget), "clicked", gtk_signal_connect( GTK_OBJECT(m_widget), "clicked",
GTK_SIGNAL_FUNC(gtk_button_clicked_callback), (gpointer*)this ); GTK_SIGNAL_FUNC(gtk_button_clicked_callback), (gpointer*)this );
PostCreation(); PostCreation();
Show( TRUE ); Show( TRUE );
return TRUE; return TRUE;
}; };
void wxButton::SetDefault(void) void wxButton::SetDefault(void)
{ {
}; };

View File

@@ -5,7 +5,7 @@
// Created: 01/02/97 // Created: 01/02/97
// Id: // Id:
// Copyright: (c) 1998 Robert Roebling, Julian Smart and Markus Holzem // Copyright: (c) 1998 Robert Roebling, Julian Smart and Markus Holzem
// Licence: wxWindows licence // Licence: wxWindows licence
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
#ifdef __GNUG__ #ifdef __GNUG__
@@ -22,12 +22,11 @@ IMPLEMENT_DYNAMIC_CLASS(wxControl,wxWindow)
wxControl::wxControl(void) wxControl::wxControl(void)
{ {
m_label = "";
m_needParent = TRUE; m_needParent = TRUE;
}; };
wxControl::wxControl( wxWindow *parent, wxWindowID id, wxControl::wxControl( wxWindow *parent, wxWindowID id,
const wxPoint &pos, const wxSize &size, const wxPoint &pos, const wxSize &size,
long style, const wxString &name ) : long style, const wxString &name ) :
wxWindow( parent, id, pos, size, style, name ) wxWindow( parent, id, pos, size, style, name )
{ {
@@ -39,7 +38,17 @@ void wxControl::Command( wxCommandEvent &WXUNUSED(event) )
void wxControl::SetLabel( const wxString &label ) void wxControl::SetLabel( const wxString &label )
{ {
m_label = label; for ( const char *pc = label; *pc != '\0'; pc++ ) {
if ( *pc == '&' ) {
pc++; // skip it
#if 0 // it would be unused anyhow for now - kbd interface not done yet
if ( *pc != '&' )
m_chAccel = *pc;
#endif
}
m_label << *pc;
}
}; };
wxString wxControl::GetLabel(void) const wxString wxControl::GetLabel(void) const

View File

@@ -42,7 +42,9 @@ bool wxStaticText::Create( wxWindow *parent, wxWindowID id, const wxString &labe
PreCreation( parent, id, pos, size, style, name ); PreCreation( parent, id, pos, size, style, name );
m_widget = gtk_label_new( label ); wxControl::SetLabel(label);
m_widget = gtk_label_new( m_label );
GtkJustification justify; GtkJustification justify;
if ( style & wxALIGN_CENTER ) if ( style & wxALIGN_CENTER )
justify = GTK_JUSTIFY_CENTER; justify = GTK_JUSTIFY_CENTER;
@@ -73,5 +75,7 @@ wxString wxStaticText::GetLabel(void) const
void wxStaticText::SetLabel( const wxString &label ) void wxStaticText::SetLabel( const wxString &label )
{ {
gtk_label_set( GTK_LABEL(m_widget), label ); wxControl::SetLabel(label);
gtk_label_set( GTK_LABEL(m_widget), m_label );
}; };