Commit Graph

53329 Commits

Author SHA1 Message Date
Vadim Zeitlin
3fb39fd56c Add missing header for minimalistic builds not using PCH.
wxWindow might not be fully declared in dcbase.cpp but we need its full
declaration for wxDCImpl::InheritAttributes() so explicitly include
wx/window.h -- while this is usually already included from somewhere else it
might not be in minimal builds with a lot of features disabled.

Closes #13380.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68522 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-04 16:12:41 +00:00
Vadim Zeitlin
eb2087c5e6 Compilation fixes for wxUSE_GEOMETRY==0 build.
Add missing wxUSE_GEOMETRY checks to wxAffineMatrix2D-related code.

Closes #13379.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68521 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-04 16:12:36 +00:00
Vadim Zeitlin
1df57a24e5 Use wxWindowMSW instead of wxWindow to fix wxUniv/MSW compilation.
wxFindWindowAtPoint() only returns wxWindowMSW, not the derived wxWindow, in
wxUniv build so assign its return value to wxWindowMSW to avoid compilation
problems in it.

Closes #12534.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68520 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-04 16:12:31 +00:00
Vadim Zeitlin
47e2f88166 Avoid unwanted line break in wxDataViewListModel::GetCount() docs.
Using "i.e." in the brief Doxygen comment makes it end it after the second
period and results in truncated brief description and an unwanted line break
in the full description.

Just avoid using periods for now inside the brief description. Maybe a better
solution could be found in the future.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68519 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-04 13:19:57 +00:00
Julian Smart
4c7d9d88b7 Added Page Break control to spacing page
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68517 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-04 12:31:44 +00:00
Julian Smart
5755acd77f Return sensible major and minor version numbers for Mac OS X
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68506 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-03 15:46:43 +00:00
Julian Smart
41d9dcbc60 Outline and line spacing can now be reset via the UI; format dialog layout improvements
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68505 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-03 11:41:17 +00:00
Vadim Zeitlin
6e92c2991b Fix bug with TAB being able to switch focus between MDI frames.
The keyboard navigation code correctly checked that TAB was not propagated
above the TLW containing the window in which the key was pressed to avoid
switching focus between different TLWs by pressing TAB.

However wxMDIChildFrame is not a TLW and so it was possible to switch focus
between two different MDI child frames by pressing TAB. This was unexpected
and counterintuitive, especially because the frame receiving focus was not
even activated (which might be another bug).

Fix this by adding a new wxWindow::IsTopNavigationDomain() virtual method that
can be overridden to indicate that a window is a self-contained "keyboard
navigation domain" and that keyboard events shouldn't propagate outside of it
and override it in both wxTopLevelWindow and wxMDIChildFrame to ensure that it
behaves correctly.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68502 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-03 00:45:42 +00:00
Vadim Zeitlin
2a0777a8f0 No real changes, just rename a variable.
"focussed" spelling is unusual and inconsistent with "focused" used in many
other places in the same file, so renamed "focussed_child_of_parent" and also
use standard camelCase naming convention for it.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68501 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-03 00:45:38 +00:00
Robin Dunn
ec3f5752a0 If -1 is passed to InsertItem for the imageIndex then don't set wxLIST_MASK_IMAGE
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68495 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-02 20:23:42 +00:00
Robin Dunn
6c797d8fd1 Initialize the native printer info for ConvertFromNative if it hasn't been done already.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68494 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-02 19:49:02 +00:00
Vadim Zeitlin
57429bfda5 Don't un-maximize the window when Iconize(false) is called in wxMSW.
Calling Iconize(false) on a maximized window restored it to its normal state
instead of doing nothing as expected.

Return immediately from Iconize() if the requested state is already the
current one to avoid it.

