mark the document as modified when its text control is (closes #10826)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60720 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -176,6 +176,24 @@ DocumentIstream& DoodleSegment::LoadObject(DocumentIstream& istream)
|
|||||||
|
|
||||||
IMPLEMENT_CLASS(wxTextDocument, wxDocument)
|
IMPLEMENT_CLASS(wxTextDocument, wxDocument)
|
||||||
|
|
||||||
|
bool wxTextDocument::OnCreate(const wxString& path, long flags)
|
||||||
|
{
|
||||||
|
if ( !wxDocument::OnCreate(path, flags) )
|
||||||
|
return false;
|
||||||
|
|
||||||
|
// subscribe to changes in the text control to update the document state
|
||||||
|
// when it's modified
|
||||||
|
GetTextCtrl()->Connect
|
||||||
|
(
|
||||||
|
wxEVT_COMMAND_TEXT_UPDATED,
|
||||||
|
wxCommandEventHandler(wxTextDocument::OnTextChange),
|
||||||
|
NULL,
|
||||||
|
this
|
||||||
|
);
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
// Since text windows have their own method for saving to/loading from files,
|
// Since text windows have their own method for saving to/loading from files,
|
||||||
// we override DoSave/OpenDocument instead of Save/LoadObject
|
// we override DoSave/OpenDocument instead of Save/LoadObject
|
||||||
bool wxTextDocument::DoSaveDocument(const wxString& filename)
|
bool wxTextDocument::DoSaveDocument(const wxString& filename)
|
||||||
@@ -205,6 +223,13 @@ void wxTextDocument::Modify(bool modified)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void wxTextDocument::OnTextChange(wxCommandEvent& event)
|
||||||
|
{
|
||||||
|
Modify(true);
|
||||||
|
|
||||||
|
event.Skip();
|
||||||
|
}
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
// TextEditDocument implementation
|
// TextEditDocument implementation
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
@@ -164,6 +164,9 @@ class wxTextDocument : public wxDocument
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
wxTextDocument() : wxDocument() { }
|
wxTextDocument() : wxDocument() { }
|
||||||
|
|
||||||
|
virtual bool OnCreate(const wxString& path, long flags);
|
||||||
|
|
||||||
virtual wxTextCtrl* GetTextCtrl() const = 0;
|
virtual wxTextCtrl* GetTextCtrl() const = 0;
|
||||||
|
|
||||||
virtual bool IsModified() const;
|
virtual bool IsModified() const;
|
||||||
@@ -173,6 +176,8 @@ protected:
|
|||||||
virtual bool DoSaveDocument(const wxString& filename);
|
virtual bool DoSaveDocument(const wxString& filename);
|
||||||
virtual bool DoOpenDocument(const wxString& filename);
|
virtual bool DoOpenDocument(const wxString& filename);
|
||||||
|
|
||||||
|
void OnTextChange(wxCommandEvent& event);
|
||||||
|
|
||||||
wxDECLARE_NO_COPY_CLASS(wxTextDocument);
|
wxDECLARE_NO_COPY_CLASS(wxTextDocument);
|
||||||
DECLARE_CLASS(wxTextDocument)
|
DECLARE_CLASS(wxTextDocument)
|
||||||
};
|
};
|
||||||
|
Reference in New Issue
Block a user