]> git.saurik.com Git - wxWidgets.git/blame_incremental - samples/layout/layout.h
Tools
[wxWidgets.git] / samples / layout / layout.h
... / ...
CommitLineData
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
13class MyApp: public wxApp
14{
15public:
16 MyApp();
17 bool OnInit();
18};
19
20// Define a new frame
21class MyTextWindow;
22class MyWindow;
23
24class MyFrame: public wxFrame
25{
26public:
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
40private:
41 DECLARE_EVENT_TABLE()
42};
43
44// Define a new text subwindow that can respond to drag-and-drop
45class MyTextWindow: public wxTextCtrl
46{
47public:
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
57class MyWindow: public wxWindow
58{
59public:
60 MyWindow(wxFrame *frame, int x, int y, int w, int h, long style = wxRETAINED);
61 ~MyWindow();
62 void OnPaint(wxPaintEvent& event);
63
64private:
65 DECLARE_EVENT_TABLE()
66};
67
68class MySizerFrame: public wxFrame
69{
70public:
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