X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e306597309a120f2ae91385c731a5cb2722c52aa..08a15c0d899daad0ff8cc2ed4c06ff78b8ec3cc3:/samples/sashtest/sashtest.cpp?ds=sidebyside diff --git a/samples/sashtest/sashtest.cpp b/samples/sashtest/sashtest.cpp index d5f42bacd4..f59fae02a0 100644 --- a/samples/sashtest/sashtest.cpp +++ b/samples/sashtest/sashtest.cpp @@ -6,7 +6,7 @@ // Created: 04/01/98 // RCS-ID: $Id$ // Copyright: (c) Julian Smart and Markus Holzem -// Licence: wxWindows license +// Licence: wxWindows license ///////////////////////////////////////////////////////////////////////////// // For compilers that support precompilation, includes "wx/wx.h". @@ -21,8 +21,8 @@ #include "wx/mdi.h" #endif -#include -#include +#include "wx/toolbar.h" +#include "wx/laywin.h" #include "sashtest.h" @@ -43,7 +43,9 @@ bool MyApp::OnInit(void) // Create the main frame window frame = new MyFrame(NULL, -1, "Sash Demo", wxPoint(0, 0), wxSize(500, 400), - wxDEFAULT_FRAME_STYLE | wxHSCROLL | wxVSCROLL); + wxDEFAULT_FRAME_STYLE | + wxNO_FULL_REPAINT_ON_RESIZE | + wxHSCROLL | wxVSCROLL); // Give it an icon (this is ignored in MDI mode: uses resources) #ifdef __WXMSW__ @@ -92,13 +94,17 @@ END_EVENT_TABLE() // Define my frame constructor MyFrame::MyFrame(wxWindow *parent, const wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, - const long style): + const long style): wxMDIParentFrame(parent, id, title, pos, size, style) { // Create some dummy layout windows // A window like a toolbar - wxSashLayoutWindow* win = new wxSashLayoutWindow(this, ID_WINDOW_TOP, wxDefaultPosition, wxSize(200, 30), wxNO_BORDER|wxSW_3D); + wxSashLayoutWindow* win = + new wxSashLayoutWindow(this, ID_WINDOW_TOP, + wxDefaultPosition, wxSize(200, 30), + wxNO_BORDER | wxSW_3D | wxCLIP_CHILDREN); + win->SetDefaultSize(wxSize(1000, 30)); win->SetOrientation(wxLAYOUT_HORIZONTAL); win->SetAlignment(wxLAYOUT_TOP); @@ -108,7 +114,9 @@ MyFrame::MyFrame(wxWindow *parent, const wxWindowID id, const wxString& title, c m_topWindow = win; // A window like a statusbar - win = new wxSashLayoutWindow(this, ID_WINDOW_BOTTOM, wxDefaultPosition, wxSize(200, 30), wxNO_BORDER|wxSW_3D); + win = new wxSashLayoutWindow(this, ID_WINDOW_BOTTOM, + wxDefaultPosition, wxSize(200, 30), + wxNO_BORDER | wxSW_3D | wxCLIP_CHILDREN); win->SetDefaultSize(wxSize(1000, 30)); win->SetOrientation(wxLAYOUT_HORIZONTAL); win->SetAlignment(wxLAYOUT_BOTTOM); @@ -118,7 +126,9 @@ MyFrame::MyFrame(wxWindow *parent, const wxWindowID id, const wxString& title, c m_bottomWindow = win; // A window to the left of the client window - win = new wxSashLayoutWindow(this, ID_WINDOW_LEFT1, wxDefaultPosition, wxSize(200, 30), wxNO_BORDER|wxSW_3D); + win = new wxSashLayoutWindow(this, ID_WINDOW_LEFT1, + wxDefaultPosition, wxSize(200, 30), + wxNO_BORDER | wxSW_3D | wxCLIP_CHILDREN); win->SetDefaultSize(wxSize(120, 1000)); win->SetOrientation(wxLAYOUT_VERTICAL); win->SetAlignment(wxLAYOUT_LEFT); @@ -134,7 +144,9 @@ MyFrame::MyFrame(wxWindow *parent, const wxWindowID id, const wxString& title, c m_leftWindow1 = win; // Another window to the left of the client window - win = new wxSashLayoutWindow(this, ID_WINDOW_LEFT2, wxDefaultPosition, wxSize(200, 30), wxNO_BORDER|wxSW_3D); + win = new wxSashLayoutWindow(this, ID_WINDOW_LEFT2, + wxDefaultPosition, wxSize(200, 30), + wxNO_BORDER | wxSW_3D | wxCLIP_CHILDREN); win->SetDefaultSize(wxSize(120, 1000)); win->SetOrientation(wxLAYOUT_VERTICAL); win->SetAlignment(wxLAYOUT_LEFT); @@ -206,8 +218,10 @@ void MyFrame::OnSashDrag(wxSashEvent& event) void MyFrame::OnNewWindow(wxCommandEvent& WXUNUSED(event)) { // Make another frame, containing a canvas - MyChild *subframe = new MyChild(frame, "Canvas Frame", wxPoint(10, 10), wxSize(300, 300), - wxDEFAULT_FRAME_STYLE); + MyChild *subframe = new MyChild(frame, "Canvas Frame", + wxPoint(10, 10), wxSize(300, 300), + wxDEFAULT_FRAME_STYLE | + wxNO_FULL_REPAINT_ON_RESIZE); char titleBuf[100]; sprintf(titleBuf, "Canvas Frame %d", winNumber); @@ -259,13 +273,15 @@ void MyFrame::OnNewWindow(wxCommandEvent& WXUNUSED(event)) } BEGIN_EVENT_TABLE(MyCanvas, wxScrolledWindow) - EVT_MOUSE_EVENTS(MyCanvas::OnEvent) + EVT_MOUSE_EVENTS(MyCanvas::OnEvent) END_EVENT_TABLE() // Define a constructor for my canvas -MyCanvas::MyCanvas(wxWindow *parent, const wxPoint& pos, const wxSize& size): - wxScrolledWindow(parent, -1, pos, size, wxSUNKEN_BORDER) +MyCanvas::MyCanvas(wxWindow *parent, const wxPoint& pos, const wxSize& size) + : wxScrolledWindow(parent, -1, pos, size, + wxSUNKEN_BORDER | wxNO_FULL_REPAINT_ON_RESIZE) { + SetBackgroundColour(* wxWHITE); } // Define the repainting behaviour @@ -282,7 +298,9 @@ void MyCanvas::OnDraw(wxDC& dc) dc.DrawRoundedRectangle(150, 150, 100, 50, 20); dc.DrawEllipse(250, 250, 100, 50); +#if wxUSE_SPLINES dc.DrawSpline(50, 200, 50, 100, 200, 10); +#endif // wxUSE_SPLINES dc.DrawLine(50, 230, 200, 230); dc.DrawText("This is a test string", 50, 230);