Closes #13373.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68493 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-02 19:46:44 +00:00
Vadim Zeitlin
9be02147f0 Fix wxSocket::WaitForAccept() in blocking mode.
When wxSocket::WaitForAccept() was called from another thread or on a socket
with wxSOCKET_BLOCK flag it didn't work because it called
wxSocketImpl::Select() with wxSOCKET_CONNECTION_FLAG which was only handled
for the client sockets in this function.

Handle it now for the server ones too, this should allow blocking server
sockets to work again.

Closes #12836.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68492 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-02 19:46:40 +00:00
Vadim Zeitlin
d6f2b04c72 Remove documentation of non-existent wxTextAttr::CreateFont().
This method doesn't exist (only GetFont() does), so don't document it.

Closes #13372.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68491 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-02 19:46:35 +00:00
Václav Slavík
1969499c6f Silence Clang warning about numeric_limits<> specialization.
libstdc++ (which is used by Clang) defines numeric_limits<> as a struct
and Clang issues a warning about our specialization that uses 'class'.
As libstdc++ developers have no intention of fixing this, silence the
Clang warning by using 'struct' for it.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68472 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-31 13:25:33 +00:00
Václav Slavík
7198c33680 Disable symbols visibility support for the Clang compiler.
Even Clang++ shipped with Xcode 4.1 still can't handle visibility
of non-inline methods in exported template classes if the default
visibility is 'hidden'.

Disable visibility support for Clang for now, we'll revisit it in the future.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68471 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-31 13:25:30 +00:00
Vadim Zeitlin
bd5754f253 Correct typo in wxArray::insert() fix of r68468.
A wrong variable was mistakenly used.

Closes #13371.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68470 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-31 12:19:51 +00:00
Vadim Zeitlin
9c5c5c9cfd Fix crash in wxArray::insert() overload taking iterator range.
The iterator passed as argument could be invalidated by the function itself,
update it before using it.

Closes #13371.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68468 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-30 23:38:43 +00:00
Vadim Zeitlin
e999b903ca Generate events with WXK_NONE Unicode keys for non-characters in wxOSX.
The keyboard keys not corresponding to real characters, such as cursor arrows
or function keys, must generate wxKeyEvents with WXK_NONE as Unicode key code
to make it possible to distinguish them from the printable characters but
wxOSX generated events with valid Unicode key codes for them instead.

Avoid this by excluding Unicode key codes corresponding to code points in the
Unicode private use area: while this doesn't seem to be documented anywhere,
all non-printable characters seem to have their Unicode representation inside
it.

This change brings wxOSX keyboard event generation in line with the other
ports and, as a side effect, also closes #12423.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68467 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-30 21:54:21 +00:00
Vadim Zeitlin
66fc8b0e64 Avoid bogus focus loss event when wxTextCtrl is modified in wxOSX.
A wxEVT_KILL_FOCUS event was generated when wxTextCtrl::WriteText() was called
in wxOSX, even though the control didn't lose focus at all in this case. This
was completely unexpected and thoroughly confused wxGrid code which closed the
in place editor immediately after showing it because of this (this was perhaps
only the case since r68319 but the changes there were correct so they only
masked the real bug).

Avoid this bogus event by remembering the NSView currently being
programmatically modified and not doing anything in textDidEndEditing
notification if it is generated for this view.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68466 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-30 21:54:18 +00:00
Vadim Zeitlin
567e5e47ee Improve wxTextCtrl::GetNumberOfLines() unit test and documentation.
First, enable execution of the Lines() wxTextCtrl unit test case under wxOSX
as it passes since the fix in the previous commit.

Do add a test for GetNumberOfLines() that currently doesn't work in the same
way under all platforms -- but with this test we at least can be sure how does
it work exactly where.

Also mention the current discrepancy in this function behaviour in the
documentation.

See #12366.

