From 2d4a03f8a7875fecc472ba2eaa566fd48afdcb22 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Thu, 13 May 2010 14:37:06 +0000 Subject: [PATCH] No changes, just cleanup the image part of the docview sample. Remove unnecessary, never used methods. Don't use pointers when objects or references can be used more safely. Don't name classes which are not part of wx with "wx" prefix to avoid confusing people. Don't define empty unnecessary event tables. Prefer wxScrolledWindow::SetVirtualSize() to SetScrollbars(). Stop using "protected" when "private" should be used. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64300 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- samples/docview/doc.cpp | 51 +++---------------------------------- samples/docview/doc.h | 27 +++++++------------- samples/docview/docview.cpp | 2 +- samples/docview/view.cpp | 44 +++++++++++++++----------------- samples/docview/view.h | 26 ++++++++----------- 5 files changed, 45 insertions(+), 105 deletions(-) diff --git a/samples/docview/doc.cpp b/samples/docview/doc.cpp index cf53892ea2..05c92d588f 100644 --- a/samples/docview/doc.cpp +++ b/samples/docview/doc.cpp @@ -250,56 +250,13 @@ wxTextCtrl* TextEditDocument::GetTextCtrl() const } // ---------------------------------------------------------------------------- -// wxImageDocument implementation +// ImageDocument and wxImageDetailsDocument implementation // ---------------------------------------------------------------------------- -///////////////////////////////////////////////////////////////////////////// -// wxImageDocument - -IMPLEMENT_DYNAMIC_CLASS(wxImageDocument, wxDocument) - -wxImageDocument::wxImageDocument() : wxDocument() -{ -} - -wxImageDocument::~wxImageDocument() -{ -} - -bool wxImageDocument::DeleteContents() -{ - bool ok = wxDocument::DeleteContents(); - if (ok && m_image.IsOk()) - { - m_image.Destroy(); - } - return ok; -} - -bool wxImageDocument::SaveFile(wxOutputStream* stream, wxBitmapType type) const -{ - return m_image.IsOk() && m_image.SaveFile(*stream, type); -} - -bool wxImageDocument::DoOpenDocument(const wxString& file) -{ - wxFileInputStream stream(file); - return stream.IsOk() && DoOpenDocument(&stream); -} - -bool wxImageDocument::DoSaveDocument(const wxString& file) -{ - wxFileOutputStream stream(file); - return stream.IsOk() && DoSaveDocument(&stream); -} - -bool wxImageDocument::DoOpenDocument(wxInputStream* stream) -{ - return m_image.LoadFile(*stream); -} +IMPLEMENT_DYNAMIC_CLASS(ImageDocument, wxDocument) -bool wxImageDocument::DoSaveDocument(wxOutputStream* stream) const +bool ImageDocument::DoOpenDocument(const wxString& file) { - return m_image.IsOk() && SaveFile(stream, m_image.GetType()); + return m_image.LoadFile(file); } diff --git a/samples/docview/doc.h b/samples/docview/doc.h index ecc1453a38..fbe0101a79 100644 --- a/samples/docview/doc.h +++ b/samples/docview/doc.h @@ -198,33 +198,24 @@ public: }; // ---------------------------------------------------------------------------- -// A basic image document class +// A document class representing an image // ---------------------------------------------------------------------------- -class wxImageDocument : public wxDocument +class ImageDocument : public wxDocument { -protected: - wxImage m_image; public: - wxImageDocument(); - - wxImage* GetImage() { return &m_image; } - const wxImage& GetImage() const { return m_image; } - - bool SaveFile(wxOutputStream*, wxBitmapType) const; + ImageDocument() : wxDocument() { } -public: - virtual ~wxImageDocument(); - virtual bool DeleteContents(); + wxImage GetImage() const { return m_image; } +protected: virtual bool DoOpenDocument(const wxString& file); - virtual bool DoSaveDocument(const wxString& file); - virtual bool DoOpenDocument(wxInputStream*); - virtual bool DoSaveDocument(wxOutputStream*) const; +private: + wxImage m_image; - wxDECLARE_NO_COPY_CLASS(wxImageDocument); - DECLARE_DYNAMIC_CLASS(wxImageDocument) + wxDECLARE_NO_COPY_CLASS(ImageDocument); + DECLARE_DYNAMIC_CLASS(ImageDocument) }; #endif // _WX_SAMPLES_DOCVIEW_DOC_H_ diff --git a/samples/docview/docview.cpp b/samples/docview/docview.cpp index e0ee83cbd2..f8f2a8f98b 100644 --- a/samples/docview/docview.cpp +++ b/samples/docview/docview.cpp @@ -181,7 +181,7 @@ bool MyApp::OnInit() // Create a template relating image documents to their views new wxDocTemplate(docManager, "Image", "*.png;*.jpg", "", "png;jpg", "Image Doc", "Image View", - CLASSINFO(wxImageDocument), CLASSINFO(wxImageView)); + CLASSINFO(ImageDocument), CLASSINFO(ImageView)); } // create the main frame window diff --git a/samples/docview/view.cpp b/samples/docview/view.cpp index d454e56554..ff24096c08 100644 --- a/samples/docview/view.cpp +++ b/samples/docview/view.cpp @@ -284,70 +284,66 @@ void MyCanvas::OnMouseEvent(wxMouseEvent& event) } // ---------------------------------------------------------------------------- -// wxImageCanvas implementation +// ImageCanvas implementation // ---------------------------------------------------------------------------- -BEGIN_EVENT_TABLE(wxImageCanvas, wxScrolledWindow) -END_EVENT_TABLE() - // Define a constructor for my canvas -wxImageCanvas::wxImageCanvas(wxView* view, wxWindow* parent) +ImageCanvas::ImageCanvas(wxView* view, wxWindow* parent) : wxScrolledWindow(parent, wxID_ANY, wxPoint(0, 0), parent->GetClientSize()) { + SetScrollRate( 10, 10 ); + m_view = view; } // Define the repainting behaviour -void wxImageCanvas::OnDraw(wxDC& dc) +void ImageCanvas::OnDraw(wxDC& dc) { if ( m_view ) m_view->OnDraw(& dc); } // ---------------------------------------------------------------------------- -// wxImageView implementation +// ImageView implementation // ---------------------------------------------------------------------------- -IMPLEMENT_DYNAMIC_CLASS(wxImageView, wxView) - -BEGIN_EVENT_TABLE(wxImageView, wxView) -END_EVENT_TABLE() +IMPLEMENT_DYNAMIC_CLASS(ImageView, wxView) -wxImageDocument* wxImageView::GetDocument() +ImageDocument* ImageView::GetDocument() { - return wxStaticCast(wxView::GetDocument(), wxImageDocument); + return wxStaticCast(wxView::GetDocument(), ImageDocument); } -bool wxImageView::OnCreate(wxDocument* doc, long WXUNUSED(flags)) +bool ImageView::OnCreate(wxDocument* doc, long WXUNUSED(flags)) { m_frame = wxGetApp().CreateChildFrame(doc, this, false); m_frame->SetTitle("Image View"); - m_canvas = new wxImageCanvas(this, m_frame); + m_canvas = new ImageCanvas(this, m_frame); m_frame->Show(true); Activate(true); return true; } -void wxImageView::OnUpdate(wxView* sender, wxObject* hint) +void ImageView::OnUpdate(wxView* sender, wxObject* hint) { wxView::OnUpdate(sender, hint); - const wxImage* image = GetDocument()->GetImage(); - if (image->IsOk()) + wxImage image = GetDocument()->GetImage(); + if ( image.IsOk() ) { - m_canvas->SetScrollbars( 1, 1, image->GetWidth(), image->GetHeight() ); + m_canvas->SetVirtualSize(image.GetWidth(), image.GetHeight()); } } -void wxImageView::OnDraw(wxDC* dc) +void ImageView::OnDraw(wxDC* dc) { - const wxImage* image = GetDocument()->GetImage(); - if (image->IsOk()) + wxImage image = GetDocument()->GetImage(); + if ( image.IsOk() ) { - dc->DrawBitmap(wxBitmap(*image), 0, 0); + dc->DrawBitmap(wxBitmap(image), 0, 0); } } -bool wxImageView::OnClose(bool deleteWindow) +bool ImageView::OnClose(bool deleteWindow) { if ( !GetDocument()->Close() ) return false; diff --git a/samples/docview/view.h b/samples/docview/view.h index f2df562f7f..cb05b2ebcb 100644 --- a/samples/docview/view.h +++ b/samples/docview/view.h @@ -115,13 +115,13 @@ private: }; // ---------------------------------------------------------------------------- -// wxImageCanvas +// ImageCanvas // ---------------------------------------------------------------------------- -class wxImageCanvas : public wxScrolledWindow +class ImageCanvas : public wxScrolledWindow { public: - wxImageCanvas(wxView*, wxWindow* parent); + ImageCanvas(wxView*, wxWindow* parent); virtual void OnDraw(wxDC& dc); @@ -144,35 +144,31 @@ public: m_view = NULL; } -protected: +private: wxView *m_view; - - DECLARE_EVENT_TABLE() }; // ---------------------------------------------------------------------------- -// wxImageView +// ImageView // ---------------------------------------------------------------------------- -class wxImageDocument; -class wxImageView : public wxView +class ImageView : public wxView { public: - wxImageView() : wxView(), m_frame(NULL) {} + ImageView() : wxView(), m_frame(NULL) {} virtual bool OnCreate(wxDocument*, long flags); virtual void OnDraw(wxDC*); virtual bool OnClose(bool deleteWindow = true); virtual void OnUpdate(wxView *sender, wxObject *hint = NULL); - wxImageDocument* GetDocument(); + ImageDocument* GetDocument(); -protected: +private: wxFrame* m_frame; - wxImageCanvas* m_canvas; + ImageCanvas* m_canvas; - DECLARE_EVENT_TABLE() - DECLARE_DYNAMIC_CLASS(wxImageView) + DECLARE_DYNAMIC_CLASS(ImageView) }; #endif // _WX_SAMPLES_DOCVIEW_VIEW_H_ -- 2.45.2