Commit Graph

53285 Commits

Author SHA1 Message Date
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
Vadim Zeitlin
9f6e407c7d Don't pass spin text control messages processed at wx level to Windows.
Windows messages handled at wx level shouldn't be processed again at Windows
level but we always passed the events forwarded by spin control "buddy" text
window to its default window proc as we had no way to determine whether they
were really handled or not.

Now we do have a way to do, by using the newly added MSWHandleMessage(), so
only pass the messages to default window proc if they hadn't been handled
already.

This notably suppresses the annoying beep which happened if Enter key was
pressed in a wxSpinCtrl with wxTE_PROCESS_ENTER style (as used by the
corresponding wxDataViewCtrl renderer, for example). It probably corrects some
other bugs/discrepancies with the other ports in event handling in wxSpinCtrl
too.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68328 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-22 12:49:24 +00:00
Vadim Zeitlin
2e1cee233e Refactor wxWindow::MSWHandleMessage() out from MSWWindowProc().
This commit just refactors the code without changing anything in its
behaviour and will be followed by the real changes in the next one.

The new function just handles the message, without calling MSWDefWindowProc()
if it wasn't handled. This allows to call it and determine whether the message
was really handled and only continue processing it if it wasn't.

Notice that while in theory this shouldn't be necessary because the return
value of MSWWindowProc() should indicate whether the message was handled or
not (0 meaning that it was, for most messages), in practice it doesn't work
because many standard controls window procs return 0 even for message they do
nothing with, e.g. "up down" control always returns 0 for WM_CHAR messages
even it it only really handles the arrow keys.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68327 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-22 12:49:22 +00:00
Vadim Zeitlin
41936464fd Fix double deletion bug in wxGTK wxDVC dnd code.
The row_draggable callback could blithely delete m_dragDataObject twice as it
didn't reset it to NULL after deleting it the first time. Then, if the object
wasn't changed in the meanwhile, e.g. because dragging was not allowed for
this item, it tried to do it again when called the next time resulting in a
crash.

Closes #12538.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68324 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-21 13:50:26 +00:00
Vadim Zeitlin
3e81bbbf6c Fix the alignment used by custom wxDVC renderers in wxGTK by default.
Correctly initialize the alignment used by the text renderer used by
wxDataViewCustomRenderer in wxGTK implementation of wxDataViewCtrl.

Closes #12298.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68323 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-21 13:50:22 +00:00
Vadim Zeitlin
ff7bc95e6f Send wxEVT_COMMAND_DATAVIEW_COLUMN_SORTED for generic version too.
Send this event when the column used for sorting changed in the generic
implementation of wxDataViewCtrl too.

Closes #13005.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68322 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-21 13:50:17 +00:00
Vadim Zeitlin
311c4a7a85 Fix drawing of expander columns not at 0 position in generic wxDVC.
The drawing code in the generic version of wxDataViewCtrl incorrectly supposed
that the expander column was always at position 0. This resulted in the
expander column not being drawn at all if it was not really the first one.

Fix the test to use wxDataViewCtrl::GetExpanderColumn() to correct this.

Closes #12870.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68321 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-21 13:50:14 +00:00
Vadim Zeitlin
4385e70296 Correct test for maximal row index in generic wxDataViewCtrl.
The comparison in EVT_CHAR handler was incorrect for an empty control without
any rows as it subtracting 1 from 0 resulted in UINT_MAX and not -1 as all the
values were unsigned.

Fix this by checking that the new row is valid instead, this is correct for
both signed and unsigned values.

Closes #13356.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68320 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-21 13:50:10 +00:00
Vadim Zeitlin
26647ae4a7 Never restore focus to hidden child.
Don't set focus to a hidden window in our focus management code, this never
makes sense and results in apparent focus loss.

It also fixes, as a side effect, a crash in wxGrid under wxMSW as the focus is
not restored to the hidden grid editor any longer and so the code in its
wxEVT_KILL_FOCUS handler that resulted in the crash is not executed any
longer, see #13349.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68319 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-21 13:50:06 +00:00
Vadim Zeitlin
2b232decc5 Allow marking wxTreeBook nodes to expand initially in XRC.
Add new "expanded" attribute for XRC nodes of treebookpage class.

Also update the sample and the XRC format documentation.

Closes #13355.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68318 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-21 13:50:03 +00:00
Vadim Zeitlin
fb4faeb5de Make wxEnhMetaFileDC ctor from wxDC explicit.
This avoids implicit conversion of any kind of wxDC to wxEnhMetaFileDC which
is totally unexpected.

See #13326.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68317 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-21 13:49:59 +00:00
Vadim Zeitlin
1a63798c5a Fix parsing of negated long options in wxCmdLineParser.
Negated long options were not recognized in wxCmdLineParser::Parse(), do check
for them now.