Fix Lines() wxTextCtrl unit test to pass under wxGTK too.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68465 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-30 21:54:15 +00:00
Vadim Zeitlin
2d5c15163a Fix off by one error in wxTextCtrl::GetLineLength() in wxOSX.
The trailing new line shouldn't be counted in the line length.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68464 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-30 21:54:08 +00:00
Vadim Zeitlin
d641b2d2a0 Fix stock accelerators handling in wxOSX.
No modifiers were used for stock accelerators, i.e. Append(wxID_NEW) resulted
in an item with the label "New" and plain "N" as accelerator in wxOSX. This
was due to wxACCEL_CMD not being handled in wxAcceleratorEntry::ToString() so
map it to the same prefix as wxACCEL_CTRL there, this is enough to make the
accelerators work even though it's not clear whether this is really the best
thing to do or if we should use a separate "Cmd+" prefix for it (and recognize
it in Parse() too then) as otherwise it's unclear why do we have wxACCEL_CMD
at all, it just seems to be treated identically to wxACCEL_CTRL everywhere.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68463 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-30 21:54:05 +00:00
Vadim Zeitlin
75618d57e4 Emphasize that wxStandardPaths must not be created directly.
wxStandardPaths::Get() must be used instead as the correct object to use might
have a different type.

See #11239.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68462 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-30 17:40:00 +00:00
Vadim Zeitlin
bf8f10225c Get rid of ugly wxCONTROL_ITEMCONTAINER_CLIENTDATAOBJECT_RECAST macro.
Replace it with wxWindowWithItems<> template class which takes care of
disambiguating between the two inherited Get/SetClientXXX() versions and use
it as a base class in all clases that previously used the macro.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68460 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-30 11:30:08 +00:00
Vadim Zeitlin
c29c95fe24 Resolve ambiguity between GetClientXXX() methods in wxOSX wxComboBox.
Use wxCONTROL_ITEMCONTAINER_CLIENTDATAOBJECT_RECAST for wxOSX/Cocoa too, not
only for wxOSX/Carbon. This macro adds methods to explicitly disambiguate
between the two inherited versions of each GetClientXXX() method, the one from
wxItemContainer and the other one from wxEvtHandler.

Closes #11637.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68459 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-30 11:30:03 +00:00
Vadim Zeitlin
6ce832135e Add wxTextCtrl::PositionToCoords() functions for wxMSW and wxGTK.
The new method allows to find the coordinates in pixels of the given character
in a text control.

Closes #13221.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68450 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-29 15:11:54 +00:00
Vadim Zeitlin
d298f18ffb Mention wxGTK wxAnimation implementation limitations in the docs.
The native GTK implementation doesn't provide information about the frames
count nor access to individual frames.

See #13365.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68437 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-26 21:37:20 +00:00
Vadim Zeitlin
9f1bf94013 Compilation fix: include wx/event.h from wx/containr.h.
We now need wxEVT_XXX constants declarations in this file (at least when not
wxHAS_NATIVE_TAB_TRAVERSAL) so include wx/event.h to fix PCH-less build of
wxOSX.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68426 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-26 11:31:21 +00:00
Dimitri Schoolwerth
bc91da9610 Fixed wxOSX-Cocoa compilation.
OS X' wxComboBox::Init does not exist anymore since r68366 but an implementation still was present in combobox_osx.cpp which is used in Cocoa compilation. Removed the function.



git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68421 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-25 23:31:01 +00:00
Dimitri Schoolwerth
1f6831ea9b Fixed containr.h compilation with gcc.
At least apple-gcc 4.0 and 4.2 gave a compilation error on the three Connect calls in containr.h, insisting (unless using -fpermissive) on a declaration of Connect because there are no arguments to it that depend on a template parameter. Fixed by prepending BaseWindowClass to the Connect calls. Regression since r68363.



git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68420 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-25 22:31:17 +00:00
Vadim Zeitlin
f0e5d5d22c No changes, just remove unnecessary wxPickerBase::OnSize().
This method did the same thing as the base wxWindow class event handler.

