From: Vadim Zeitlin Date: Fri, 11 Jan 2002 18:59:48 +0000 (+0000) Subject: added support for wxALIGN_XXX in wxStaticBox X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/4d23a4bf410a7988864899b39fafaec8b3034f10?hp=f283a575257064d383885ad9102f6d0d327bcc9d added support for wxALIGN_XXX in wxStaticBox git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@13514 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/docs/gtk/changes.txt b/docs/gtk/changes.txt index 222abf7f91..c805e1b299 100644 --- a/docs/gtk/changes.txt +++ b/docs/gtk/changes.txt @@ -1,6 +1,8 @@ *** wxWindows 2.3.3 *** +wxStaticBox honours wxALIGN_XXX styles + Reworked wxConfig class interface. Reworked wxDynamicLibary class for loading classes (particularly diff --git a/samples/controls/controls.cpp b/samples/controls/controls.cpp index 8c696f260e..8e20cbb406 100644 --- a/samples/controls/controls.cpp +++ b/samples/controls/controls.cpp @@ -676,7 +676,10 @@ MyPanel::MyPanel( wxFrame *frame, int x, int y, int w, int h ) m_slider = new wxSlider( panel, ID_SLIDER, 0, 0, 200, wxPoint(18,90), wxSize(155,-1), wxSL_AUTOTICKS | wxSL_LABELS ); m_slider->SetTickFreq(40, 0); - (void)new wxStaticBox( panel, -1, "&Explanation", wxPoint(230,10), wxSize(270,130) ); + (void)new wxStaticBox( panel, -1, "&Explanation", + wxPoint(230,10), wxSize(270,130), + wxALIGN_CENTER ); + #ifdef __WXMOTIF__ // No wrapping text in wxStaticText yet :-( (void)new wxStaticText( panel, -1, diff --git a/src/gtk/statbox.cpp b/src/gtk/statbox.cpp index febadd9639..fdc5f6eb5e 100644 --- a/src/gtk/statbox.cpp +++ b/src/gtk/statbox.cpp @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: statbox.cpp +// Name: gtk/statbox.cpp // Purpose: // Author: Robert Roebling // Id: $Id$ @@ -24,22 +24,30 @@ // wxStaticBox //----------------------------------------------------------------------------- -IMPLEMENT_DYNAMIC_CLASS(wxStaticBox,wxControl) +IMPLEMENT_DYNAMIC_CLASS(wxStaticBox, wxControl) -wxStaticBox::wxStaticBox(void) +wxStaticBox::wxStaticBox() { } -wxStaticBox::wxStaticBox( wxWindow *parent, wxWindowID id, const wxString &label, - const wxPoint &pos, const wxSize &size, - long style, const wxString &name ) +wxStaticBox::wxStaticBox( wxWindow *parent, + wxWindowID id, + const wxString &label, + const wxPoint& pos, + const wxSize& size, + long style, + const wxString& name ) { Create( parent, id, label, pos, size, style, name ); } -bool wxStaticBox::Create( wxWindow *parent, wxWindowID id, const wxString &label, - const wxPoint &pos, const wxSize &size, - long style, const wxString &name ) +bool wxStaticBox::Create( wxWindow *parent, + wxWindowID id, + const wxString& label, + const wxPoint& pos, + const wxSize& size, + long style, + const wxString& name ) { m_needParent = TRUE; @@ -52,7 +60,7 @@ bool wxStaticBox::Create( wxWindow *parent, wxWindowID id, const wxString &label m_isStaticBox = TRUE; - if (label.IsEmpty()) + if (label.empty()) m_widget = gtk_frame_new( (char*) NULL ); else m_widget = gtk_frame_new( m_label.mbc_str() ); @@ -63,11 +71,20 @@ bool wxStaticBox::Create( wxWindow *parent, wxWindowID id, const wxString &label SetLabel(label); - SetFont( parent->GetFont() ); + InheritAttributes(); - SetBackgroundColour( parent->GetBackgroundColour() ); - SetForegroundColour( parent->GetForegroundColour() ); + // need to set non default alignment? + gfloat xalign; + if ( style & wxALIGN_CENTER ) + xalign = 0.5; + else if ( style & wxALIGN_RIGHT ) + xalign = 1.0; + else // wxALIGN_LEFT + xalign = 0.0; + if ( xalign ) + gtk_frame_set_label_align(GTK_FRAME( m_widget ), xalign, 0.0); + Show( TRUE ); return TRUE; @@ -76,8 +93,8 @@ bool wxStaticBox::Create( wxWindow *parent, wxWindowID id, const wxString &label void wxStaticBox::SetLabel( const wxString &label ) { wxControl::SetLabel( label ); - GtkFrame *frame = GTK_FRAME( m_widget ); - gtk_frame_set_label( frame, GetLabel().mbc_str() ); + + gtk_frame_set_label( GTK_FRAME( m_widget ), GetLabel().mbc_str() ); } void wxStaticBox::ApplyWidgetStyle() diff --git a/src/gtk1/statbox.cpp b/src/gtk1/statbox.cpp index febadd9639..fdc5f6eb5e 100644 --- a/src/gtk1/statbox.cpp +++ b/src/gtk1/statbox.cpp @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: statbox.cpp +// Name: gtk/statbox.cpp // Purpose: // Author: Robert Roebling // Id: $Id$ @@ -24,22 +24,30 @@ // wxStaticBox //----------------------------------------------------------------------------- -IMPLEMENT_DYNAMIC_CLASS(wxStaticBox,wxControl) +IMPLEMENT_DYNAMIC_CLASS(wxStaticBox, wxControl) -wxStaticBox::wxStaticBox(void) +wxStaticBox::wxStaticBox() { } -wxStaticBox::wxStaticBox( wxWindow *parent, wxWindowID id, const wxString &label, - const wxPoint &pos, const wxSize &size, - long style, const wxString &name ) +wxStaticBox::wxStaticBox( wxWindow *parent, + wxWindowID id, + const wxString &label, + const wxPoint& pos, + const wxSize& size, + long style, + const wxString& name ) { Create( parent, id, label, pos, size, style, name ); } -bool wxStaticBox::Create( wxWindow *parent, wxWindowID id, const wxString &label, - const wxPoint &pos, const wxSize &size, - long style, const wxString &name ) +bool wxStaticBox::Create( wxWindow *parent, + wxWindowID id, + const wxString& label, + const wxPoint& pos, + const wxSize& size, + long style, + const wxString& name ) { m_needParent = TRUE; @@ -52,7 +60,7 @@ bool wxStaticBox::Create( wxWindow *parent, wxWindowID id, const wxString &label m_isStaticBox = TRUE; - if (label.IsEmpty()) + if (label.empty()) m_widget = gtk_frame_new( (char*) NULL ); else m_widget = gtk_frame_new( m_label.mbc_str() ); @@ -63,11 +71,20 @@ bool wxStaticBox::Create( wxWindow *parent, wxWindowID id, const wxString &label SetLabel(label); - SetFont( parent->GetFont() ); + InheritAttributes(); - SetBackgroundColour( parent->GetBackgroundColour() ); - SetForegroundColour( parent->GetForegroundColour() ); + // need to set non default alignment? + gfloat xalign; + if ( style & wxALIGN_CENTER ) + xalign = 0.5; + else if ( style & wxALIGN_RIGHT ) + xalign = 1.0; + else // wxALIGN_LEFT + xalign = 0.0; + if ( xalign ) + gtk_frame_set_label_align(GTK_FRAME( m_widget ), xalign, 0.0); + Show( TRUE ); return TRUE; @@ -76,8 +93,8 @@ bool wxStaticBox::Create( wxWindow *parent, wxWindowID id, const wxString &label void wxStaticBox::SetLabel( const wxString &label ) { wxControl::SetLabel( label ); - GtkFrame *frame = GTK_FRAME( m_widget ); - gtk_frame_set_label( frame, GetLabel().mbc_str() ); + + gtk_frame_set_label( GTK_FRAME( m_widget ), GetLabel().mbc_str() ); } void wxStaticBox::ApplyWidgetStyle()