added support for wxALIGN_XXX in wxStaticBox

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@13514 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin 2002-01-11 18:59:48 +00:00
parent f283a57525
commit 4d23a4bf41
4 changed files with 70 additions and 31 deletions

View File

@ -1,6 +1,8 @@
*** wxWindows 2.3.3 *** *** wxWindows 2.3.3 ***
wxStaticBox honours wxALIGN_XXX styles
Reworked wxConfig class interface. Reworked wxConfig class interface.
Reworked wxDynamicLibary class for loading classes (particularly Reworked wxDynamicLibary class for loading classes (particularly

View File

@ -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), m_slider = new wxSlider( panel, ID_SLIDER, 0, 0, 200, wxPoint(18,90), wxSize(155,-1),
wxSL_AUTOTICKS | wxSL_LABELS ); wxSL_AUTOTICKS | wxSL_LABELS );
m_slider->SetTickFreq(40, 0); 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__ #ifdef __WXMOTIF__
// No wrapping text in wxStaticText yet :-( // No wrapping text in wxStaticText yet :-(
(void)new wxStaticText( panel, -1, (void)new wxStaticText( panel, -1,

View File

@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
// Name: statbox.cpp // Name: gtk/statbox.cpp
// Purpose: // Purpose:
// Author: Robert Roebling // Author: Robert Roebling
// Id: $Id$ // Id: $Id$
@ -24,22 +24,30 @@
// wxStaticBox // 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, wxStaticBox::wxStaticBox( wxWindow *parent,
const wxPoint &pos, const wxSize &size, wxWindowID id,
long style, const wxString &name ) const wxString &label,
const wxPoint& pos,
const wxSize& size,
long style,
const wxString& name )
{ {
Create( parent, id, label, pos, size, style, name ); Create( parent, id, label, pos, size, style, name );
} }
bool wxStaticBox::Create( wxWindow *parent, wxWindowID id, const wxString &label, bool wxStaticBox::Create( wxWindow *parent,
const wxPoint &pos, const wxSize &size, wxWindowID id,
long style, const wxString &name ) const wxString& label,
const wxPoint& pos,
const wxSize& size,
long style,
const wxString& name )
{ {
m_needParent = TRUE; m_needParent = TRUE;
@ -52,7 +60,7 @@ bool wxStaticBox::Create( wxWindow *parent, wxWindowID id, const wxString &label
m_isStaticBox = TRUE; m_isStaticBox = TRUE;
if (label.IsEmpty()) if (label.empty())
m_widget = gtk_frame_new( (char*) NULL ); m_widget = gtk_frame_new( (char*) NULL );
else else
m_widget = gtk_frame_new( m_label.mbc_str() ); m_widget = gtk_frame_new( m_label.mbc_str() );
@ -63,10 +71,19 @@ bool wxStaticBox::Create( wxWindow *parent, wxWindowID id, const wxString &label
SetLabel(label); SetLabel(label);
SetFont( parent->GetFont() ); InheritAttributes();
SetBackgroundColour( parent->GetBackgroundColour() ); // need to set non default alignment?
SetForegroundColour( parent->GetForegroundColour() ); 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 ); Show( TRUE );
@ -76,8 +93,8 @@ bool wxStaticBox::Create( wxWindow *parent, wxWindowID id, const wxString &label
void wxStaticBox::SetLabel( const wxString &label ) void wxStaticBox::SetLabel( const wxString &label )
{ {
wxControl::SetLabel( 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() void wxStaticBox::ApplyWidgetStyle()

View File

@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
// Name: statbox.cpp // Name: gtk/statbox.cpp
// Purpose: // Purpose:
// Author: Robert Roebling // Author: Robert Roebling
// Id: $Id$ // Id: $Id$
@ -24,22 +24,30 @@
// wxStaticBox // 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, wxStaticBox::wxStaticBox( wxWindow *parent,
const wxPoint &pos, const wxSize &size, wxWindowID id,
long style, const wxString &name ) const wxString &label,
const wxPoint& pos,
const wxSize& size,
long style,
const wxString& name )
{ {
Create( parent, id, label, pos, size, style, name ); Create( parent, id, label, pos, size, style, name );
} }
bool wxStaticBox::Create( wxWindow *parent, wxWindowID id, const wxString &label, bool wxStaticBox::Create( wxWindow *parent,
const wxPoint &pos, const wxSize &size, wxWindowID id,
long style, const wxString &name ) const wxString& label,
const wxPoint& pos,
const wxSize& size,
long style,
const wxString& name )
{ {
m_needParent = TRUE; m_needParent = TRUE;
@ -52,7 +60,7 @@ bool wxStaticBox::Create( wxWindow *parent, wxWindowID id, const wxString &label
m_isStaticBox = TRUE; m_isStaticBox = TRUE;
if (label.IsEmpty()) if (label.empty())
m_widget = gtk_frame_new( (char*) NULL ); m_widget = gtk_frame_new( (char*) NULL );
else else
m_widget = gtk_frame_new( m_label.mbc_str() ); m_widget = gtk_frame_new( m_label.mbc_str() );
@ -63,10 +71,19 @@ bool wxStaticBox::Create( wxWindow *parent, wxWindowID id, const wxString &label
SetLabel(label); SetLabel(label);
SetFont( parent->GetFont() ); InheritAttributes();
SetBackgroundColour( parent->GetBackgroundColour() ); // need to set non default alignment?
SetForegroundColour( parent->GetForegroundColour() ); 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 ); Show( TRUE );
@ -76,8 +93,8 @@ bool wxStaticBox::Create( wxWindow *parent, wxWindowID id, const wxString &label
void wxStaticBox::SetLabel( const wxString &label ) void wxStaticBox::SetLabel( const wxString &label )
{ {
wxControl::SetLabel( 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() void wxStaticBox::ApplyWidgetStyle()