Also remove wxPickerBase event table which became empty after removing this
method.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68368 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-24 22:19:41 +00:00
Vadim Zeitlin
a3edb930b9 Exclude windows not accepting keyboard focus from GTK focus chain.
For some reason the test for AcceptsFocusFromKeyboard() wasn't done in the
correct place when constructing the GTK focus chain and even windows returning
false from it were still added to it.

Do not do this any more, this prevents the windows which are really not meant
to be focusable from keyboard (such as the pseudo-buttons in the generic
implementation of wxSearchCtrl) from gaining focus unexpectedly.

See #12808.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68367 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-24 22:19:37 +00:00
Vadim Zeitlin
9023040798 Replace wxControlContainer-related macros with wxNavigationEnabled<>.
Simply inherit classes which need to provide TAB navigation among their
children from wxNavigationEnabled<> and remove the now unnecessary
WX_DECLARE_CONTROL_CONTAINER() macros.

Also remove WX_INIT_CONTROL_CONTAINER(), WX_DELEGATE_TO_CONTROL_CONTAINER()
and WX_EVENT_TABLE_CONTROL_CONTAINER() which are not needed neither any more.

And remove the event tables which became empty after removing the last macro.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68366 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-24 22:19:33 +00:00
Vadim Zeitlin
7e0a200b08 Don't give focus to wxSearchButton when using keyboard navigation.
The search control buttons don't show that they have focus and are not meant
to have it anyhow as they are more control decorations than real buttons and
their functionality can be activated by pressing "Enter" or "Escape" already
from the keyboard. But giving it to them made TAB behave unexpectedly and
wrongly when wxSearchCtrl had focus.

Override AcceptsFocusFromKeyboard() to return false to correct this.

See #12808.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68365 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-24 22:19:27 +00:00
Vadim Zeitlin
e7c9d913c0 Use wxNavigationEnabled<> for keyboard navigation in generic wxSearchCtrl.
Derive generic wxSearchCtrl implementation from wxNavigationEnabled<> to
ensure that TAB navigation works correctly in it. While it did work before for
search controls without wxTE_PROCESS_ENTER style (because this wasn't handled
by this control itself at all in fact), it stopped working as soon as this
style was used in wxMSW because then the navigation was implemented by
manually calling wxWindow::Navigate() and this requires wxControlContainer
support.

Use wxNavigationEnabled<> to easily add it to wxSearchCtrl.

See #12808.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68364 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-24 22:19:23 +00:00
Vadim Zeitlin
4d98817cfa Add wxNavigationEnabled<> helper for implementing TAB navigation.
Provide a clean, public and documented way to implement proper TAB navigation
for subwindows of a composite control: instead of using various ugly and never
documented WX_XXX_CONTROL_CONTAINER macros it is now enough to simply inherit
from wxNavigationEnabled<BaseClass> to do it.

No real changes in the code as the new class is not used anywhere yet.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68363 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-24 22:19:20 +00:00
Vadim Zeitlin
d19d14c550 Ignore WM_CLOSE generated by wxMSW edit control when Escape is pressed.
Multiline edit control posts WM_CLOSE to its parent window when Escape key is
pressed inside it for some reason. This is unwanted as it totally bypasses our
logic for only closing the dialog when Escape is pressed if there is a
Cancel-like button in it, so suppress this behaviour by not letting the edit
control to get Escape at all.

Closes #12501.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68351 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-24 10:50:51 +00:00
Vadim Zeitlin
1dfe47d022 Mention that pages can't be added to wxBookCtrl more than once.
Apparently some people expect this to work although it's really not meant to.

See #13209.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68345 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-23 19:36:47 +00:00
Vadim Zeitlin
401889f079 Don't try to pop from an empty stack in wxGDIPlusContext::PopState().
Using PopState() without a previous PushState() is an error but it shouldn't
result in a crash, so add an assert guarding against it.

Closes #13197.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68344 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-23 19:36:43 +00:00
Vadim Zeitlin
5d4a050443 Remove mentions of wxCommandEvent from wxThreadEvent documentation.
wxThreadEvent doesn't derive from wxCommandEvent any more so don't say that it
does.

