]> git.saurik.com Git - wxWidgets.git/blob - samples/layout/layout.h
eba0332e1691e7642a77861f04201ab872fee627
[wxWidgets.git] / samples / layout / layout.h
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: layout.h
3 // Purpose: Layout sample
4 // Author: Julian Smart
5 // Modified by:
6 // Created: 04/01/98
7 // RCS-ID: $Id$
8 // Copyright: (c) Julian Smart and Markus Holzem
9 // Licence: wxWindows license
10 /////////////////////////////////////////////////////////////////////////////
11
12 // Define a new application
13 class MyApp: public wxApp
14 {
15 public:
16 MyApp();
17 bool OnInit();
18 };
19
20 // Define a new frame
21 class MyTextWindow;
22 class MyWindow;
23
24 class MyFrame: public wxFrame
25 {
26 public:
27 wxPanel *panel;
28 MyTextWindow *text_window;
29 MyWindow *canvas;
30 MyFrame(wxFrame *frame, char *title, int x, int y, int w, int h);
31 void OnSize(wxSizeEvent& event);
32 void Draw(wxDC& dc, bool draw_bitmaps = TRUE);
33
34 void LoadFile(wxCommandEvent& event);
35 void Quit(wxCommandEvent& event);
36 void TestSizers(wxCommandEvent& event);
37 void TestNotebookSizers(wxCommandEvent& event);
38 void About(wxCommandEvent& event);
39
40 private:
41 DECLARE_EVENT_TABLE()
42 };
43
44 // Define a new text subwindow that can respond to drag-and-drop
45 class MyTextWindow: public wxTextCtrl
46 {
47 public:
48 MyTextWindow(wxFrame *frame, int x=-1, int y=-1, int width=-1, int height=-1,
49 long style=wxTE_MULTILINE):
50 wxTextCtrl(frame, -1, "", wxPoint(x, y), wxSize(width, height), style)
51 {
52 }
53
54 };
55
56 // Define a new canvas which can receive some events
57 class MyWindow: public wxWindow
58 {
59 public:
60 MyWindow(wxFrame *frame, int x, int y, int w, int h, long style = wxRETAINED);
61 ~MyWindow();
62 void OnPaint(wxPaintEvent& event);
63
64 private:
65 DECLARE_EVENT_TABLE()
66 };
67
68 class MySizerFrame: public wxFrame
69 {
70 public:
71 wxPanel *panel;
72 MySizerFrame(wxFrame *frame, char *title, int x, int y );
73 };
74
75 #define LAYOUT_QUIT 100
76 #define LAYOUT_TEST 101
77 #define LAYOUT_ABOUT 102
78 #define LAYOUT_LOAD_FILE 103
79 #define LAYOUT_TEST_SIZER 104
80 #define LAYOUT_TEST_NB 105