applied patch to remove use of deprecated constraints API

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@25985 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Václav Slavík
2004-02-28 10:46:36 +00:00
parent eac98de747
commit 9230b62136
5 changed files with 168 additions and 336 deletions

View File

@@ -41,6 +41,7 @@
#include "wx/msgdlg.h" #include "wx/msgdlg.h"
#endif #endif
#include "wx/sizer.h"
#include "wx/calctrl.h" #include "wx/calctrl.h"
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
@@ -201,12 +202,12 @@ bool MyApp::OnInit()
MyFrame *frame = new MyFrame(_T("Calendar wxWindows sample"), MyFrame *frame = new MyFrame(_T("Calendar wxWindows sample"),
wxPoint(50, 50), wxSize(450, 340)); wxPoint(50, 50), wxSize(450, 340));
frame->Show(TRUE); frame->Show(true);
// success: wxApp::OnRun() will be called which will enter the main message // success: wxApp::OnRun() will be called which will enter the main message
// loop and the application will run. If we returned FALSE here, the // loop and the application will run. If we returned FALSE here, the
// application would exit immediately. // application would exit immediately.
return TRUE; return true;
} }
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
@@ -215,7 +216,7 @@ bool MyApp::OnInit()
// frame constructor // frame constructor
MyFrame::MyFrame(const wxString& title, const wxPoint& pos, const wxSize& size) MyFrame::MyFrame(const wxString& title, const wxPoint& pos, const wxSize& size)
: wxFrame((wxFrame *)NULL, -1, title, pos, size) : wxFrame((wxFrame *)NULL, wxID_ANY, title, pos, size)
{ {
// create a menu bar // create a menu bar
wxMenu *menuFile = new wxMenu; wxMenu *menuFile = new wxMenu;
@@ -228,28 +229,28 @@ MyFrame::MyFrame(const wxString& title, const wxPoint& pos, const wxSize& size)
menuCal->Append(Calendar_Cal_Monday, menuCal->Append(Calendar_Cal_Monday,
_T("Monday &first weekday\tCtrl-F"), _T("Monday &first weekday\tCtrl-F"),
_T("Toggle between Mon and Sun as the first week day"), _T("Toggle between Mon and Sun as the first week day"),
TRUE); true);
menuCal->Append(Calendar_Cal_Holidays, _T("Show &holidays\tCtrl-H"), menuCal->Append(Calendar_Cal_Holidays, _T("Show &holidays\tCtrl-H"),
_T("Toggle highlighting the holidays"), _T("Toggle highlighting the holidays"),
TRUE); true);
menuCal->Append(Calendar_Cal_Special, _T("Highlight &special dates\tCtrl-S"), menuCal->Append(Calendar_Cal_Special, _T("Highlight &special dates\tCtrl-S"),
_T("Test custom highlighting"), _T("Test custom highlighting"),
TRUE); true);
menuCal->Append(Calendar_Cal_SurroundWeeks, menuCal->Append(Calendar_Cal_SurroundWeeks,
_T("Show s&urrounding weeks\tCtrl-W"), _T("Show s&urrounding weeks\tCtrl-W"),
_T("Show the neighbouring weeks in the prev/next month"), _T("Show the neighbouring weeks in the prev/next month"),
TRUE); true);
menuCal->AppendSeparator(); menuCal->AppendSeparator();
menuCal->Append(Calendar_Cal_SeqMonth, menuCal->Append(Calendar_Cal_SeqMonth,
_T("To&ggle month selector style\tCtrl-G"), _T("To&ggle month selector style\tCtrl-G"),
_T("Use another style for the calendar controls"), _T("Use another style for the calendar controls"),
TRUE); true);
menuCal->Append(Calendar_Cal_Month, _T("&Month can be changed\tCtrl-M"), menuCal->Append(Calendar_Cal_Month, _T("&Month can be changed\tCtrl-M"),
_T("Allow changing the month in the calendar"), _T("Allow changing the month in the calendar"),
TRUE); true);
menuCal->Append(Calendar_Cal_Year, _T("&Year can be changed\tCtrl-Y"), menuCal->Append(Calendar_Cal_Year, _T("&Year can be changed\tCtrl-Y"),
_T("Allow changing the year in the calendar"), _T("Allow changing the year in the calendar"),
TRUE); true);
menuCal->AppendSeparator(); menuCal->AppendSeparator();
menuCal->Append(Calendar_Cal_SetDate, _T("SetDate()"), _T("Set date to 2005-12-24.")); menuCal->Append(Calendar_Cal_SetDate, _T("SetDate()"), _T("Set date to 2005-12-24."));
menuCal->Append(Calendar_Cal_Today, _T("Today()"), _T("Set the current date.")); menuCal->Append(Calendar_Cal_Today, _T("Today()"), _T("Set the current date."));
@@ -259,10 +260,10 @@ MyFrame::MyFrame(const wxString& title, const wxPoint& pos, const wxSize& size)
menuBar->Append(menuFile, _T("&File")); menuBar->Append(menuFile, _T("&File"));
menuBar->Append(menuCal, _T("&Calendar")); menuBar->Append(menuCal, _T("&Calendar"));
menuBar->Check(Calendar_Cal_Monday, TRUE); menuBar->Check(Calendar_Cal_Monday, true);
menuBar->Check(Calendar_Cal_Holidays, TRUE); menuBar->Check(Calendar_Cal_Holidays, true);
menuBar->Check(Calendar_Cal_Month, TRUE); menuBar->Check(Calendar_Cal_Month, true);
menuBar->Check(Calendar_Cal_Year, TRUE); menuBar->Check(Calendar_Cal_Year, true);
// ... and attach this menu bar to the frame // ... and attach this menu bar to the frame
SetMenuBar(menuBar); SetMenuBar(menuBar);
@@ -279,7 +280,7 @@ MyFrame::MyFrame(const wxString& title, const wxPoint& pos, const wxSize& size)
void MyFrame::OnQuit(wxCommandEvent& WXUNUSED(event)) void MyFrame::OnQuit(wxCommandEvent& WXUNUSED(event))
{ {
// TRUE is to force the frame to close // TRUE is to force the frame to close
Close(TRUE); Close(true);
} }
void MyFrame::OnAbout(wxCommandEvent& WXUNUSED(event)) void MyFrame::OnAbout(wxCommandEvent& WXUNUSED(event))
@@ -355,14 +356,12 @@ void MyFrame::OnToday(wxCommandEvent &WXUNUSED(event))
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
MyPanel::MyPanel(wxFrame *frame) MyPanel::MyPanel(wxFrame *frame)
: wxPanel(frame, -1) : wxPanel(frame, wxID_ANY)
{ {
SetAutoLayout(TRUE);
wxString date; wxString date;
date.Printf(wxT("Selected date: %s"), date.Printf(wxT("Selected date: %s"),
wxDateTime::Today().FormatISODate().c_str()); wxDateTime::Today().FormatISODate().c_str());
m_date = new wxStaticText(this, -1, date); m_date = new wxStaticText(this, wxID_ANY, date);
m_calendar = new wxCalendarCtrl(this, Calendar_CalCtrl, m_calendar = new wxCalendarCtrl(this, Calendar_CalCtrl,
wxDefaultDateTime, wxDefaultDateTime,
wxDefaultPosition, wxDefaultPosition,
@@ -371,21 +370,13 @@ MyPanel::MyPanel(wxFrame *frame)
wxCAL_SHOW_HOLIDAYS | wxCAL_SHOW_HOLIDAYS |
wxRAISED_BORDER); wxRAISED_BORDER);
wxLayoutConstraints *c = new wxLayoutConstraints; wxBoxSizer *m_sizer = new wxBoxSizer( wxHORIZONTAL );
c->left.SameAs(this, wxLeft, 10);
c->centreY.SameAs(this, wxCentreY);
c->height.AsIs();
c->width.AsIs();
m_date->SetConstraints(c); m_sizer->Add(m_date, 0, wxALIGN_CENTER | wxALL, 10 );
m_sizer->Add(m_calendar, 0, wxALIGN_CENTER | wxALIGN_LEFT);
c = new wxLayoutConstraints; SetSizer( m_sizer );
c->left.SameAs(m_date, wxRight, 20); m_sizer->SetSizeHints( this );
c->centreY.SameAs(this, wxCentreY);
c->height.AsIs();
c->width.AsIs();
m_calendar->SetConstraints(c);
} }
void MyPanel::OnCalendar(wxCalendarEvent& event) void MyPanel::OnCalendar(wxCalendarEvent& event)

View File

@@ -337,7 +337,7 @@ bool MyApp::OnInit()
{ {
// use standard command line handling: // use standard command line handling:
if ( !wxApp::OnInit() ) if ( !wxApp::OnInit() )
return FALSE; return false;
// parse the cmd line // parse the cmd line
int x = 50, int x = 50,
@@ -350,9 +350,9 @@ bool MyApp::OnInit()
// Create the main frame window // Create the main frame window
MyFrame *frame = new MyFrame(_T("Controls wxWindows App"), x, y); MyFrame *frame = new MyFrame(_T("Controls wxWindows App"), x, y);
frame->Show(TRUE); frame->Show(true);
return TRUE; return true;
} }
//---------------------------------------------------------------------- //----------------------------------------------------------------------
@@ -520,7 +520,7 @@ END_EVENT_TABLE()
// ============================================================================ // ============================================================================
MyPanel::MyPanel( wxFrame *frame, int x, int y, int w, int h ) MyPanel::MyPanel( wxFrame *frame, int x, int y, int w, int h )
: wxPanel( frame, -1, wxPoint(x, y), wxSize(w, h) ) : wxPanel( frame, wxID_ANY, wxPoint(x, y), wxSize(w, h) )
{ {
m_listbox = NULL; m_listbox = NULL;
m_listboxSorted = NULL; m_listboxSorted = NULL;
@@ -549,7 +549,7 @@ MyPanel::MyPanel( wxFrame *frame, int x, int y, int w, int h )
m_notebook = NULL; m_notebook = NULL;
m_label = NULL; m_label = NULL;
m_text = new wxTextCtrl(this, -1, _T("This is the log window.\n"), m_text = new wxTextCtrl(this, wxID_ANY, _T("This is the log window.\n"),
wxPoint(0, 250), wxSize(100, 50), wxTE_MULTILINE); wxPoint(0, 250), wxSize(100, 50), wxTE_MULTILINE);
m_text->SetBackgroundColour(wxT("wheat")); m_text->SetBackgroundColour(wxT("wheat"));
@@ -591,7 +591,7 @@ MyPanel::MyPanel( wxFrame *frame, int x, int y, int w, int h )
{ {
Image_List, Image_Choice, Image_Combo, Image_Text, Image_Radio, Image_Gauge, Image_Max Image_List, Image_Choice, Image_Combo, Image_Text, Image_Radio, Image_Gauge, Image_Max
}; };
wxImageList *imagelist = new wxImageList(16, 16, FALSE, Image_Max); wxImageList *imagelist = new wxImageList(16, 16, false, Image_Max);
static const wxChar *s_iconNames[Image_Max] = static const wxChar *s_iconNames[Image_Max] =
{ {
@@ -655,14 +655,14 @@ MyPanel::MyPanel( wxFrame *frame, int x, int y, int w, int h )
#endif // wxUSE_TOOLTIPS #endif // wxUSE_TOOLTIPS
m_checkbox = new wxCheckBox( panel, ID_LISTBOX_ENABLE, _T("&Disable"), wxPoint(20,170) ); m_checkbox = new wxCheckBox( panel, ID_LISTBOX_ENABLE, _T("&Disable"), wxPoint(20,170) );
m_checkbox->SetValue(FALSE); m_checkbox->SetValue(false);
#if wxUSE_TOOLTIPS #if wxUSE_TOOLTIPS
m_checkbox->SetToolTip( _T("Click here to disable the listbox") ); m_checkbox->SetToolTip( _T("Click here to disable the listbox") );
#endif // wxUSE_TOOLTIPS #endif // wxUSE_TOOLTIPS
(void)new wxCheckBox( panel, ID_CHANGE_COLOUR, _T("&Toggle colour"), (void)new wxCheckBox( panel, ID_CHANGE_COLOUR, _T("&Toggle colour"),
wxPoint(110,170) ); wxPoint(110,170) );
panel->SetCursor(wxCursor(wxCURSOR_HAND)); panel->SetCursor(wxCursor(wxCURSOR_HAND));
m_notebook->AddPage(panel, _T("wxListBox"), TRUE, Image_List); m_notebook->AddPage(panel, _T("wxListBox"), true, Image_List);
#if wxUSE_CHOICE #if wxUSE_CHOICE
panel = new wxPanel(m_notebook); panel = new wxPanel(m_notebook);
@@ -683,11 +683,11 @@ MyPanel::MyPanel( wxFrame *frame, int x, int y, int w, int h )
(void)new wxButton( panel, ID_CHOICE_FONT, _T("Set &Italic font"), wxPoint(340,130), wxSize(140,30) ); (void)new wxButton( panel, ID_CHOICE_FONT, _T("Set &Italic font"), wxPoint(340,130), wxSize(140,30) );
(void)new wxCheckBox( panel, ID_CHOICE_ENABLE, _T("&Disable"), wxPoint(20,130), wxSize(140,30) ); (void)new wxCheckBox( panel, ID_CHOICE_ENABLE, _T("&Disable"), wxPoint(20,130), wxSize(140,30) );
m_notebook->AddPage(panel, _T("wxChoice"), FALSE, Image_Choice); m_notebook->AddPage(panel, _T("wxChoice"), false, Image_Choice);
#endif // wxUSE_CHOICE #endif // wxUSE_CHOICE
panel = new wxPanel(m_notebook); panel = new wxPanel(m_notebook);
(void)new wxStaticBox( panel, -1, _T("&Box around combobox"), (void)new wxStaticBox( panel, wxID_ANY, _T("&Box around combobox"),
wxPoint(5, 5), wxSize(150, 100)); wxPoint(5, 5), wxSize(150, 100));
m_combo = new MyComboBox( panel, ID_COMBO, _T("This"), m_combo = new MyComboBox( panel, ID_COMBO, _T("This"),
wxPoint(20,25), wxSize(120, -1), wxPoint(20,25), wxSize(120, -1),
@@ -702,7 +702,7 @@ MyPanel::MyPanel( wxFrame *frame, int x, int y, int w, int h )
(void)new wxButton( panel, ID_COMBO_DELETE, _T("D&elete selected item"), wxPoint(180,130), wxSize(140,30) ); (void)new wxButton( panel, ID_COMBO_DELETE, _T("D&elete selected item"), wxPoint(180,130), wxSize(140,30) );
(void)new wxButton( panel, ID_COMBO_FONT, _T("Set &Italic font"), wxPoint(340,130), wxSize(140,30) ); (void)new wxButton( panel, ID_COMBO_FONT, _T("Set &Italic font"), wxPoint(340,130), wxSize(140,30) );
(void)new wxCheckBox( panel, ID_COMBO_ENABLE, _T("&Disable"), wxPoint(20,130), wxSize(140,30) ); (void)new wxCheckBox( panel, ID_COMBO_ENABLE, _T("&Disable"), wxPoint(20,130), wxSize(140,30) );
m_notebook->AddPage(panel, _T("wxComboBox"), FALSE, Image_Combo); m_notebook->AddPage(panel, _T("wxComboBox"), false, Image_Combo);
wxString choices2[] = wxString choices2[] =
{ {
@@ -713,8 +713,8 @@ MyPanel::MyPanel( wxFrame *frame, int x, int y, int w, int h )
}; };
panel = new wxPanel(m_notebook); panel = new wxPanel(m_notebook);
(void)new MyRadioBox( panel, ID_RADIOBOX, _T("&That"), wxPoint(10,160), wxSize(-1,-1), WXSIZEOF(choices2), choices2, 1, wxRA_SPECIFY_ROWS ); (void)new MyRadioBox( panel, ID_RADIOBOX, _T("&That"), wxPoint(10,160), wxDefaultSize, WXSIZEOF(choices2), choices2, 1, wxRA_SPECIFY_ROWS );
m_radio = new wxRadioBox( panel, ID_RADIOBOX, _T("T&his"), wxPoint(10,10), wxSize(-1,-1), WXSIZEOF(choices), choices, 1, wxRA_SPECIFY_COLS ); m_radio = new wxRadioBox( panel, ID_RADIOBOX, _T("T&his"), wxPoint(10,10), wxDefaultSize, WXSIZEOF(choices), choices, 1, wxRA_SPECIFY_COLS );
m_radio->SetForegroundColour(*wxRED); m_radio->SetForegroundColour(*wxRED);
#if wxUSE_TOOLTIPS #if wxUSE_TOOLTIPS
@@ -728,16 +728,16 @@ MyPanel::MyPanel( wxFrame *frame, int x, int y, int w, int h )
(void)new wxButton( panel, ID_RADIOBOX_FONT, _T("Set &Italic font"), wxPoint(340,80), wxSize(140,30) ); (void)new wxButton( panel, ID_RADIOBOX_FONT, _T("Set &Italic font"), wxPoint(340,80), wxSize(140,30) );
(void)new wxCheckBox( panel, ID_RADIOBOX_ENABLE, _T("&Disable"), wxPoint(340,130), wxDefaultSize ); (void)new wxCheckBox( panel, ID_RADIOBOX_ENABLE, _T("&Disable"), wxPoint(340,130), wxDefaultSize );
wxRadioButton *rb = new wxRadioButton( panel, ID_RADIOBUTTON_1, _T("Radiobutton1"), wxPoint(210,170), wxDefaultSize, wxRB_GROUP ); wxRadioButton *rb = new wxRadioButton( panel, ID_RADIOBUTTON_1, _T("Radiobutton1"), wxPoint(210,170), wxDefaultSize, wxRB_GROUP );
rb->SetValue( FALSE ); rb->SetValue( false );
(void)new wxRadioButton( panel, ID_RADIOBUTTON_2, _T("&Radiobutton2"), wxPoint(340,170), wxDefaultSize ); (void)new wxRadioButton( panel, ID_RADIOBUTTON_2, _T("&Radiobutton2"), wxPoint(340,170), wxDefaultSize );
m_notebook->AddPage(panel, _T("wxRadioBox"), FALSE, Image_Radio); m_notebook->AddPage(panel, _T("wxRadioBox"), false, Image_Radio);
panel = new wxPanel(m_notebook); panel = new wxPanel(m_notebook);
(void)new wxStaticBox( panel, -1, _T("&wxGauge and wxSlider"), wxPoint(10,10), wxSize(222,130) ); (void)new wxStaticBox( panel, wxID_ANY, _T("&wxGauge and wxSlider"), wxPoint(10,10), wxSize(222,130) );
m_gauge = new wxGauge( panel, -1, 200, wxPoint(18,50), wxSize(155, 30), wxGA_HORIZONTAL|wxNO_BORDER ); m_gauge = new wxGauge( panel, wxID_ANY, 200, wxPoint(18,50), wxSize(155, 30), wxGA_HORIZONTAL|wxNO_BORDER );
m_gauge->SetBackgroundColour(*wxGREEN); m_gauge->SetBackgroundColour(*wxGREEN);
m_gauge->SetForegroundColour(*wxRED); m_gauge->SetForegroundColour(*wxRED);
m_gaugeVert = new wxGauge( panel, -1, 100, m_gaugeVert = new wxGauge( panel, wxID_ANY, 100,
wxPoint(195,35), wxSize(30, 90), wxPoint(195,35), wxSize(30, 90),
wxGA_VERTICAL | wxGA_SMOOTH | wxNO_BORDER ); wxGA_VERTICAL | wxGA_SMOOTH | wxNO_BORDER );
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),
@@ -747,19 +747,19 @@ MyPanel::MyPanel( wxFrame *frame, int x, int y, int w, int h )
m_slider->SetToolTip(_T("This is a sliding slider")); m_slider->SetToolTip(_T("This is a sliding slider"));
#endif // wxUSE_TOOLTIPS #endif // wxUSE_TOOLTIPS
(void)new wxStaticBox( panel, -1, _T("&Explanation"), (void)new wxStaticBox( panel, wxID_ANY, _T("&Explanation"),
wxPoint(230,10), wxSize(270,130), wxPoint(230,10), wxSize(270,130),
wxALIGN_CENTER ); 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, wxID_ANY,
_T("Drag the slider!"), _T("Drag the slider!"),
wxPoint(250,30), wxPoint(250,30),
wxSize(240, -1) wxSize(240, -1)
); );
#else #else
(void)new wxStaticText( panel, -1, (void)new wxStaticText( panel, wxID_ANY,
_T("In order see the gauge (aka progress bar)\n") _T("In order see the gauge (aka progress bar)\n")
_T("control do something you have to drag the\n") _T("control do something you have to drag the\n")
_T("handle of the slider to the right.\n") _T("handle of the slider to the right.\n")
@@ -773,7 +773,7 @@ MyPanel::MyPanel( wxFrame *frame, int x, int y, int w, int h )
int initialSpinValue = -5; int initialSpinValue = -5;
wxString s; wxString s;
s << initialSpinValue; s << initialSpinValue;
m_spintext = new wxTextCtrl( panel, -1, s, wxPoint(20,160), wxSize(80,-1) ); m_spintext = new wxTextCtrl( panel, wxID_ANY, s, wxPoint(20,160), wxSize(80,-1) );
#if wxUSE_SPINBTN #if wxUSE_SPINBTN
m_spinbutton = new wxSpinButton( panel, ID_SPIN, wxPoint(103,160), wxSize(80, -1) ); m_spinbutton = new wxSpinButton( panel, ID_SPIN, wxPoint(103,160), wxSize(80, -1) );
m_spinbutton->SetRange(-40,30); m_spinbutton->SetRange(-40,30);
@@ -789,16 +789,16 @@ MyPanel::MyPanel( wxFrame *frame, int x, int y, int w, int h )
m_spinctrl->SetValue(15); m_spinctrl->SetValue(15);
#endif // wxUSE_SPINCTRL #endif // wxUSE_SPINCTRL
m_notebook->AddPage(panel, _T("wxGauge"), FALSE, Image_Gauge); m_notebook->AddPage(panel, _T("wxGauge"), false, Image_Gauge);
panel = new wxPanel(m_notebook); panel = new wxPanel(m_notebook);
#if !defined(__WXMOTIF__) && !defined(__WIN16__) // wxStaticBitmap not working under Motif yet; and icons not allowed under WIN16. #if !defined(__WXMOTIF__) && !defined(__WIN16__) // wxStaticBitmap not working under Motif yet; and icons not allowed under WIN16.
wxIcon icon = wxArtProvider::GetIcon(wxART_INFORMATION); wxIcon icon = wxArtProvider::GetIcon(wxART_INFORMATION);
(void) new wxStaticBitmap( panel, -1, icon, wxPoint(10, 10) ); (void) new wxStaticBitmap( panel, wxID_ANY, icon, wxPoint(10, 10) );
// VZ: don't leak memory // VZ: don't leak memory
// bmpStatic = new wxStaticBitmap(panel, -1, wxNullIcon, wxPoint(50, 10)); // bmpStatic = new wxStaticBitmap(panel, wxID_ANY, wxNullIcon, wxPoint(50, 10));
// bmpStatic->SetIcon(wxArtProvider::GetIcon(wxART_QUESTION)); // bmpStatic->SetIcon(wxArtProvider::GetIcon(wxART_QUESTION));
#endif // !Motif #endif // !Motif
@@ -820,7 +820,7 @@ MyPanel::MyPanel( wxFrame *frame, int x, int y, int w, int h )
{ {
bitmap.SetMask(new wxMask(bitmap, *wxBLUE)); bitmap.SetMask(new wxMask(bitmap, *wxBLUE));
(void)new wxStaticBitmap /* wxBitmapButton */ (panel, -1, bitmap, wxPoint(300, 120)); (void)new wxStaticBitmap /* wxBitmapButton */ (panel, wxID_ANY, bitmap, wxPoint(300, 120));
} }
#endif #endif
@@ -829,7 +829,7 @@ MyPanel::MyPanel( wxFrame *frame, int x, int y, int w, int h )
bmp3(wxArtProvider::GetBitmap(wxART_QUESTION)); bmp3(wxArtProvider::GetBitmap(wxART_QUESTION));
wxBitmapButton *bmpBtn = new wxBitmapButton wxBitmapButton *bmpBtn = new wxBitmapButton
( (
panel, -1, panel, wxID_ANY,
bmp1, bmp1,
wxPoint(30, 70) wxPoint(30, 70)
); );
@@ -845,70 +845,42 @@ MyPanel::MyPanel( wxFrame *frame, int x, int y, int w, int h )
_T("&Toggle label"), wxPoint(250, 20)); _T("&Toggle label"), wxPoint(250, 20));
#endif // wxUSE_TOGGLEBTN #endif // wxUSE_TOGGLEBTN
m_label = new wxStaticText(panel, -1, _T("Label with some long text"), m_label = new wxStaticText(panel, wxID_ANY, _T("Label with some long text"),
wxPoint(250, 60), wxDefaultSize, wxPoint(250, 60), wxDefaultSize,
wxALIGN_RIGHT /*| wxST_NO_AUTORESIZE*/); wxALIGN_RIGHT /*| wxST_NO_AUTORESIZE*/);
m_label->SetForegroundColour( *wxBLUE ); m_label->SetForegroundColour( *wxBLUE );
m_notebook->AddPage(panel, _T("wxBitmapXXX")); m_notebook->AddPage(panel, _T("wxBitmapXXX"));
// layout constraints
#if wxUSE_CONSTRAINTS
wxLayoutConstraints *c;
panel = new wxPanel(m_notebook);
panel->SetAutoLayout( TRUE );
c = new wxLayoutConstraints;
c->top.SameAs( panel, wxTop, 10 );
c->height.AsIs( );
c->left.SameAs( panel, wxLeft, 10 );
c->width.PercentOf( panel, wxWidth, 40 );
wxButton *pMyButton = new wxButton(panel, ID_BUTTON_TEST1, _T("Test Button &1") );
pMyButton->SetConstraints( c );
c = new wxLayoutConstraints;
c->top.SameAs( panel, wxTop, 10 );
c->bottom.SameAs( panel, wxBottom, 10 );
c->right.SameAs( panel, wxRight, 10 );
c->width.PercentOf( panel, wxWidth, 40 );
wxButton *pMyButton2 = new wxButton(panel, ID_BUTTON_TEST2, _T("Test Button &2") );
pMyButton2->SetConstraints( c );
m_notebook->AddPage(panel, _T("wxLayoutConstraint"));
#endif
// sizer // sizer
panel = new wxPanel(m_notebook); panel = new wxPanel(m_notebook);
panel->SetAutoLayout( TRUE ); panel->SetAutoLayout( true );
wxBoxSizer *sizer = new wxBoxSizer( wxVERTICAL ); wxBoxSizer *sizer = new wxBoxSizer( wxVERTICAL );
wxStaticBoxSizer *csizer = wxStaticBoxSizer *csizer =
new wxStaticBoxSizer (new wxStaticBox (panel, -1, _T("Show Buttons")), new wxStaticBoxSizer (new wxStaticBox (panel, wxID_ANY, _T("Show Buttons")),
wxHORIZONTAL ); wxHORIZONTAL );
wxCheckBox *check1, *check2, *check3, *check4, *check14, *checkBig; wxCheckBox *check1, *check2, *check3, *check4, *check14, *checkBig;
check1 = new wxCheckBox (panel, ID_SIZER_CHECK1, _T("1")); check1 = new wxCheckBox (panel, ID_SIZER_CHECK1, _T("1"));
check1->SetValue (TRUE); check1->SetValue (true);
csizer->Add (check1); csizer->Add (check1);
check2 = new wxCheckBox (panel, ID_SIZER_CHECK2, _T("2")); check2 = new wxCheckBox (panel, ID_SIZER_CHECK2, _T("2"));
check2->SetValue (TRUE); check2->SetValue (true);
csizer->Add (check2); csizer->Add (check2);
check3 = new wxCheckBox (panel, ID_SIZER_CHECK3, _T("3")); check3 = new wxCheckBox (panel, ID_SIZER_CHECK3, _T("3"));
check3->SetValue (TRUE); check3->SetValue (true);
csizer->Add (check3); csizer->Add (check3);
check4 = new wxCheckBox (panel, ID_SIZER_CHECK4, _T("4")); check4 = new wxCheckBox (panel, ID_SIZER_CHECK4, _T("4"));
check4->SetValue (TRUE); check4->SetValue (true);
csizer->Add (check4); csizer->Add (check4);
check14 = new wxCheckBox (panel, ID_SIZER_CHECK14, _T("1-4")); check14 = new wxCheckBox (panel, ID_SIZER_CHECK14, _T("1-4"));
check14->SetValue (TRUE); check14->SetValue (true);
csizer->Add (check14); csizer->Add (check14);
checkBig = new wxCheckBox (panel, ID_SIZER_CHECKBIG, _T("Big")); checkBig = new wxCheckBox (panel, ID_SIZER_CHECKBIG, _T("Big"));
checkBig->SetValue (TRUE); checkBig->SetValue (true);
csizer->Add (checkBig); csizer->Add (checkBig);
sizer->Add (csizer); sizer->Add (csizer);
@@ -917,18 +889,18 @@ MyPanel::MyPanel( wxFrame *frame, int x, int y, int w, int h )
m_buttonSizer = new wxBoxSizer (wxVERTICAL); m_buttonSizer = new wxBoxSizer (wxVERTICAL);
m_sizerBtn1 = new wxButton(panel, -1, _T("Test Button &1") ); m_sizerBtn1 = new wxButton(panel, wxID_ANY, _T("Test Button &1") );
m_buttonSizer->Add( m_sizerBtn1, 0, wxALL, 10 ); m_buttonSizer->Add( m_sizerBtn1, 0, wxALL, 10 );
m_sizerBtn2 = new wxButton(panel, -1, _T("Test Button &2") ); m_sizerBtn2 = new wxButton(panel, wxID_ANY, _T("Test Button &2") );
m_buttonSizer->Add( m_sizerBtn2, 0, wxALL, 10 ); m_buttonSizer->Add( m_sizerBtn2, 0, wxALL, 10 );
m_sizerBtn3 = new wxButton(panel, -1, _T("Test Button &3") ); m_sizerBtn3 = new wxButton(panel, wxID_ANY, _T("Test Button &3") );
m_buttonSizer->Add( m_sizerBtn3, 0, wxALL, 10 ); m_buttonSizer->Add( m_sizerBtn3, 0, wxALL, 10 );
m_sizerBtn4 = new wxButton(panel, -1, _T("Test Button &4") ); m_sizerBtn4 = new wxButton(panel, wxID_ANY, _T("Test Button &4") );
m_buttonSizer->Add( m_sizerBtn4, 0, wxALL, 10 ); m_buttonSizer->Add( m_sizerBtn4, 0, wxALL, 10 );
m_hsizer->Add (m_buttonSizer); m_hsizer->Add (m_buttonSizer);
m_hsizer->Add( 20,20, 1 ); m_hsizer->Add( 20,20, 1 );
m_bigBtn = new wxButton(panel, -1, _T("Multiline\nbutton") ); m_bigBtn = new wxButton(panel, wxID_ANY, _T("Multiline\nbutton") );
m_hsizer->Add( m_bigBtn , 3, wxGROW|wxALL, 10 ); m_hsizer->Add( m_bigBtn , 3, wxGROW|wxALL, 10 );
sizer->Add (m_hsizer, 1, wxGROW); sizer->Add (m_hsizer, 1, wxGROW);
@@ -1467,7 +1439,7 @@ void MyPanel::OnShowProgress( wxCommandEvent& WXUNUSED(event) )
wxPD_REMAINING_TIME); wxPD_REMAINING_TIME);
bool cont = TRUE; bool cont = true;
for ( int i = 0; i <= max && cont; i++ ) for ( int i = 0; i <= max && cont; i++ )
{ {
wxSleep(1); wxSleep(1);
@@ -1558,7 +1530,7 @@ BEGIN_EVENT_TABLE(MyFrame, wxFrame)
END_EVENT_TABLE() END_EVENT_TABLE()
MyFrame::MyFrame(const wxChar *title, int x, int y) MyFrame::MyFrame(const wxChar *title, int x, int y)
: wxFrame(NULL, -1, title, wxPoint(x, y), wxSize(500, 430)) : wxFrame(NULL, wxID_ANY, title, wxPoint(x, y), wxSize(500, 430))
{ {
// Give it an icon // Give it an icon
// The wxICON() macros loads an icon from a resource under Windows // The wxICON() macros loads an icon from a resource under Windows
@@ -1584,14 +1556,14 @@ MyFrame::MyFrame(const wxChar *title, int x, int y)
tooltip_menu->Append(CONTROLS_SET_TOOLTIP_DELAY, _T("Set &delay\tCtrl-D")); tooltip_menu->Append(CONTROLS_SET_TOOLTIP_DELAY, _T("Set &delay\tCtrl-D"));
tooltip_menu->AppendSeparator(); tooltip_menu->AppendSeparator();
tooltip_menu->Append(CONTROLS_ENABLE_TOOLTIPS, _T("&Toggle tooltips\tCtrl-T"), tooltip_menu->Append(CONTROLS_ENABLE_TOOLTIPS, _T("&Toggle tooltips\tCtrl-T"),
_T("enable/disable tooltips"), TRUE); _T("enable/disable tooltips"), true);
tooltip_menu->Check(CONTROLS_ENABLE_TOOLTIPS, TRUE); tooltip_menu->Check(CONTROLS_ENABLE_TOOLTIPS, true);
menu_bar->Append(tooltip_menu, _T("&Tooltips")); menu_bar->Append(tooltip_menu, _T("&Tooltips"));
#endif // wxUSE_TOOLTIPS #endif // wxUSE_TOOLTIPS
wxMenu *panel_menu = new wxMenu; wxMenu *panel_menu = new wxMenu;
panel_menu->Append(CONTROLS_ENABLE_ALL, _T("&Disable all\tCtrl-E"), panel_menu->Append(CONTROLS_ENABLE_ALL, _T("&Disable all\tCtrl-E"),
_T("Enable/disable all panel controls"), TRUE); _T("Enable/disable all panel controls"), true);
menu_bar->Append(panel_menu, _T("&Panel")); menu_bar->Append(panel_menu, _T("&Panel"));
SetMenuBar(menu_bar); SetMenuBar(menu_bar);
@@ -1605,7 +1577,7 @@ MyFrame::MyFrame(const wxChar *title, int x, int y)
void MyFrame::OnQuit (wxCommandEvent& WXUNUSED(event) ) void MyFrame::OnQuit (wxCommandEvent& WXUNUSED(event) )
{ {
Close(TRUE); Close(true);
} }
void MyFrame::OnAbout( wxCommandEvent& WXUNUSED(event) ) void MyFrame::OnAbout( wxCommandEvent& WXUNUSED(event) )
@@ -1645,7 +1617,7 @@ void MyFrame::OnSetTooltipDelay(wxCommandEvent& WXUNUSED(event))
void MyFrame::OnToggleTooltips(wxCommandEvent& WXUNUSED(event)) void MyFrame::OnToggleTooltips(wxCommandEvent& WXUNUSED(event))
{ {
static bool s_enabled = TRUE; static bool s_enabled = true;
s_enabled = !s_enabled; s_enabled = !s_enabled;
@@ -1657,7 +1629,7 @@ void MyFrame::OnToggleTooltips(wxCommandEvent& WXUNUSED(event))
void MyFrame::OnEnableAll(wxCommandEvent& WXUNUSED(event)) void MyFrame::OnEnableAll(wxCommandEvent& WXUNUSED(event))
{ {
static bool s_enable = TRUE; static bool s_enable = true;
s_enable = !s_enable; s_enable = !s_enable;
m_panel->Enable(s_enable); m_panel->Enable(s_enable);

View File

@@ -484,9 +484,9 @@ public:
// we don't draw the shape to a bitmap until it's really needed (i.e. // we don't draw the shape to a bitmap until it's really needed (i.e.
// we're asked to do so) // we're asked to do so)
m_hasBitmap = FALSE; m_hasBitmap = false;
#if wxUSE_METAFILES #if wxUSE_METAFILES
m_hasMetaFile = FALSE; m_hasMetaFile = false;
#endif // wxUSE_METAFILES #endif // wxUSE_METAFILES
} }
@@ -503,9 +503,9 @@ public:
DnDShape *shape = m_shape; DnDShape *shape = m_shape;
m_shape = (DnDShape *)NULL; m_shape = (DnDShape *)NULL;
m_hasBitmap = FALSE; m_hasBitmap = false;
#if wxUSE_METAFILES #if wxUSE_METAFILES
m_hasMetaFile = FALSE; m_hasMetaFile = false;
#endif // wxUSE_METAFILES #endif // wxUSE_METAFILES
return shape; return shape;
@@ -586,7 +586,7 @@ public:
{ {
m_shape->GetDataHere(pBuf); m_shape->GetDataHere(pBuf);
return TRUE; return true;
} }
#if wxUSE_METAFILES #if wxUSE_METAFILES
else if ( m_dobjMetaFile.IsSupported(format) ) else if ( m_dobjMetaFile.IsSupported(format) )
@@ -612,20 +612,20 @@ public:
virtual bool SetData(const wxDataFormat& format, virtual bool SetData(const wxDataFormat& format,
size_t len, const void *buf) size_t len, const void *buf)
{ {
wxCHECK_MSG( format == m_formatShape, FALSE, wxCHECK_MSG( format == m_formatShape, false,
wxT( "unsupported format") ); wxT( "unsupported format") );
delete m_shape; delete m_shape;
m_shape = DnDShape::New(buf); m_shape = DnDShape::New(buf);
// the shape has changed // the shape has changed
m_hasBitmap = FALSE; m_hasBitmap = false;
#if wxUSE_METAFILES #if wxUSE_METAFILES
m_hasMetaFile = FALSE; m_hasMetaFile = false;
#endif // wxUSE_METAFILES #endif // wxUSE_METAFILES
return TRUE; return true;
} }
private: private:
@@ -888,21 +888,21 @@ bool DnDApp::OnInit()
10, 100, 650, 340); 10, 100, 650, 340);
// activate it // activate it
frame->Show(TRUE); frame->Show(true);
SetTopWindow(frame); SetTopWindow(frame);
return TRUE; return true;
#else #else
wxMessageBox( _T("This sample has to be compiled with wxUSE_DRAG_AND_DROP"), _T("Building error"), wxOK); wxMessageBox( _T("This sample has to be compiled with wxUSE_DRAG_AND_DROP"), _T("Building error"), wxOK);
return FALSE; return false;
#endif // wxUSE_DRAG_AND_DROP #endif // wxUSE_DRAG_AND_DROP
} }
#if wxUSE_DRAG_AND_DROP #if wxUSE_DRAG_AND_DROP
DnDFrame::DnDFrame(wxFrame *frame, wxChar *title, int x, int y, int w, int h) DnDFrame::DnDFrame(wxFrame *frame, wxChar *title, int x, int y, int w, int h)
: wxFrame(frame, -1, title, wxPoint(x, y), wxSize(w, h)), : wxFrame(frame, wxID_ANY, title, wxPoint(x, y), wxSize(w, h)),
m_strText(_T("wxWindows drag & drop works :-)")) m_strText(_T("wxWindows drag & drop works :-)"))
{ {
@@ -951,17 +951,14 @@ DnDFrame::DnDFrame(wxFrame *frame, wxChar *title, int x, int y, int w, int h)
SetMenuBar(menu_bar); SetMenuBar(menu_bar);
// make a panel with 3 subwindows // make a panel with 3 subwindows
wxPoint pos(0, 0);
wxSize size(400, 200);
wxString strFile(_T("Drop files here!")), strText(_T("Drop text on me")); wxString strFile(_T("Drop files here!")), strText(_T("Drop text on me"));
m_ctrlFile = new wxListBox(this, -1, pos, size, 1, &strFile, m_ctrlFile = new wxListBox(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 1, &strFile,
wxLB_HSCROLL | wxLB_ALWAYS_SB ); wxLB_HSCROLL | wxLB_ALWAYS_SB );
m_ctrlText = new wxListBox(this, -1, pos, size, 1, &strText, m_ctrlText = new wxListBox(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 1, &strText,
wxLB_HSCROLL | wxLB_ALWAYS_SB ); wxLB_HSCROLL | wxLB_ALWAYS_SB );
m_ctrlLog = new wxTextCtrl(this, -1, _T(""), pos, size, m_ctrlLog = new wxTextCtrl(this, wxID_ANY, _T(""), wxDefaultPosition, wxDefaultSize,
wxTE_MULTILINE | wxTE_READONLY | wxTE_MULTILINE | wxTE_READONLY |
wxSUNKEN_BORDER ); wxSUNKEN_BORDER );
@@ -974,43 +971,26 @@ DnDFrame::DnDFrame(wxFrame *frame, wxChar *title, int x, int y, int w, int h)
m_ctrlText->SetDropTarget(new DnDText(m_ctrlText)); m_ctrlText->SetDropTarget(new DnDText(m_ctrlText));
m_ctrlLog->SetDropTarget(new URLDropTarget); m_ctrlLog->SetDropTarget(new URLDropTarget);
wxLayoutConstraints *c; wxBoxSizer *m_sizer_top = new wxBoxSizer( wxHORIZONTAL );
m_sizer_top->Add(m_ctrlFile, 1, wxEXPAND );
m_sizer_top->Add(m_ctrlText, 1, wxEXPAND );
// Top-left listbox wxBoxSizer *m_sizer = new wxBoxSizer( wxVERTICAL );
c = new wxLayoutConstraints; m_sizer->Add(m_sizer_top, 1, wxEXPAND );
c->left.SameAs(this, wxLeft); m_sizer->Add(m_ctrlLog, 1, wxEXPAND | wxBOTTOM, 50);
c->top.SameAs(this, wxTop);
c->right.PercentOf(this, wxRight, 50);
c->height.PercentOf(this, wxHeight, 30);
m_ctrlFile->SetConstraints(c);
// Top-right listbox SetSizer( m_sizer );
c = new wxLayoutConstraints; m_sizer->SetSizeHints( this );
c->left.SameAs (m_ctrlFile, wxRight);
c->top.SameAs (this, wxTop);
c->right.SameAs (this, wxRight);
c->height.PercentOf(this, wxHeight, 30);
m_ctrlText->SetConstraints(c);
// Lower text control
c = new wxLayoutConstraints;
c->left.SameAs (this, wxLeft);
c->right.SameAs (this, wxRight);
c->height.PercentOf(this, wxHeight, 50);
c->top.SameAs(m_ctrlText, wxBottom);
m_ctrlLog->SetConstraints(c);
SetAutoLayout(TRUE);
// copy data by default but allow moving it as well // copy data by default but allow moving it as well
m_moveByDefault = FALSE; m_moveByDefault = false;
m_moveAllow = TRUE; m_moveAllow = true;
menu_bar->Check(Menu_DragMoveAllow, TRUE); menu_bar->Check(Menu_DragMoveAllow, true);
} }
void DnDFrame::OnQuit(wxCommandEvent& WXUNUSED(event)) void DnDFrame::OnQuit(wxCommandEvent& WXUNUSED(event))
{ {
Close(TRUE); Close(true);
} }
void DnDFrame::OnSize(wxSizeEvent& event) void DnDFrame::OnSize(wxSizeEvent& event)
@@ -1028,7 +1008,7 @@ void DnDFrame::OnPaint(wxPaintEvent& WXUNUSED(event))
wxPaintDC dc(this); wxPaintDC dc(this);
// dc.Clear(); -- this kills wxGTK // dc.Clear(); -- this kills wxGTK
dc.SetFont( wxFont( 24, wxDECORATIVE, wxNORMAL, wxNORMAL, FALSE, _T("charter") ) ); dc.SetFont( wxFont( 24, wxDECORATIVE, wxNORMAL, wxNORMAL, false, _T("charter") ) );
dc.DrawText( _T("Drag text from here!"), 100, h-50 ); dc.DrawText( _T("Drag text from here!"), 100, h-50 );
} }
@@ -1062,7 +1042,7 @@ void DnDFrame::OnUpdateUIPasteBitmap(wxUpdateUIEvent& event)
void DnDFrame::OnNewFrame(wxCommandEvent& WXUNUSED(event)) void DnDFrame::OnNewFrame(wxCommandEvent& WXUNUSED(event))
{ {
(new DnDShapeFrame(this))->Show(TRUE); (new DnDShapeFrame(this))->Show(true);
wxLogStatus(this, wxT("Double click the new frame to select a shape for it")); wxLogStatus(this, wxT("Double click the new frame to select a shape for it"));
} }
@@ -1453,7 +1433,7 @@ bool DnDText::OnDropText(wxCoord, wxCoord, const wxString& text)
{ {
m_pOwner->Append(text); m_pOwner->Append(text);
return TRUE; return true;
} }
bool DnDFile::OnDropFiles(wxCoord, wxCoord, const wxArrayString& filenames) bool DnDFile::OnDropFiles(wxCoord, wxCoord, const wxArrayString& filenames)
@@ -1466,7 +1446,7 @@ bool DnDFile::OnDropFiles(wxCoord, wxCoord, const wxArrayString& filenames)
m_pOwner->Append(filenames[n]); m_pOwner->Append(filenames[n]);
} }
return TRUE; return true;
} }
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
@@ -1486,39 +1466,39 @@ DnDShapeDialog::DnDShapeDialog(wxFrame *parent, DnDShape *shape)
const wxString choices[] = { wxT("None"), wxT("Triangle"), const wxString choices[] = { wxT("None"), wxT("Triangle"),
wxT("Rectangle"), wxT("Ellipse") }; wxT("Rectangle"), wxT("Ellipse") };
m_radio = new wxRadioBox( this, -1, wxT("&Shape"), m_radio = new wxRadioBox( this, wxID_ANY, wxT("&Shape"),
wxDefaultPosition, wxDefaultSize, 4, choices, 4, wxDefaultPosition, wxDefaultSize, 4, choices, 4,
wxRA_SPECIFY_COLS ); wxRA_SPECIFY_COLS );
shapesSizer->Add( m_radio, 0, wxGROW|wxALL, 5 ); shapesSizer->Add( m_radio, 0, wxGROW|wxALL, 5 );
topSizer->Add( shapesSizer, 0, wxALL, 2 ); topSizer->Add( shapesSizer, 0, wxALL, 2 );
// attributes // attributes
wxStaticBox* box = new wxStaticBox( this, -1, wxT("&Attributes") ); wxStaticBox* box = new wxStaticBox( this, wxID_ANY, wxT("&Attributes") );
wxStaticBoxSizer* attrSizer = new wxStaticBoxSizer( box, wxHORIZONTAL ); wxStaticBoxSizer* attrSizer = new wxStaticBoxSizer( box, wxHORIZONTAL );
wxFlexGridSizer* xywhSizer = new wxFlexGridSizer( 4, 2 ); wxFlexGridSizer* xywhSizer = new wxFlexGridSizer( 4, 2 );
wxStaticText* st; wxStaticText* st;
st = new wxStaticText( this, -1, wxT("Position &X:") ); st = new wxStaticText( this, wxID_ANY, wxT("Position &X:") );
m_textX = new wxTextCtrl( this, -1, wxEmptyString, wxDefaultPosition, m_textX = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition,
wxSize( 30, 20 ) ); wxSize( 30, 20 ) );
xywhSizer->Add( st, 1, wxGROW|wxALL, 2 ); xywhSizer->Add( st, 1, wxGROW|wxALL, 2 );
xywhSizer->Add( m_textX, 1, wxGROW|wxALL, 2 ); xywhSizer->Add( m_textX, 1, wxGROW|wxALL, 2 );
st = new wxStaticText( this, -1, wxT("Size &width:") ); st = new wxStaticText( this, wxID_ANY, wxT("Size &width:") );
m_textW = new wxTextCtrl( this, -1, wxEmptyString, wxDefaultPosition, m_textW = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition,
wxSize( 30, 20 ) ); wxSize( 30, 20 ) );
xywhSizer->Add( st, 1, wxGROW|wxALL, 2 ); xywhSizer->Add( st, 1, wxGROW|wxALL, 2 );
xywhSizer->Add( m_textW, 1, wxGROW|wxALL, 2 ); xywhSizer->Add( m_textW, 1, wxGROW|wxALL, 2 );
st = new wxStaticText( this, -1, wxT("&Y:") ); st = new wxStaticText( this, wxID_ANY, wxT("&Y:") );
m_textY = new wxTextCtrl( this, -1, wxEmptyString, wxDefaultPosition, m_textY = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition,
wxSize( 30, 20 ) ); wxSize( 30, 20 ) );
xywhSizer->Add( st, 1, wxALL|wxALIGN_RIGHT, 2 ); xywhSizer->Add( st, 1, wxALL|wxALIGN_RIGHT, 2 );
xywhSizer->Add( m_textY, 1, wxGROW|wxALL, 2 ); xywhSizer->Add( m_textY, 1, wxGROW|wxALL, 2 );
st = new wxStaticText( this, -1, wxT("&height:") ); st = new wxStaticText( this, wxID_ANY, wxT("&height:") );
m_textH = new wxTextCtrl( this, -1, wxEmptyString, wxDefaultPosition, m_textH = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition,
wxSize( 30, 20 ) ); wxSize( 30, 20 ) );
xywhSizer->Add( st, 1, wxALL|wxALIGN_RIGHT, 2 ); xywhSizer->Add( st, 1, wxALL|wxALIGN_RIGHT, 2 );
xywhSizer->Add( m_textH, 1, wxGROW|wxALL, 2 ); xywhSizer->Add( m_textH, 1, wxGROW|wxALL, 2 );
@@ -1537,7 +1517,6 @@ DnDShapeDialog::DnDShapeDialog(wxFrame *parent, DnDShape *shape)
buttonSizer->Add( bt, 0, wxALL, 2 ); buttonSizer->Add( bt, 0, wxALL, 2 );
topSizer->Add( buttonSizer, 0, wxALL|wxALIGN_RIGHT, 2 ); topSizer->Add( buttonSizer, 0, wxALL|wxALIGN_RIGHT, 2 );
SetAutoLayout( TRUE );
SetSizer( topSizer ); SetSizer( topSizer );
topSizer->Fit( this ); topSizer->Fit( this );
} }
@@ -1576,7 +1555,7 @@ bool DnDShapeDialog::TransferDataToWindow()
m_textW->SetValue(wxString() << m_size.x); m_textW->SetValue(wxString() << m_size.x);
m_textH->SetValue(wxString() << m_size.y); m_textH->SetValue(wxString() << m_size.y);
return TRUE; return true;
} }
bool DnDShapeDialog::TransferDataFromWindow() bool DnDShapeDialog::TransferDataFromWindow()
@@ -1593,16 +1572,16 @@ bool DnDShapeDialog::TransferDataFromWindow()
wxMessageBox(_T("All sizes and positions should be non null!"), wxMessageBox(_T("All sizes and positions should be non null!"),
_T("Invalid shape"), wxICON_HAND | wxOK, this); _T("Invalid shape"), wxICON_HAND | wxOK, this);
return FALSE; return false;
} }
return TRUE; return true;
} }
void DnDShapeDialog::OnColour(wxCommandEvent& WXUNUSED(event)) void DnDShapeDialog::OnColour(wxCommandEvent& WXUNUSED(event))
{ {
wxColourData data; wxColourData data;
data.SetChooseFull(TRUE); data.SetChooseFull(true);
for (int i = 0; i < 16; i++) for (int i = 0; i < 16; i++)
{ {
wxColour colour(i*16, i*16, i*16); wxColour colour(i*16, i*16, i*16);
@@ -1623,7 +1602,7 @@ void DnDShapeDialog::OnColour(wxCommandEvent& WXUNUSED(event))
DnDShapeFrame *DnDShapeFrame::ms_lastDropTarget = NULL; DnDShapeFrame *DnDShapeFrame::ms_lastDropTarget = NULL;
DnDShapeFrame::DnDShapeFrame(wxFrame *parent) DnDShapeFrame::DnDShapeFrame(wxFrame *parent)
: wxFrame(parent, -1, _T("Shape Frame"), : wxFrame(parent, wxID_ANY, _T("Shape Frame"),
wxDefaultPosition, wxSize(250, 150)) wxDefaultPosition, wxSize(250, 150))
{ {
CreateStatusBar(); CreateStatusBar();
@@ -1682,7 +1661,7 @@ void DnDShapeFrame::OnDrag(wxMouseEvent& event)
wxDropSource source(shapeData, this); wxDropSource source(shapeData, this);
const wxChar *pc = NULL; const wxChar *pc = NULL;
switch ( source.DoDragDrop(TRUE) ) switch ( source.DoDragDrop(true) )
{ {
default: default:
case wxDragError: case wxDragError:
@@ -1868,7 +1847,7 @@ void DnDShapeDataObject::CreateMetaFile() const
DnDShapeDataObject *self = (DnDShapeDataObject *)this; // const_cast DnDShapeDataObject *self = (DnDShapeDataObject *)this; // const_cast
self->m_dobjMetaFile.SetMetafile(*mf); self->m_dobjMetaFile.SetMetafile(*mf);
self->m_hasMetaFile = TRUE; self->m_hasMetaFile = true;
delete mf; delete mf;
} }
@@ -1891,7 +1870,7 @@ void DnDShapeDataObject::CreateBitmap() const
DnDShapeDataObject *self = (DnDShapeDataObject *)this; // const_cast DnDShapeDataObject *self = (DnDShapeDataObject *)this; // const_cast
self->m_dobjBitmap.SetBitmap(bitmap); self->m_dobjBitmap.SetBitmap(bitmap);
self->m_hasBitmap = TRUE; self->m_hasBitmap = true;
} }
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
@@ -1900,7 +1879,7 @@ void DnDShapeDataObject::CreateBitmap() const
static void ShowBitmap(const wxBitmap& bitmap) static void ShowBitmap(const wxBitmap& bitmap)
{ {
wxFrame *frame = new wxFrame(NULL, -1, _T("Bitmap view")); wxFrame *frame = new wxFrame(NULL, wxID_ANY, _T("Bitmap view"));
frame->CreateStatusBar(); frame->CreateStatusBar();
DnDCanvasBitmap *canvas = new DnDCanvasBitmap(frame); DnDCanvasBitmap *canvas = new DnDCanvasBitmap(frame);
canvas->SetBitmap(bitmap); canvas->SetBitmap(bitmap);
@@ -1910,14 +1889,14 @@ static void ShowBitmap(const wxBitmap& bitmap)
frame->SetStatusText(wxString::Format(_T("%dx%d"), w, h)); frame->SetStatusText(wxString::Format(_T("%dx%d"), w, h));
frame->SetClientSize(w > 100 ? 100 : w, h > 100 ? 100 : h); frame->SetClientSize(w > 100 ? 100 : w, h > 100 ? 100 : h);
frame->Show(TRUE); frame->Show(true);
} }
#if wxUSE_METAFILES #if wxUSE_METAFILES
static void ShowMetaFile(const wxMetaFile& metafile) static void ShowMetaFile(const wxMetaFile& metafile)
{ {
wxFrame *frame = new wxFrame(NULL, -1, _T("Metafile view")); wxFrame *frame = new wxFrame(NULL, wxID_ANY, _T("Metafile view"));
frame->CreateStatusBar(); frame->CreateStatusBar();
DnDCanvasMetafile *canvas = new DnDCanvasMetafile(frame); DnDCanvasMetafile *canvas = new DnDCanvasMetafile(frame);
canvas->SetMetafile(metafile); canvas->SetMetafile(metafile);

View File

@@ -24,10 +24,6 @@
#include "wx/wx.h" #include "wx/wx.h"
#endif #endif
#if !wxUSE_CONSTRAINTS
#error You must set wxUSE_CONSTRAINTS to 1 in setup.h!
#endif
#include "wx/sizer.h" #include "wx/sizer.h"
#include "wx/gbsizer.h" #include "wx/gbsizer.h"
#include "wx/statline.h" #include "wx/statline.h"
@@ -50,9 +46,9 @@ bool MyApp::OnInit()
// Create the main frame window // Create the main frame window
MyFrame *frame = new MyFrame; MyFrame *frame = new MyFrame;
frame->Show(TRUE); frame->Show(true);
return TRUE; return true;
} }
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
@@ -63,7 +59,6 @@ BEGIN_EVENT_TABLE(MyFrame, wxFrame)
EVT_MENU(LAYOUT_ABOUT, MyFrame::OnAbout) EVT_MENU(LAYOUT_ABOUT, MyFrame::OnAbout)
EVT_MENU(LAYOUT_QUIT, MyFrame::OnQuit) EVT_MENU(LAYOUT_QUIT, MyFrame::OnQuit)
EVT_MENU(LAYOUT_TEST_CONSTRAINTS, MyFrame::TestConstraints)
EVT_MENU(LAYOUT_TEST_SIZER, MyFrame::TestFlexSizers) EVT_MENU(LAYOUT_TEST_SIZER, MyFrame::TestFlexSizers)
EVT_MENU(LAYOUT_TEST_NB_SIZER, MyFrame::TestNotebookSizers) EVT_MENU(LAYOUT_TEST_NB_SIZER, MyFrame::TestNotebookSizers)
EVT_MENU(LAYOUT_TEST_GB_SIZER, MyFrame::TestGridBagSizer) EVT_MENU(LAYOUT_TEST_GB_SIZER, MyFrame::TestGridBagSizer)
@@ -71,14 +66,13 @@ END_EVENT_TABLE()
// Define my frame constructor // Define my frame constructor
MyFrame::MyFrame() MyFrame::MyFrame()
: wxFrame(NULL, -1, _T("wxWindows Layout Demo"), : wxFrame(NULL, wxID_ANY, _T("wxWindows Layout Demo"),
wxDefaultPosition, wxDefaultSize, wxDefaultPosition, wxDefaultSize,
wxDEFAULT_FRAME_STYLE | wxNO_FULL_REPAINT_ON_RESIZE) wxDEFAULT_FRAME_STYLE | wxNO_FULL_REPAINT_ON_RESIZE)
{ {
// Make a menubar // Make a menubar
wxMenu *file_menu = new wxMenu; wxMenu *file_menu = new wxMenu;
file_menu->Append(LAYOUT_TEST_CONSTRAINTS, _T("Test &constraints"));
file_menu->Append(LAYOUT_TEST_SIZER, _T("Test wx&FlexSizer")); file_menu->Append(LAYOUT_TEST_SIZER, _T("Test wx&FlexSizer"));
file_menu->Append(LAYOUT_TEST_NB_SIZER, _T("&Test notebook sizers")); file_menu->Append(LAYOUT_TEST_NB_SIZER, _T("&Test notebook sizers"));
file_menu->Append(LAYOUT_TEST_GB_SIZER, _T("Test &gridbag sizer")); file_menu->Append(LAYOUT_TEST_GB_SIZER, _T("Test &gridbag sizer"));
@@ -109,7 +103,7 @@ MyFrame::MyFrame()
// 1) top: create wxStaticText with minimum size equal to its default size // 1) top: create wxStaticText with minimum size equal to its default size
topsizer->Add( topsizer->Add(
new wxStaticText( this, -1, _T("An explanation (wxALIGN_RIGHT).") ), new wxStaticText( this, wxID_ANY, _T("An explanation (wxALIGN_RIGHT).") ),
0, // make vertically unstretchable 0, // make vertically unstretchable
wxALIGN_RIGHT | // right align text wxALIGN_RIGHT | // right align text
wxTOP | wxLEFT | wxRIGHT, // make border all around except wxBOTTOM wxTOP | wxLEFT | wxRIGHT, // make border all around except wxBOTTOM
@@ -117,7 +111,7 @@ MyFrame::MyFrame()
// 2) top: create wxTextCtrl with minimum size (100x60) // 2) top: create wxTextCtrl with minimum size (100x60)
topsizer->Add( topsizer->Add(
new wxTextCtrl( this, -1, _T("My text (wxEXPAND)."), wxDefaultPosition, wxSize(100,60), wxTE_MULTILINE), new wxTextCtrl( this, wxID_ANY, _T("My text (wxEXPAND)."), wxDefaultPosition, wxSize(100,60), wxTE_MULTILINE),
1, // make vertically stretchable 1, // make vertically stretchable
wxEXPAND | // make horizontally stretchable wxEXPAND | // make horizontally stretchable
wxALL, // and make border all around wxALL, // and make border all around
@@ -125,10 +119,10 @@ MyFrame::MyFrame()
// 2.5) Gratuitous test of wxStaticBoxSizers // 2.5) Gratuitous test of wxStaticBoxSizers
wxBoxSizer *statsizer = new wxStaticBoxSizer( wxBoxSizer *statsizer = new wxStaticBoxSizer(
new wxStaticBox(this, -1, _T("A wxStaticBoxSizer")), new wxStaticBox(this, wxID_ANY, _T("A wxStaticBoxSizer")),
wxVERTICAL ); wxVERTICAL );
statsizer->Add( statsizer->Add(
new wxStaticText(this, -1, _T("And some TEXT inside it")), new wxStaticText(this, wxID_ANY, _T("And some TEXT inside it")),
0, 0,
wxCENTER | wxCENTER |
wxALL, wxALL,
@@ -137,24 +131,24 @@ MyFrame::MyFrame()
// 2.7) And a test of wxGridSizer // 2.7) And a test of wxGridSizer
wxGridSizer *gridsizer = new wxGridSizer(2, 5, 5); wxGridSizer *gridsizer = new wxGridSizer(2, 5, 5);
gridsizer->Add(new wxStaticText(this, -1, _T("Label")), 0, gridsizer->Add(new wxStaticText(this, wxID_ANY, _T("Label")), 0,
wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL); wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL);
gridsizer->Add(new wxTextCtrl(this, -1, _T("Grid sizer demo")), 1, gridsizer->Add(new wxTextCtrl(this, wxID_ANY, _T("Grid sizer demo")), 1,
wxGROW | wxALIGN_CENTER_VERTICAL); wxGROW | wxALIGN_CENTER_VERTICAL);
gridsizer->Add(new wxStaticText(this, -1, _T("Another label")), 0, gridsizer->Add(new wxStaticText(this, wxID_ANY, _T("Another label")), 0,
wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL); wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL);
gridsizer->Add(new wxTextCtrl(this, -1, _T("More text")), 1, gridsizer->Add(new wxTextCtrl(this, wxID_ANY, _T("More text")), 1,
wxGROW | wxALIGN_CENTER_VERTICAL); wxGROW | wxALIGN_CENTER_VERTICAL);
gridsizer->Add(new wxStaticText(this, -1, _T("Final label")), 0, gridsizer->Add(new wxStaticText(this, wxID_ANY, _T("Final label")), 0,
wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL); wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL);
gridsizer->Add(new wxTextCtrl(this, -1, _T("And yet more text")), 1, gridsizer->Add(new wxTextCtrl(this, wxID_ANY, _T("And yet more text")), 1,
wxGROW | wxALIGN_CENTER_VERTICAL); wxGROW | wxALIGN_CENTER_VERTICAL);
topsizer->Add(gridsizer, 1, wxGROW | wxALL, 10); topsizer->Add(gridsizer, 1, wxGROW | wxALL, 10);
// 3) middle: create wxStaticLine with minimum size (3x3) // 3) middle: create wxStaticLine with minimum size (3x3)
topsizer->Add( topsizer->Add(
new wxStaticLine( this, -1, wxDefaultPosition, wxSize(3,3), wxHORIZONTAL), new wxStaticLine( this, wxID_ANY, wxDefaultPosition, wxSize(3,3), wxHORIZONTAL),
0, // make vertically unstretchable 0, // make vertically unstretchable
wxEXPAND | // make horizontally stretchable wxEXPAND | // make horizontally stretchable
wxALL, // and make border all around wxALL, // and make border all around
@@ -164,12 +158,12 @@ MyFrame::MyFrame()
// 4) bottom: create two centred wxButtons // 4) bottom: create two centred wxButtons
wxBoxSizer *button_box = new wxBoxSizer( wxHORIZONTAL ); wxBoxSizer *button_box = new wxBoxSizer( wxHORIZONTAL );
button_box->Add( button_box->Add(
new wxButton( this, -1, _T("Two buttons in a box") ), new wxButton( this, wxID_ANY, _T("Two buttons in a box") ),
0, // make horizontally unstretchable 0, // make horizontally unstretchable
wxALL, // make border all around wxALL, // make border all around
7 ); // set border width to 7 7 ); // set border width to 7
button_box->Add( button_box->Add(
new wxButton( this, -1, _T("(wxCENTER)") ), new wxButton( this, wxID_ANY, _T("(wxCENTER)") ),
0, // make horizontally unstretchable 0, // make horizontally unstretchable
wxALL, // make border all around wxALL, // make border all around
7 ); // set border width to 7 7 ); // set border width to 7
@@ -188,20 +182,13 @@ MyFrame::MyFrame()
void MyFrame::OnQuit(wxCommandEvent& WXUNUSED(event) ) void MyFrame::OnQuit(wxCommandEvent& WXUNUSED(event) )
{ {
Close(TRUE); Close(true);
}
void MyFrame::TestConstraints(wxCommandEvent& WXUNUSED(event) )
{
MyConstraintsFrame *
newFrame = new MyConstraintsFrame(_T("Constraints Test Frame"), 100, 100);
newFrame->Show(TRUE);
} }
void MyFrame::TestFlexSizers(wxCommandEvent& WXUNUSED(event) ) void MyFrame::TestFlexSizers(wxCommandEvent& WXUNUSED(event) )
{ {
MyFlexSizerFrame *newFrame = new MyFlexSizerFrame(_T("Flex Sizer Test Frame"), 50, 50); MyFlexSizerFrame *newFrame = new MyFlexSizerFrame(_T("Flex Sizer Test Frame"), 50, 50);
newFrame->Show(TRUE); newFrame->Show(true);
} }
void MyFrame::TestNotebookSizers(wxCommandEvent& WXUNUSED(event) ) void MyFrame::TestNotebookSizers(wxCommandEvent& WXUNUSED(event) )
@@ -222,98 +209,10 @@ void MyFrame::TestGridBagSizer(wxCommandEvent& WXUNUSED(event) )
{ {
MyGridBagSizerFrame *newFrame = new MyGridBagSizerFrame *newFrame = new
MyGridBagSizerFrame(_T("wxGridBagSizer Test Frame"), 50, 50); MyGridBagSizerFrame(_T("wxGridBagSizer Test Frame"), 50, 50);
newFrame->Show(TRUE); newFrame->Show(true);
} }
// ----------------------------------------------------------------------------
// MyConstraintsFrame
// ----------------------------------------------------------------------------
MyConstraintsFrame::MyConstraintsFrame(const wxChar *title, int x, int y)
: wxFrame(NULL, -1, title, wxPoint(x, y) )
{
// Make a panel
wxPanel *panel = new wxPanel(this);
// Create some panel items
wxButton *btn1 = new wxButton(panel, -1, _T("A button (1)")) ;
wxLayoutConstraints *b1 = new wxLayoutConstraints;
b1->centreX.SameAs (panel, wxCentreX);
b1->top.SameAs (panel, wxTop, 5);
b1->width.PercentOf (panel, wxWidth, 80);
b1->height.AsIs ();
btn1->SetConstraints(b1);
wxListBox *list = new wxListBox(panel, -1,
wxPoint(-1, -1), wxSize(200, 100));
list->Append(_T("Apple"));
list->Append(_T("Pear"));
list->Append(_T("Orange"));
list->Append(_T("Banana"));
list->Append(_T("Fruit"));
wxLayoutConstraints *b2 = new wxLayoutConstraints;
b2->top.Below (btn1, 5);
b2->left.SameAs (panel, wxLeft, 5);
b2->width.PercentOf (panel, wxWidth, 40);
b2->bottom.SameAs (panel, wxBottom, 5);
list->SetConstraints(b2);
wxTextCtrl *mtext = new wxTextCtrl(panel, -1,
_T("This frame is laid out using\nconstraints, but the preferred\nlayout mechanism now are sizers."),
wxDefaultPosition,
wxDefaultSize,
wxTE_MULTILINE);
wxLayoutConstraints *b3 = new wxLayoutConstraints;
b3->top.Below (btn1, 5);
b3->left.RightOf (list, 5);
b3->right.SameAs (panel, wxRight, 5);
b3->bottom.SameAs (panel, wxBottom, 5);
mtext->SetConstraints(b3);
wxTextCtrl *canvas = new wxTextCtrl(this, -1, _T("yet another window"));
// Make a text window
wxTextCtrl *text_window = new wxTextCtrl(this, -1, _T(""),
wxDefaultPosition,
wxDefaultSize,
wxTE_MULTILINE);
// Set constraints for panel subwindow
wxLayoutConstraints *c1 = new wxLayoutConstraints;
c1->left.SameAs (this, wxLeft);
c1->top.SameAs (this, wxTop);
c1->right.PercentOf (this, wxWidth, 50);
c1->height.PercentOf (this, wxHeight, 50);
panel->SetConstraints(c1);
// Set constraints for canvas subwindow
wxLayoutConstraints *c2 = new wxLayoutConstraints;
c2->left.SameAs (panel, wxRight);
c2->top.SameAs (this, wxTop);
c2->right.SameAs (this, wxRight);
c2->height.PercentOf (this, wxHeight, 50);
canvas->SetConstraints(c2);
// Set constraints for text subwindow
wxLayoutConstraints *c3 = new wxLayoutConstraints;
c3->left.SameAs (this, wxLeft);
c3->top.Below (panel);
c3->right.SameAs (this, wxRight);
c3->bottom.SameAs (this, wxBottom);
text_window->SetConstraints(c3);
SetAutoLayout(TRUE);
}
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
// MyFlexSizerFrame // MyFlexSizerFrame
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
@@ -327,7 +226,7 @@ void MyFlexSizerFrame::InitFlexSizer(wxFlexGridSizer *sizer)
sizer->Add(new wxStaticText sizer->Add(new wxStaticText
( (
this, this,
-1, wxID_ANY,
wxString::Format(_T("(%d, %d)"), i + 1, j + 1), wxString::Format(_T("(%d, %d)"), i + 1, j + 1),
wxDefaultPosition, wxDefaultPosition,
wxDefaultSize, wxDefaultSize,
@@ -339,30 +238,30 @@ void MyFlexSizerFrame::InitFlexSizer(wxFlexGridSizer *sizer)
} }
MyFlexSizerFrame::MyFlexSizerFrame(const wxChar *title, int x, int y ) MyFlexSizerFrame::MyFlexSizerFrame(const wxChar *title, int x, int y )
: wxFrame(NULL, -1, title, wxPoint(x, y) ) : wxFrame(NULL, wxID_ANY, title, wxPoint(x, y) )
{ {
wxFlexGridSizer *sizerFlex; wxFlexGridSizer *sizerFlex;
// consttuct the first column // consttuct the first column
wxSizer *sizerCol1 = new wxBoxSizer(wxVERTICAL); wxSizer *sizerCol1 = new wxBoxSizer(wxVERTICAL);
sizerCol1->Add(new wxStaticText(this, -1, _T("Ungrowable:")), 0, wxCENTER | wxTOP, 20); sizerCol1->Add(new wxStaticText(this, wxID_ANY, _T("Ungrowable:")), 0, wxCENTER | wxTOP, 20);
sizerFlex = new wxFlexGridSizer(3, 3); sizerFlex = new wxFlexGridSizer(3, 3);
InitFlexSizer(sizerFlex); InitFlexSizer(sizerFlex);
sizerCol1->Add(sizerFlex, 1, wxALL | wxEXPAND, 10); sizerCol1->Add(sizerFlex, 1, wxALL | wxEXPAND, 10);
sizerCol1->Add(new wxStaticText(this, -1, _T("Growable middle column:")), 0, wxCENTER | wxTOP, 20); sizerCol1->Add(new wxStaticText(this, wxID_ANY, _T("Growable middle column:")), 0, wxCENTER | wxTOP, 20);
sizerFlex = new wxFlexGridSizer(3, 3); sizerFlex = new wxFlexGridSizer(3, 3);
InitFlexSizer(sizerFlex); InitFlexSizer(sizerFlex);
sizerFlex->AddGrowableCol(1); sizerFlex->AddGrowableCol(1);
sizerCol1->Add(sizerFlex, 1, wxALL | wxEXPAND, 10); sizerCol1->Add(sizerFlex, 1, wxALL | wxEXPAND, 10);
sizerCol1->Add(new wxStaticText(this, -1, _T("Growable middle row:")), 0, wxCENTER | wxTOP, 20); sizerCol1->Add(new wxStaticText(this, wxID_ANY, _T("Growable middle row:")), 0, wxCENTER | wxTOP, 20);
sizerFlex = new wxFlexGridSizer(3, 3); sizerFlex = new wxFlexGridSizer(3, 3);
InitFlexSizer(sizerFlex); InitFlexSizer(sizerFlex);
sizerFlex->AddGrowableRow(1); sizerFlex->AddGrowableRow(1);
sizerCol1->Add(sizerFlex, 1, wxALL | wxEXPAND, 10); sizerCol1->Add(sizerFlex, 1, wxALL | wxEXPAND, 10);
sizerCol1->Add(new wxStaticText(this, -1, _T("All growable columns:")), 0, wxCENTER | wxTOP, 20); sizerCol1->Add(new wxStaticText(this, wxID_ANY, _T("All growable columns:")), 0, wxCENTER | wxTOP, 20);
sizerFlex = new wxFlexGridSizer(3, 3); sizerFlex = new wxFlexGridSizer(3, 3);
InitFlexSizer(sizerFlex); InitFlexSizer(sizerFlex);
sizerFlex->AddGrowableCol(0, 1); sizerFlex->AddGrowableCol(0, 1);
@@ -372,14 +271,14 @@ MyFlexSizerFrame::MyFlexSizerFrame(const wxChar *title, int x, int y )
// the second one // the second one
wxSizer *sizerCol2 = new wxBoxSizer(wxVERTICAL); wxSizer *sizerCol2 = new wxBoxSizer(wxVERTICAL);
sizerCol2->Add(new wxStaticText(this, -1, _T("Growable middle row and column:")), 0, wxCENTER | wxTOP, 20); sizerCol2->Add(new wxStaticText(this, wxID_ANY, _T("Growable middle row and column:")), 0, wxCENTER | wxTOP, 20);
sizerFlex = new wxFlexGridSizer(3, 3); sizerFlex = new wxFlexGridSizer(3, 3);
InitFlexSizer(sizerFlex); InitFlexSizer(sizerFlex);
sizerFlex->AddGrowableCol(1); sizerFlex->AddGrowableCol(1);
sizerFlex->AddGrowableRow(1); sizerFlex->AddGrowableRow(1);
sizerCol2->Add(sizerFlex, 1, wxALL | wxEXPAND, 10); sizerCol2->Add(sizerFlex, 1, wxALL | wxEXPAND, 10);
sizerCol2->Add(new wxStaticText(this, -1, _T("Same with horz flex direction")), 0, wxCENTER | wxTOP, 20); sizerCol2->Add(new wxStaticText(this, wxID_ANY, _T("Same with horz flex direction")), 0, wxCENTER | wxTOP, 20);
sizerFlex = new wxFlexGridSizer(3, 3); sizerFlex = new wxFlexGridSizer(3, 3);
InitFlexSizer(sizerFlex); InitFlexSizer(sizerFlex);
sizerFlex->AddGrowableCol(1); sizerFlex->AddGrowableCol(1);
@@ -387,7 +286,7 @@ MyFlexSizerFrame::MyFlexSizerFrame(const wxChar *title, int x, int y )
sizerFlex->SetFlexibleDirection(wxHORIZONTAL); sizerFlex->SetFlexibleDirection(wxHORIZONTAL);
sizerCol2->Add(sizerFlex, 1, wxALL | wxEXPAND, 10); sizerCol2->Add(sizerFlex, 1, wxALL | wxEXPAND, 10);
sizerCol2->Add(new wxStaticText(this, -1, _T("Same with grow mode == \"none\"")), 0, wxCENTER | wxTOP, 20); sizerCol2->Add(new wxStaticText(this, wxID_ANY, _T("Same with grow mode == \"none\"")), 0, wxCENTER | wxTOP, 20);
sizerFlex = new wxFlexGridSizer(3, 3); sizerFlex = new wxFlexGridSizer(3, 3);
InitFlexSizer(sizerFlex); InitFlexSizer(sizerFlex);
sizerFlex->AddGrowableCol(1); sizerFlex->AddGrowableCol(1);
@@ -396,7 +295,7 @@ MyFlexSizerFrame::MyFlexSizerFrame(const wxChar *title, int x, int y )
sizerFlex->SetNonFlexibleGrowMode(wxFLEX_GROWMODE_NONE); sizerFlex->SetNonFlexibleGrowMode(wxFLEX_GROWMODE_NONE);
sizerCol2->Add(sizerFlex, 1, wxALL | wxEXPAND, 10); sizerCol2->Add(sizerFlex, 1, wxALL | wxEXPAND, 10);
sizerCol2->Add(new wxStaticText(this, -1, _T("Same with grow mode == \"all\"")), 0, wxCENTER | wxTOP, 20); sizerCol2->Add(new wxStaticText(this, wxID_ANY, _T("Same with grow mode == \"all\"")), 0, wxCENTER | wxTOP, 20);
sizerFlex = new wxFlexGridSizer(3, 3); sizerFlex = new wxFlexGridSizer(3, 3);
InitFlexSizer(sizerFlex); InitFlexSizer(sizerFlex);
sizerFlex->AddGrowableCol(1); sizerFlex->AddGrowableCol(1);
@@ -419,14 +318,14 @@ MyFlexSizerFrame::MyFlexSizerFrame(const wxChar *title, int x, int y )
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
MySizerDialog::MySizerDialog(wxWindow *parent, const wxChar *title) MySizerDialog::MySizerDialog(wxWindow *parent, const wxChar *title)
: wxDialog(parent, -1, wxString(title)) : wxDialog(parent, wxID_ANY, wxString(title))
{ {
// Begin with first hierarchy: a notebook at the top and // Begin with first hierarchy: a notebook at the top and
// and OK button at the bottom. // and OK button at the bottom.
wxBoxSizer *topsizer = new wxBoxSizer( wxVERTICAL ); wxBoxSizer *topsizer = new wxBoxSizer( wxVERTICAL );
wxNotebook *notebook = new wxNotebook( this, -1 ); wxNotebook *notebook = new wxNotebook( this, wxID_ANY );
wxNotebookSizer *nbs = new wxNotebookSizer( notebook ); wxNotebookSizer *nbs = new wxNotebookSizer( notebook );
topsizer->Add( nbs, 1, wxGROW ); topsizer->Add( nbs, 1, wxGROW );
@@ -434,23 +333,23 @@ MySizerDialog::MySizerDialog(wxWindow *parent, const wxChar *title)
topsizer->Add( button, 0, wxALIGN_RIGHT | wxALL, 10 ); topsizer->Add( button, 0, wxALIGN_RIGHT | wxALL, 10 );
// First page: one big text ctrl // First page: one big text ctrl
wxTextCtrl *multi = new wxTextCtrl( notebook, -1, _T("TextCtrl."), wxDefaultPosition, wxDefaultSize, wxTE_MULTILINE ); wxTextCtrl *multi = new wxTextCtrl( notebook, wxID_ANY, _T("TextCtrl."), wxDefaultPosition, wxDefaultSize, wxTE_MULTILINE );
notebook->AddPage( multi, _T("Page One") ); notebook->AddPage( multi, _T("Page One") );
// Second page: a text ctrl and a button // Second page: a text ctrl and a button
wxPanel *panel = new wxPanel( notebook, -1 ); wxPanel *panel = new wxPanel( notebook, wxID_ANY );
notebook->AddPage( panel, _T("Page Two") ); notebook->AddPage( panel, _T("Page Two") );
wxSizer *panelsizer = new wxBoxSizer( wxVERTICAL ); wxSizer *panelsizer = new wxBoxSizer( wxVERTICAL );
wxTextCtrl *text = new wxTextCtrl( panel, -1, _T("TextLine 1."), wxDefaultPosition, wxSize(250,-1) ); wxTextCtrl *text = new wxTextCtrl( panel, wxID_ANY, _T("TextLine 1."), wxDefaultPosition, wxSize(250,-1) );
panelsizer->Add( text, 0, wxGROW|wxALL, 30 ); panelsizer->Add( text, 0, wxGROW|wxALL, 30 );
text = new wxTextCtrl( panel, -1, _T("TextLine 2."), wxDefaultPosition, wxSize(250,-1) ); text = new wxTextCtrl( panel, wxID_ANY, _T("TextLine 2."), wxDefaultPosition, wxSize(250,-1) );
panelsizer->Add( text, 0, wxGROW|wxALL, 30 ); panelsizer->Add( text, 0, wxGROW|wxALL, 30 );
wxButton *button2 = new wxButton( panel, -1, _T("Hallo") ); wxButton *button2 = new wxButton( panel, wxID_ANY, _T("Hallo") );
panelsizer->Add( button2, 0, wxALIGN_RIGHT | wxLEFT|wxRIGHT|wxBOTTOM, 30 ); panelsizer->Add( button2, 0, wxALIGN_RIGHT | wxLEFT|wxRIGHT|wxBOTTOM, 30 );
panel->SetAutoLayout( TRUE ); panel->SetAutoLayout( true );
panel->SetSizer( panelsizer ); panel->SetSizer( panelsizer );
// Tell dialog to use sizer // Tell dialog to use sizer
@@ -463,8 +362,8 @@ MySizerDialog::MySizerDialog(wxWindow *parent, const wxChar *title)
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
// some simple macros to help make the sample code below more clear // some simple macros to help make the sample code below more clear
#define TEXTCTRL(text) new wxTextCtrl(p, -1, _T(text)) #define TEXTCTRL(text) new wxTextCtrl(p, wxID_ANY, _T(text))
#define MLTEXTCTRL(text) new wxTextCtrl(p, -1, _T(text), wxDefaultPosition, wxDefaultSize, wxTE_MULTILINE) #define MLTEXTCTRL(text) new wxTextCtrl(p, wxID_ANY, _T(text), wxDefaultPosition, wxDefaultSize, wxTE_MULTILINE)
#define POS(r, c) wxGBPosition(r,c) #define POS(r, c) wxGBPosition(r,c)
#define SPAN(r, c) wxGBSpan(r,c) #define SPAN(r, c) wxGBSpan(r,c)
@@ -494,14 +393,14 @@ END_EVENT_TABLE()
MyGridBagSizerFrame::MyGridBagSizerFrame(const wxChar *title, int x, int y ) MyGridBagSizerFrame::MyGridBagSizerFrame(const wxChar *title, int x, int y )
: wxFrame( NULL, -1, title, wxPoint(x, y) ) : wxFrame( NULL, wxID_ANY, title, wxPoint(x, y) )
{ {
wxPanel* p = new wxPanel(this, -1); wxPanel* p = new wxPanel(this, wxID_ANY);
m_panel = p; m_panel = p;
m_gbs = new wxGridBagSizer(); m_gbs = new wxGridBagSizer();
m_gbs->Add( new wxStaticText(p, -1, gbsDescription), m_gbs->Add( new wxStaticText(p, wxID_ANY, gbsDescription),
POS(0,0), SPAN(1, 7), POS(0,0), SPAN(1, 7),
wxALIGN_CENTER | wxALL, 5); wxALIGN_CENTER | wxALL, 5);
@@ -529,7 +428,7 @@ MyGridBagSizerFrame::MyGridBagSizerFrame(const wxChar *title, int x, int y )
m_hideBtn = new wxButton(p, GBS_HIDE_BTN, _T("Hide this item -->")); m_hideBtn = new wxButton(p, GBS_HIDE_BTN, _T("Hide this item -->"));
m_gbs->Add(m_hideBtn, POS(12, 3)); m_gbs->Add(m_hideBtn, POS(12, 3));
m_hideTxt = new wxTextCtrl(p, -1, _T("pos(12,4), size(150, -1)"), m_hideTxt = new wxTextCtrl(p, wxID_ANY, _T("pos(12,4), size(150, -1)"),
wxDefaultPosition, wxSize(150,-1)); wxDefaultPosition, wxSize(150,-1));
m_gbs->Add( m_hideTxt, POS(12,4) ); m_gbs->Add( m_hideTxt, POS(12,4) );

View File

@@ -23,7 +23,6 @@ class MyFrame : public wxFrame
public: public:
MyFrame(); MyFrame();
void TestConstraints(wxCommandEvent& event);
void TestFlexSizers(wxCommandEvent& event); void TestFlexSizers(wxCommandEvent& event);
void TestNotebookSizers(wxCommandEvent& event); void TestNotebookSizers(wxCommandEvent& event);
void TestGridBagSizer(wxCommandEvent& event); void TestGridBagSizer(wxCommandEvent& event);
@@ -35,13 +34,6 @@ private:
DECLARE_EVENT_TABLE() DECLARE_EVENT_TABLE()
}; };
// a frame using constraints for layout
class MyConstraintsFrame : public wxFrame
{
public:
MyConstraintsFrame(const wxChar *title, int x, int y );
};
// a frame using flex sizers for layout // a frame using flex sizers for layout
class MyFlexSizerFrame : public wxFrame class MyFlexSizerFrame : public wxFrame
{ {
@@ -94,7 +86,6 @@ enum
{ {
LAYOUT_QUIT = 100, LAYOUT_QUIT = 100,
LAYOUT_ABOUT, LAYOUT_ABOUT,
LAYOUT_TEST_CONSTRAINTS,
LAYOUT_TEST_SIZER, LAYOUT_TEST_SIZER,
LAYOUT_TEST_NB_SIZER, LAYOUT_TEST_NB_SIZER,
LAYOUT_TEST_GB_SIZER LAYOUT_TEST_GB_SIZER