Also fix some grammar/wording.

Closes #13359.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68339 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-23 12:01:26 +00:00
Vadim Zeitlin
04a00346c6 Don't create an unnecessary extra button in wxMSW wxProgressDialog.
MSWCommonTaskDialogInit() now (probably since r67620) always creates a
IDCANCEL button so don't create another one in wxProgressDialog code, just
ensure that the one created by that function has the correct label (either
"Cancel" or "Close").

Closes #13358.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68338 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-23 11:59:43 +00:00
Vadim Zeitlin
4877e9bf90 Set wxDidCreatePaintDC to true even if we reused a cached wxPaintDC.
Reusing a cached wxPaintDC should count as painting the window, otherwise we
could call DefWindowProc(WM_PAINT) if WM_PAINT was generated from inside
EVT_PAINT handler (e.g. by calling wxWindow::Update()) and this validated the
entire window and no painting was really done.

In particular this fixes redrawing of wxStyledTextCtrl which does call
Update() (completely unnecessarily AFAICS) from its EVT_PAINT handler when it
wants to fully refresh itself.

Closes #13345.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68337 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-22 16:53:56 +00:00
Vadim Zeitlin
6c42e86d96 Increased the version to 2.9.3.
Simply ran misc/scripts/inc_release and changed build/bakefiles/version.bkl
and rebaked everything afterwards.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68336 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-22 16:32:07 +00:00
Vadim Zeitlin
0c63cc6e4c Update the files changed by the version number increment script.
src/wxWindows.xcodeproj doesn't exist any more so remove it but add
build/tools/bld_chm_exe.bat and samples/minimal/Info*.plist files.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68335 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-22 16:31:55 +00:00
Vadim Zeitlin
d38eb01c91 Added customizable wxDocManager::OnMRUFileNotExist() virtual method.
This method can be overridden to customize the previously hard-coded handling
of the case when a file selected from the MRU menu doesn't exist any more: we
used to always remove it from the file history completely. This may, however,
be inappropriate and, in fact, probably never, or very rarely, is the right
thing to do when the file that we failed to open still exists.

So never remove the file from the MRU if we failed to open an existing file
(also don't give an error about it as it should have been already given by
CreateDocument()) and, while we still do it for the non-existent files, allow
to override this behaviour by overriding the new OnMRUFileNotExist() method.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68334 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-22 16:16:09 +00:00
Vadim Zeitlin
1ecc323f26 Several corrections to wxDocManager fields documentation.
Remove non-existent wxDocManager::m_flags.

Added correct m_lastDirectory declaration to go with its documentation instead
of the duplicated m_fileHistory documentation.

Better document the default m_maxDocsOpen value.

Put all the documented fields in protected section as they're really protected
and not public.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68333 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-22 16:16:06 +00:00
Vadim Zeitlin
a6b7e90b5d Save and restore file history in docview sample.
Show how the file history can be saved to and restored from wxConfig.

This makes it much easier to test file history related stuff as the history
doesn't need to be recreated during every sample run.

It is also closer to what real applications using docview framework do as the
file history is relatively useless if it's not saved.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68332 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-22 16:16:03 +00:00
Vadim Zeitlin
90693f47f2 Allow passing the error value to wxStreamBase::Reset().
It can be useful to induce an error on the stream explicitly, e.g. because an
incorrect value was read from it and we want to indicate it to the caller by
setting stream error to wxSTREAM_READ_ERROR.

Allow to do this by passing an optional error value to wxStreamBase::Reset().

Add an example of using the new functionality to the docview sample which
needs it to be able to signal errors while reading the files.

Also document this method that previously wasn't documented at all.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68331 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-22 16:16:00 +00:00
Julian Smart
e3bb4c547a Fixed Replace() to use the passed range instead of current selection
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68329 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-22 13:07:40 +00:00