Also extend the unit test to check for negated options.

Closes #13335.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68316 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-21 13:49:55 +00:00
Vadim Zeitlin
dd18cc6594 Reset negatable switches correctly in wxCmdLineParser::Reset().
The "negated" flag of wxCmdLineOption struct was not reset by Reset() so
parsing a command line with a negatable option once influenced the result of
parsing it the next time because the old value was kept.

Do clear it now to allow calling Parse() several times without side effects.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68315 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-21 13:49:51 +00:00
Julian Smart
6607ee151a No longer ignores first-line indent if no left indent specified
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68314 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-20 16:23:37 +00:00
Vadim Zeitlin
5707e433a3 Don't use template member function in drawing sample to placate VC6.
VC6 can't instantiate member template functions so get rid of it and use ugly
dynamic casts in the non-template function to construct wxGCDC correctly.

See #13327.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68311 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-20 11:41:07 +00:00
Stefan Csomor
7a68fc9c34 fixes redraw problems under OSX, see #13345
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68310 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-20 06:36:06 +00:00
Vadim Zeitlin
5568067a3d Fix harmless gcc warning about uninitialized mask in PNG saving code.
The mask was actually only used when it was initialized (or, conversely, the
mask was always initialized when it was used) but gcc doesn't seem to notice
this and still warns that mask components "may be used uninitialized in this
function".

Suppress the warnings by always initializing the mask, even if we don't use
it.

Closes #13333.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68309 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-19 22:36:00 +00:00
Vadim Zeitlin
a09da78b03 Refresh the old current row when right clicking in wxDataViewCtrl.
the generic implementation of wxDataViewCtrl left the old current still
focused after selecting another row as current when it was right clicked.
Fix this by refreshing the previously current row after unfocusing it.

Closes #13330.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68308 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-19 22:35:57 +00:00
Vadim Zeitlin
2a648479df Add wxDataViewEvent::IsEditCancelled() and support for vetoing edit events.
Currently this is only implemented in the generic wxDataViewCtrl, the native
GTK/OSX ports should be modified to support this later.

Closes #13323.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68307 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-19 22:35:53 +00:00
Vadim Zeitlin
d32fb5f9f4 Fix deleting columns in wxGridStringTable with custom column labels.
We erroneously removed too many elements from m_colLabels array (basically we
always removed all the elements remaining after this column, irrespectively of
the actual number of columns to delete), fix this by removing at most the
specified number of columns -- or possibly less if the array isn't entirely
filled.

See #13329.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68306 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-19 22:35:48 +00:00
Vadim Zeitlin
8c6b0819ec Allow saving the drawing sample canvas to a file or clipboard.
This allows to test wxMemoryDC and, under MSW, wxMetafileDC and also can be
used to compare the output of different versions of the sample (possibly from
different ports, too).

Closes #13327.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68305 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-19 22:35:45 +00:00
Vadim Zeitlin
2d770c4f82 Added wxGCDC(wxEnhMetaFileDC) ctor too.
Make it possible to create wxGCDC associated with a metafile DC in wxMSW too.

Closes #13326.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68304 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-19 22:35:41 +00:00
Vadim Zeitlin
b64bb3ca1b Fix keyboard navigation in wxGrid with hidden columns.
The hidden columns (i.e. those whose size was set to 0) should be skipped when
find the previous/next column to select when the user presses Left/Right
cursor arrow keys in wxGrid, otherwise the focus could completely disappear as
it was invisible when it was set to a hidden column.

Closes #13281.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68303 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-19 22:35:37 +00:00
Stefan Csomor
3e88d48700 doing WakeUp in osx_carbon differently for the main event as well
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68302 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-19 17:56:57 +00:00
Stefan Csomor
85a74f93bf make sure we can issue a WakeUp call that really triggers at the NSRunLoop level not only only CFRunLoop
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68301 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-19 16:17:44 +00:00
Stefan Csomor
f51afd8f40 fixing width/height (were negative) thanks to Werner Smekal
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68300 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-19 10:56:04 +00:00
Vadim Zeitlin
05d65177f8 Fix memory leak in wxPanel::SetBackgroundBirmap() in wxMSW.
The brush allocated for the bitmap was never freed, do free it in dtor.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68299 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-18 19:36:31 +00:00
Václav Slavík
7243eb6d3b Add support for column header images to wxListCtrl XRC handler.
Fixes #13319 (patch).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68286 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-16 10:05:02 +00:00
Václav Slavík
d8eae94f53 Fix wxListCtrlXmlHandler so that it accepts icon with wxLC_LIST and wxLC_REPORT styles too.
Fixes #13319 (patch).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68285 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-16 10:04:57 +00:00
Václav Slavík
0915bc4d71 Fix wxXmlResourceHandler::GetImageList() to use specified size.
Fixes #13319 (patch).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68284 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-16 10:04:54 +00:00
Václav Slavík
527d2d2d47 Add check to prevent creation of element wxXmlNodes with content data.
Just like in the DOM, only text, ctype etc. nodes have textual content,
elements don't.

