| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127 |
- /////////////////////////////////////////////////////////////////////////////
- // Name: mdi.cpp
- // Purpose: MDI sample
- // Author: Julian Smart
- // Modified by:
- // Created: 04/01/98
- // Copyright: (c) Julian Smart
- // Licence: wxWindows licence
- /////////////////////////////////////////////////////////////////////////////
- #include "wx/toolbar.h"
- // Define a new application
- class MyApp : public wxApp
- {
- public:
- virtual bool OnInit();
- };
- class MyCanvas : public wxScrolledWindow
- {
- public:
- MyCanvas(wxWindow *parent, const wxPoint& pos, const wxSize& size);
- virtual void OnDraw(wxDC& dc);
- bool IsDirty() const { return m_dirty; }
- void SetText(const wxString& text) { m_text = text; Refresh(); }
- private:
- void OnEvent(wxMouseEvent& event);
- wxString m_text;
- bool m_dirty;
- wxDECLARE_EVENT_TABLE();
- };
- // Define a new frame
- class MyFrame : public wxMDIParentFrame
- {
- public:
- MyFrame();
- virtual ~MyFrame();
- static wxMenuBar *CreateMainMenubar();
- private:
- void InitToolBar(wxToolBar* toolBar);
- void OnSize(wxSizeEvent& event);
- void OnAbout(wxCommandEvent& event);
- void OnNewWindow(wxCommandEvent& event);
- void OnFullScreen(wxCommandEvent& event);
- void OnQuit(wxCommandEvent& event);
- void OnCloseAll(wxCommandEvent& event);
- void OnClose(wxCloseEvent& event);
- wxTextCtrl *m_textWindow;
- wxDECLARE_EVENT_TABLE();
- };
- class MyChild : public wxMDIChildFrame
- {
- public:
- MyChild(wxMDIParentFrame *parent);
- virtual ~MyChild();
- static unsigned GetChildrenCount() { return ms_numChildren; }
- private:
- void OnActivate(wxActivateEvent& event);
- void OnRefresh(wxCommandEvent& event);
- void OnUpdateRefresh(wxUpdateUIEvent& event);
- void OnChangeTitle(wxCommandEvent& event);
- void OnChangePosition(wxCommandEvent& event);
- void OnChangeSize(wxCommandEvent& event);
- void OnClose(wxCommandEvent& event);
- void OnSize(wxSizeEvent& event);
- void OnMove(wxMoveEvent& event);
- void OnCloseWindow(wxCloseEvent& event);
- #if wxUSE_CLIPBOARD
- void OnPaste(wxCommandEvent& event);
- void OnUpdatePaste(wxUpdateUIEvent& event);
- #endif // wxUSE_CLIPBOARD
- static unsigned ms_numChildren;
- MyCanvas *m_canvas;
- // simple test event handler class
- class EventHandler : public wxEvtHandler
- {
- public:
- EventHandler(unsigned numChild) : m_numChild(numChild) { }
- private:
- void OnRefresh(wxCommandEvent& event)
- {
- wxLogMessage("Child #%u refreshed.", m_numChild);
- event.Skip();
- }
- const unsigned m_numChild;
- wxDECLARE_EVENT_TABLE();
- wxDECLARE_NO_COPY_CLASS(EventHandler);
- };
- wxDECLARE_EVENT_TABLE();
- };
- // menu items ids
- enum
- {
- MDI_FULLSCREEN = 100,
- MDI_REFRESH,
- MDI_CHANGE_TITLE,
- MDI_CHANGE_POSITION,
- MDI_CHANGE_SIZE
- };
|