X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2d1df0fc585f03cca4b194d1f9159b49a5711da6..3dffc2aea2597a2df3c3faee052ca232635ab69d:/samples/docview/doc.h diff --git a/samples/docview/doc.h b/samples/docview/doc.h index a4547ec65f..d79f8275de 100644 --- a/samples/docview/doc.h +++ b/samples/docview/doc.h @@ -7,7 +7,7 @@ // RCS-ID: $Id$ // Copyright: (c) 1998 Julian Smart // (c) 2008 Vadim Zeitlin -// Licence: wxWindows license +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// #ifndef _WX_SAMPLES_DOCVIEW_DOC_H_ @@ -16,6 +16,7 @@ #include "wx/docview.h" #include "wx/cmdproc.h" #include "wx/vector.h" +#include "wx/image.h" // This sample is written to build both with wxUSE_STD_IOSTREAM==0 and 1, which // somewhat complicates its code but is necessary in order to support building @@ -157,23 +158,64 @@ public: // ---------------------------------------------------------------------------- -// A simple text document class +// wxTextDocument: wxDocument and wxTextCtrl married // ---------------------------------------------------------------------------- -class TextEditView; -class TextEditDocument : public wxDocument +class wxTextDocument : public wxDocument { public: - TextEditDocument() : wxDocument() { } - TextEditView *GetFirstView() const; + wxTextDocument() : wxDocument() { } + + virtual bool OnCreate(const wxString& path, long flags); + + virtual wxTextCtrl* GetTextCtrl() const = 0; - virtual bool DoSaveDocument(const wxString& filename); - virtual bool DoOpenDocument(const wxString& filename); virtual bool IsModified() const; virtual void Modify(bool mod); - DECLARE_NO_COPY_CLASS(TextEditDocument) +protected: + virtual bool DoSaveDocument(const wxString& filename); + virtual bool DoOpenDocument(const wxString& filename); + + void OnTextChange(wxCommandEvent& event); + + wxDECLARE_NO_COPY_CLASS(wxTextDocument); + DECLARE_CLASS(wxTextDocument) +}; + +// ---------------------------------------------------------------------------- +// A very simple text document class +// ---------------------------------------------------------------------------- + +class TextEditDocument : public wxTextDocument +{ +public: + TextEditDocument() : wxTextDocument() { } + virtual wxTextCtrl* GetTextCtrl() const; + + wxDECLARE_NO_COPY_CLASS(TextEditDocument); DECLARE_DYNAMIC_CLASS(TextEditDocument) }; +// ---------------------------------------------------------------------------- +// A document class representing an image +// ---------------------------------------------------------------------------- + +class ImageDocument : public wxDocument +{ +public: + ImageDocument() : wxDocument() { } + + wxImage GetImage() const { return m_image; } + +protected: + virtual bool DoOpenDocument(const wxString& file); + +private: + wxImage m_image; + + wxDECLARE_NO_COPY_CLASS(ImageDocument); + DECLARE_DYNAMIC_CLASS(ImageDocument) +}; + #endif // _WX_SAMPLES_DOCVIEW_DOC_H_