Commit Graph

254 Commits

Author SHA1 Message Date
Vadim Zeitlin
2954883593 Document wxDocument::DeleteContents().
This method purpose was not quite clear as it was only mentioned in passing in
documentation of OnCloseDocument() but not really documented itself.

Also don't call it from wxDocument dtor as this is useless: the user-defined
overridden version will never be called from here and the base class version
does nothing.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64299 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-13 14:37:00 +00:00
Vadim Zeitlin
c48bdb0c28 Refactor wxDocParentFrame and wxDocMDIParentFrame to share common base class.
Use the same approach as for the child frames: add a base template class which
allows wxDocParentFrame to inherit from wxFrame and wxDocMDIParentFrame from
wxMDIParentFrame while still allowing to reuse the common code.

This reduces code duplication and should make implementing parent AUI document
frame easier as well, see #8945.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64295 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-12 14:34:18 +00:00
Vadim Zeitlin
44070fd379 Use ProcessEventLocally() instead of ProcessEventHere() in docview code.
Use wxEvtHandler::ProcessEventLocally() instead of ProcessEventHere() when
forwarding events in the docview code. This ensures that any event handlers
chained with the objects involved (document manager, document, view) will be
used.

Incidentally the old code didn't work at all as ProcessEventHere() didn't even
call TryBefore() where the (further) forwarding was implemented.

Closes #10640.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64263 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-09 14:55:41 +00:00
Václav Slavík
a0219e4580 Move wxFileHistory out of docview framework, add wxUSE_FILE_HISTORY.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64205 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-04 12:15:14 +00:00
Vadim Zeitlin
97aa1a74db Only allow opening existing files in docview framework.
Use wxFD_FILE_MUST_EXIST when asking the user for the name of the file to
open.

Closes #11866.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63784 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-03-29 21:24:39 +00:00
Vadim Zeitlin
94dc70d190 Allow overriding print preview frame creation in docview.
Add a virtual wxDocManager::CreatePreviewFrame() which can be overridden to
customize the print preview used by docview framework.

Closes #11390.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63757 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-03-25 20:07:58 +00:00
Vadim Zeitlin
4311588bfe Implement wxDocument::Revert() and show its use in the sample.
wxDocument::Revert() method existed but didn't do anything, provide a
default implementation for it. Also document it and show it in the sample.

Closes #11849.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63748 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-03-23 10:49:51 +00:00
Vadim Zeitlin
cf30eac295 Always call wxView::Close() when closing it.
After wxDocView refactoring the behaviour has changed and wxView::Close() and
hence user-overriddable OnClose() called from it) was only called if the close
event could be vetoed. This broke code which relied on OnClose() being
executed in any case to perform some cleanup and was incompatible with 2.8 so
restore the old behaviour now.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63747 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-03-23 10:36:36 +00:00
Julian Smart
d3785012e5 Don't crash if no document
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62809 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-12-07 15:23:09 +00:00
Julian Smart
63c639ec62 Safer access of member variables
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62806 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-12-07 15:05:28 +00:00
Vadim Zeitlin
fd4618549b Don't add default extension in wxDocument::SaveAs().
wxFileSelector() takes care of the default extension itself and if it returned
a file name without one, it means that the user really wants to create a file
without an extension. Adding the default extension here is at best useless and
at worst actively dangerous because it may silently overwrite an existing file
(although this bug is due to a different problem, see #11256 for a scenario in
which this can happen).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62350 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-10-09 13:05:10 +00:00
Julian Smart
65b9ad2b55 Applied #10892: Remove wxDocManager instance check
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62090 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-09-24 16:25:45 +00:00
Julian Smart
8410881294 Applied #10828 (Hourglass in wxDocManager::OnPreview)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62078 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-09-24 13:54:31 +00:00
Julian Smart
250ab35a3b Applied: wxDocument: Adding an asterix to the title
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62077 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-09-24 13:49:01 +00:00
Vadim Zeitlin
0571b62b88 Fix wxDocManager::GetLastDirectory() when there is no history.
The most recently opened file should be used only if we have MRU list.