See #13297.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68283 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-16 10:04:48 +00:00
Stefan Csomor
7973979598 proper guard for bitmap constructors
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68282 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-16 06:57:30 +00:00
Stefan Csomor
913bcbfc3d fixing typo
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68281 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-16 06:57:07 +00:00
Vadim Zeitlin
1715d4fef9 Implement wxRegion::Equal() for wxOSX.
As there doesn't seem to be any native functions for comparing HIShapes,
compute their differences to find out if they are equal.

Closes #13339.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68280 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-15 22:58:36 +00:00
Vadim Zeitlin
0aab87fddd Ensure we don't modify a shared object in wxOSX wxRegion::DoOffset().
Call AllocExclusive() before modifying the object.

Closes #13338.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68279 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-15 22:58:32 +00:00
Vadim Zeitlin
22aa243d58 No real changes, just use AllocExclusive() in wxOSX wxRegion.
Don't fiddle with the reference count manually, just use the base class
function doing it instead.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68278 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-15 22:58:30 +00:00
Václav Slavík
a1c9e7d143 Better sizing in wxDataViewSpinRenderer and wxDataViewChoiceRenderer.
Their GetSize() method used hardcoded size of (80,16). Instead, use
GetTextExtent() to compute the size from content, as should be done. Add
some extra room for editor control's extra parts. The space needed isn't
computed exactly, as that would be quite convoluted (and in the end,
most likely not 100% accurate even then), using a simple approximation
instead.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68242 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-13 08:32:17 +00:00
Vadim Zeitlin
7ecc7eb6be Use native hint wxTextCtrl support in wxSearchCtrl.
Instead of using broken emulation of the support for hints available in the
text control, use the real wxTextCtrl::SetHint() for SetDescriptiveText()
implementation in the search control.

This looks better and, more importantly, fixes the bug when searching for the
string equal to the current descriptive text searched for an empty string
instead.

Closes #13324.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68237 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-12 09:13:43 +00:00
Vadim Zeitlin
b748750e13 Centre wxSlider value correctly when wxSL_MIN_MAX_LABELS is not used.
r68230 fixed the width of the value label in this case but not its position:
it was left-aligned instead of being centered as it should be.

See #13291.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68236 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-12 09:13:39 +00:00
Vadim Zeitlin
1bf9327b5d Document wxEnhMetaFileDC-related wxGraphics functions.
Closes #13325.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68235 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-12 09:13:36 +00:00
Vadim Zeitlin
16e79d4879 Fix showing slider label in wxMSW when wxSL_MIN_MAX_LABELS was not used.
wxSlider with wxSL_LABELS style but without wxSL_MIN_MAX_LABELS didn't show
the current value because the width of the value label was 0.

Fix this by always computing the widths of min and max labels and using the
longest of them for the value label, even if we don't actually show them.

Closes #13291.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68230 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-11 22:49:33 +00:00
Vadim Zeitlin
5db9025368 No real changes, just make some wxSlider members local variables.
wxMSW wxSlider implementation stored the min and max labels widths as fields
of wxSlider object for some reason even though they were only used in one of
its methods (and can be easily computed anyhow).

Make them simple local variables instead and also rename an existing local
variable which started conflicting with their new names.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68229 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-11 22:49:30 +00:00
Vadim Zeitlin
c3b8a19638 Fix and improve documentation of wxT_2() macro.
Documentation for wxT_2() applied to wxS() instead, fix this. Also correct the
wording and add @since tags.

Closes #13321.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68228 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-11 22:49:26 +00:00
Vadim Zeitlin
efaf786535 Don't handle "Return" key as "TAB" even when the default button is disabled.
wxMSW used to handle VK_RETURN in the same way as VK_TAB if it wasn't consumed
by the default push button but this didn't correspond to the native platform
behaviour which considers pressing Return when the OK button is disabled an
error and audibly notifies the user about it.

Fix this by passing VK_RETURN to IsDialogMessage() if we don't translate it to
a button click.

Also add a possibility to test what happens when the default (or all)
button(s) in the dialog are disabled to the dialogs sample.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68227 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-11 22:25:24 +00:00
Vadim Zeitlin
550d5748b1 Copy recently added wxGenericValidator fields in Copy().
The pointers added in r68217 must be also initialized when creating a copy of
the validator.

Closes #13304.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68225 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-11 14:51:32 +00:00