public:
// view may be NULL if we're not associated with one yet, but parent must
// be a valid pointer
- MyCanvas(wxView *view, wxWindow *parent);
+ MyCanvas(wxView *view, wxWindow *parent = NULL);
virtual ~MyCanvas();
virtual void OnDraw(wxDC& dc);
class DrawingView : public wxView
{
public:
- DrawingView() { m_canvas = NULL; m_frame = NULL; }
+ DrawingView() : wxView(), m_canvas(NULL) {}
virtual bool OnCreate(wxDocument *doc, long flags);
virtual void OnDraw(wxDC *dc);
private:
void OnCut(wxCommandEvent& event);
- wxFrame *m_frame;
MyCanvas *m_canvas;
DECLARE_EVENT_TABLE()
class TextEditView : public wxView
{
public:
- TextEditView() : wxView() { m_frame = NULL; m_text = NULL; }
+ TextEditView() : wxView(), m_text(NULL) {}
virtual bool OnCreate(wxDocument *doc, long flags);
virtual void OnDraw(wxDC *dc);
void OnPaste(wxCommandEvent& WXUNUSED(event)) { m_text->Paste(); }
void OnSelectAll(wxCommandEvent& WXUNUSED(event)) { m_text->SelectAll(); }
- wxFrame *m_frame;
wxTextCtrl *m_text;
DECLARE_EVENT_TABLE()
class ImageCanvas : public wxScrolledWindow
{
public:
- ImageCanvas(wxView*, wxWindow* parent);
+ ImageCanvas(wxView*);
virtual void OnDraw(wxDC& dc);
-
- // in a normal multiple document application a canvas is associated with
- // one view from the beginning until the end, but to support the single
- // document mode in which all documents reuse the same MyApp::GetCanvas()
- // we need to allow switching the canvas from one view to another one
-
- void SetView(wxView* view)
- {
- wxASSERT_MSG( !m_view, "shouldn't be already associated with a view" );
-
- m_view = view;
- }
-
- void ResetView()
- {
- wxASSERT_MSG( m_view, "should be associated with a view" );
-
- m_view = NULL;
- }
-
private:
wxView *m_view;
};
class ImageView : public wxView
{
public:
- ImageView() : wxView(), m_frame(NULL) {}
+ ImageView() : wxView() {}
virtual bool OnCreate(wxDocument*, long flags);
virtual void OnDraw(wxDC*);
ImageDocument* GetDocument();
private:
- wxFrame* m_frame;
ImageCanvas* m_canvas;
DECLARE_DYNAMIC_CLASS(ImageView)