Closes #11145.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61766 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-08-26 22:17:57 +00:00
Vadim Zeitlin
ce0822e1b9 Use wxFile for IO if wxFFile is not available.
Closes #11067.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61608 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-08-05 17:24:16 +00:00
Vadim Zeitlin
9a83f86094 Globally replace _T() with wxT().
Standardize on using a single macro across all wxWidgets sources and solve the name clash with Sun CC standard headers (see #10660).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61508 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-07-23 20:30:22 +00:00
Vadim Zeitlin
bba6891c84 use the directory of the most recently opened file in wxDocManager if we have any
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61077 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-06-16 17:40:11 +00:00
Vadim Zeitlin
b6e96faf3e remove unneeded wxFindSuitableParent()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60565 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-05-09 12:57:00 +00:00
Vadim Zeitlin
ada1ff0dbc close the associated frame if the view is deleted directly to avoid leaving zombie frames floating around
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59455 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-09 19:53:49 +00:00
Vadim Zeitlin
4c7d530a26 don't use wxScopedPtr<> in wxDocTemplate::CreateDocument() as the document is implicitly deleted by InitDocument() if its initialization fails; try to explain the (complex and inconsistent) rules for deleting the document in the manual
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59454 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-09 19:40:49 +00:00
Vadim Zeitlin
3a393f8a52 PCH-less build fix after r59452
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59453 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-09 19:29:07 +00:00
Vadim Zeitlin
7339d7bda1 don't leak memory if exceptions are thrown during a new wxDocument creation
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59452 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-09 18:45:35 +00:00
Vadim Zeitlin
0b108d1006 don't call neither OnSaveModified() nor Modify(false) from On{New,Open}Document(): these methods are only ever called for the new wxDocument object which should never be saved, even if they're marked as modified by the user-defined document creation code
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59449 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-09 18:13:04 +00:00
Vadim Zeitlin
a9e2e6e52b refactor wxDocChildFrame and wxDocMDIChildFrame to use wxDocChildFrameAny intead of duplicating its code (with subtle differences, as usual); also added wxDocChildFrameAnyBase and store a pointer to it in wxView to reset the frame view if the view is being deleted because its creation fails to avoid crashes in this case
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59185 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-27 12:24:03 +00:00
Vadim Zeitlin
8cc208e39f deprecate the old TryValidator/Parent() and replace them with the new and documented TryBefore/After()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59164 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-26 16:16:31 +00:00
Vadim Zeitlin
664e13143e renamed wx/ptr_shrd.h to wx/sharedptr.h; split wx/ptr_scpd.h in wx/scopedptr.h and wx/scopedarray.h; extracted common parts into new wx/checkeddelete.h
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58634 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-03 12:01:46 +00:00
Vadim Zeitlin
575e4cd670 don't fall back to the only currently existing document in wxDocManager::GetCurrentView() as it breaks activation logic (#9518)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58496 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-29 13:04:40 +00:00
Vadim Zeitlin
89d94e046d no real changes, just minor refactoring and cleanup
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58494 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-29 12:52:17 +00:00
Vadim Zeitlin
4f57a7bfcd don't use the not always appropriate word "document" in the save prompt (#10076)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58399 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-25 14:41:59 +00:00
Vadim Zeitlin
d8efd2198f added wxStandardPaths::GetAppDocumentsDir() and use it by default for loading/saving documents in wxDocManager
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58259 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-21 14:01:30 +00:00
Francesco Montorsi
84cae69a8b call event.Enable(true) in OnUpdateFileOpen and OnUpdateFileNew only if there are templates in the doc manager (closes #10163)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58097 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-14 15:25:05 +00:00
Francesco Montorsi
00e3ea1c6f minor cleanup; add wxDocument::OnChangeFilename for coherence with wxView::OnChangefilename; avoid some (small) code duplication; closes #10080
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57950 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-09 16:13:49 +00:00
Francesco Montorsi
9690b00654 always remember to test IsOk() after using wxFileInputStream
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57917 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-08 18:26:35 +00:00
Francesco Montorsi
bd365871aa s/wxSplitPath/wxFileName::SplitPath
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57873 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-07 01:47:47 +00:00
Francesco Montorsi
47d281e6b7 deprecate wxDos2UnixFilename, wxUnix2DosFilename, wxStripExtension, wxGetTempFileName, wxExpandPath, wxContractPath, wxRealPath, wxCopyAbsolutePath, wxSplitPath and provide deprecation description in the docs (for the documented functions) or directly in the header (for undocumented functions)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57872 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-07 01:29:54 +00:00
Vadim Zeitlin
7047d7981f handle exceptions thrown from overridden wxView::OnCreate() gracefully
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57671 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-30 16:36:39 +00:00
Vadim Zeitlin
de56f24082 added wxDocument::AlreadySaved() and use it in OnUpdateFileSave() to ensure that the "Save" menu item is enabled for new documents, even although they're not modified yet (otherwise the standard Ctrl-S key doesn't work in this case which is pretty annoying)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56581 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-10-29 16:23:25 +00:00
Vadim Zeitlin
838dd956a4 fix assert when adding an entry to an already full file history (closes #10118)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56579 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-10-29 16:04:06 +00:00
Vadim Zeitlin
b54129836c add a more readable wrapper for CreateDocument(wxEmptyString, wxDOC_NEW)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56018 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-10-01 17:04:43 +00:00
Vadim Zeitlin
c09b7217f6 don't test for both stream.fail() and stream.bad() as the latter implies the former; also use operator!() instead of fail() to make it more clear what's going on
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55876 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-09-25 16:50:48 +00:00
Vadim Zeitlin
e58eaff761 specify the file name in IO errors messages; also make Do{Open,Save}Document() use the same logic flow
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55873 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-09-25 16:27:22 +00:00
Vadim Zeitlin
bba5e72ad3 hook the docview-specific customization of event handling logic at TryValidator() level instead of ProcessEvent(): this ensures that the events are not sent to wxApp before they're passed to all the handlers which might process them (before the events were passed to wxDocument and then immediately to wxApp)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55786 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-09-22 00:33:11 +00:00
Vadim Zeitlin
c6e4d276a3 don't call OnCloseDocument() from OnNewDocument(), this plainly doesn't make sense (#1508)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55009 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-07 12:17:52 +00:00
Vadim Zeitlin
c77049a04b general docview.cpp code cleanup; use wxVector<> instead of manually-allocated arrays; refactor wxDocManager::CreateDocument() and allow using wxDOC_SILENT with wxDOC_NEW; cleanup wxFileHistory code
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@54965 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-04 00:37:00 +00:00
Stefan Csomor
26eef30437 OSX regrouping
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@54814 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-07-29 19:47:40 +00:00
Vadim Zeitlin
9c8116f8f7 take const wxConfig object in wxDocManager::FileHistoryLoad() and wxFileHistory::Load() (patch 1942316)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@53562 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-05-11 20:32:35 +00:00
Vadim Zeitlin
07f87b6b2e don't fail in wxTransferStreamToFile if file size is exact multiple of 4KB (bug 1835918)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@51392 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-01-26 23:23:09 +00:00
Julian Smart
e0214f1f25 Don't ignore path when prompting for file in SaveAs()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@51134 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-01-09 14:56:22 +00:00
Julian Smart
f6fe9f9c00 Made dialog captions more standard
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@49396 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-10-24 14:17:37 +00:00