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:
@@ -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)
|
||||||
|
@@ -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);
|
||||||
|
@@ -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);
|
||||||
|
@@ -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) );
|
||||||
|
|
||||||
|
@@ -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
|
||||||
|
Reference in New Issue
Block a user