wxWidgets/samples/layout/layout.h

80 lines
2.0 KiB
C
Raw Normal View History

/////////////////////////////////////////////////////////////////////////////
// Name: layout.h
// Purpose: Layout sample
// Author: Julian Smart
// Modified by:
// Created: 04/01/98
// RCS-ID: $Id$
// Copyright: (c) Julian Smart and Markus Holzem
// Licence: wxWindows license
/////////////////////////////////////////////////////////////////////////////
// Define a new application
class MyApp: public wxApp
{
public:
MyApp(void) ;
bool OnInit(void);
};
// Define a new frame
class MyTextWindow;
class MyWindow;
class MyFrame: public wxFrame
{
public:
wxPanel *panel;
MyTextWindow *text_window;
MyWindow *canvas;
MyFrame(wxFrame *frame, char *title, int x, int y, int w, int h);
void OnSize(wxSizeEvent& event);
bool OnClose(void);
void Draw(wxDC& dc, bool draw_bitmaps = TRUE);
void LoadFile(wxCommandEvent& event);
void Quit(wxCommandEvent& event);
void TestSizers(wxCommandEvent& event);
void About(wxCommandEvent& event);
DECLARE_EVENT_TABLE()
};
// Define a new text subwindow that can respond to drag-and-drop
class MyTextWindow: public wxTextCtrl
{
public:
MyTextWindow(wxFrame *frame, int x=-1, int y=-1, int width=-1, int height=-1,
long style=wxTE_MULTILINE):
wxTextCtrl(frame, -1, "", wxPoint(x, y), wxSize(width, height), style)
{
}
};
// Define a new canvas which can receive some events
class MyWindow: public wxWindow
{
public:
MyWindow(wxFrame *frame, int x, int y, int w, int h, long style = wxRETAINED);
~MyWindow(void) ;
void OnPaint(wxPaintEvent& event);
DECLARE_EVENT_TABLE()
};
class SizerFrame: public wxFrame
{
public:
wxPanel *panel;
SizerFrame(wxFrame *frame, char *title, int x, int y, int w, int h);
void OnSize(wxSizeEvent& event);
bool OnClose(void);
DECLARE_EVENT_TABLE()
};
#define LAYOUT_QUIT 100
#define LAYOUT_TEST 101
#define LAYOUT_ABOUT 102
#define LAYOUT_LOAD_FILE 103