]> git.saurik.com Git - wxWidgets.git/log
wxWidgets.git
14 years agoUse status full, not client, size to determine frame client size in wxMSW.
Vadim Zeitlin [Mon, 22 Nov 2010 01:22:30 +0000 (01:22 +0000)] 
Use status full, not client, size to determine frame client size in wxMSW.

We need to account for the full size of status bar, including potential
borders, when calculating the client size of the frame containing it.

Closes #12697.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66225 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

14 years agoSend page changed event after changing the page in wxMSW wxNotebook.
Vadim Zeitlin [Mon, 22 Nov 2010 01:22:25 +0000 (01:22 +0000)] 
Send page changed event after changing the page in wxMSW wxNotebook.

Update the currently selected page before generating
wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED event in wxMSW wxNotebook. This is more
consistent with other ports and more logical as "-ED" events are supposed to
be sent after the action they notify about is completed. And it also allows to
set the focus in this event handler whereas any attempts to do it would have
been disregarded before as changing the active page resets focus.

Notice that this does introduce an incompatibility: calling
wxNotebook::GetSelection() from PAGE_CHANGED event handler now returns the new
page and not the old one as before. Again, this is more logical and more
consistent.

Closes #12688.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66224 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

14 years agoUse correct wxDEBUG_LEVEL value when building wxscintilla library.
Vadim Zeitlin [Mon, 22 Nov 2010 01:22:17 +0000 (01:22 +0000)] 
Use correct wxDEBUG_LEVEL value when building wxscintilla library.

wxScintilla code uses wxVector<> which brings in wxDEBUG_LEVEL-dependent code
so we must use the wxDEBUG_LEVEL value consistent with the rest of the library
when building it.

Simply pass wxDEBUG_LEVEL definition on the compiler command line if it's
different from the default.

Closes #12626.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66223 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

14 years agoAlways define WXUSINGDLL when compiling Scintilla in shared wx build.
Vadim Zeitlin [Mon, 22 Nov 2010 01:22:07 +0000 (01:22 +0000)] 
Always define WXUSINGDLL when compiling Scintilla in shared wx build.

We need WXUSINGDLL even in monolithic build because Scintilla references wx
debugging functions (wxOnAssert(), wxTheAssertHandler &c) which still must be
seen as being exported from the (monolithic) DLL in this case.

See #12626.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66222 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

14 years agoCorrect wxFont::GetFamily() unit test to test for wxFONTFAMILY_DEFAULT.
Vadim Zeitlin [Sun, 21 Nov 2010 13:00:13 +0000 (13:00 +0000)] 
Correct wxFont::GetFamily() unit test to test for wxFONTFAMILY_DEFAULT.

GetFamily() returns wxFONTFAMILY_DEFAULT and not wxFONTFAMILY_UNKNOWN since
r65670.

Correct the test to handle wxFONTFAMILY_DEFAULT as allowed value.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66221 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

14 years agoRevert r66070: "Unload bogus XRC resources in "garbage" unit test."
Vadim Zeitlin [Sun, 21 Nov 2010 13:00:06 +0000 (13:00 +0000)] 
Revert r66070: "Unload bogus XRC resources in "garbage" unit test."

This change is not needed any longer after r66219 which fixed the real
underlying problem, i.e. that attempting to load an invalid XRC file resulted
in failures when loading all subsequent XRC files.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66220 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

14 years agoDon't keep entries for XRC resources that failed to load in wxXmlResource.
Vadim Zeitlin [Sat, 20 Nov 2010 23:53:34 +0000 (23:53 +0000)] 
Don't keep entries for XRC resources that failed to load in wxXmlResource.

Attempting to load a resource that couldn't be loaded resulted in
wxXmlResource::Load() returning false for this and _all_the_subsequent_ calls
to it because each call to Load() reattempted to reload all resources,
including the one(s) that failed to load initially.

Instead, try to load just the resource(s) that we should load right now and
ignore all the other ones. Also, don't add entries for the one(s) that we fail
to load.

This fixes the unit test failures in the XRC test case which was affected by
the test checking that XRC couldn't be loaded from garbage that ran before it.
It also makes the code simpler by ensuring that wxXmlResourceDataRecords
elements always have a valid wxXmlDocument associated with them.

Also clean up the code: use wxScopedPtr instead of manually deleting pointers
and reorganize #if checks to be easier to follow.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66219 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

14 years agoDon't consider extra ".." an error in wxFileName::Normalize().
Vadim Zeitlin [Sat, 20 Nov 2010 23:53:28 +0000 (23:53 +0000)] 
Don't consider extra ".." an error in wxFileName::Normalize().

The path being normalized could have come from user and there doesn't seem to
be any point in complaining about too many ".."s in it when we can handle them
correctly instead.

So simply ignore the extra ".."s for the absolute paths and keep them
unchanged for the relative ones instead of returning an error.

See #10960.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66218 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

14 years agoReworked wxSystemColourProperty::StringToValue() to use wxColour::Set() instead of...
Jaakko Salli [Sat, 20 Nov 2010 11:58:54 +0000 (11:58 +0000)] 
Reworked wxSystemColourProperty::StringToValue() to use wxColour::Set() instead of doing string-to-colour conversion by itself. This adds support for HTML-colours, among other things (closes #12696).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66217 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

14 years agoFix some bad parameter names, add missing methods, add missing classes, etc.
Robin Dunn [Fri, 19 Nov 2010 07:57:19 +0000 (07:57 +0000)] 
Fix some bad parameter names, add missing methods, add missing classes, etc.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66210 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

14 years agoAdd a SetSize to wxSizeEvent
Robin Dunn [Fri, 19 Nov 2010 07:51:15 +0000 (07:51 +0000)] 
Add a SetSize to wxSizeEvent

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66209 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

14 years agoImprove documentation about handling C++ exceptions in wx programs.
Vadim Zeitlin [Thu, 18 Nov 2010 14:10:15 +0000 (14:10 +0000)] 
Improve documentation about handling C++ exceptions in wx programs.

Try to explain the different exception handling strategies more clearly in the
overview and also update OnUnhandledException() documentation.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66205 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

14 years agoCheck wxDateTime components validity more rigorously.
Vadim Zeitlin [Thu, 18 Nov 2010 12:41:13 +0000 (12:41 +0000)] 
Check wxDateTime components validity more rigorously.

Check that the provided day is strictly positive and also that the month is in
valid range: while it should always be, considering that it's an enum element,
in practice people often cast ints to wxDateTime::Month with potentially fatal
results. Catch this with an assert in wxDateTime::Tm::IsValid().

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66203 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

14 years agoExplicitly include "wx/dynlib.h" from src/msw/combobox.cpp.
Vadim Zeitlin [Thu, 18 Nov 2010 12:41:07 +0000 (12:41 +0000)] 
Explicitly include "wx/dynlib.h" from src/msw/combobox.cpp.

This header was only included implicitly via wx/msw/uxtheme.h and thus the
code failed to compile with wxUSE_UXTHEME==0 but wxUSE_DYNLIB_CLASS==1.

See #12664.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66202 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

14 years agoremove const from by-value return type, it's useless
Paul Cornett [Wed, 17 Nov 2010 05:57:21 +0000 (05:57 +0000)] 
remove const from by-value return type, it's useless

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66180 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

14 years agoRemove obsolete warning from wxMenuBar::GetTitle() documentation.
Vadim Zeitlin [Wed, 17 Nov 2010 01:22:17 +0000 (01:22 +0000)] 
Remove obsolete warning from wxMenuBar::GetTitle() documentation.

This method can be used for menu bar entries also since the previous commit.

Do mention that SetTitle() can't be used to change a menu bar menu title
however.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66179 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

14 years agoSimplify wxMSW wxMenuBar title management.
Vadim Zeitlin [Wed, 17 Nov 2010 01:20:50 +0000 (01:20 +0000)] 
Simplify wxMSW wxMenuBar title management.

Store the titles of the menu bar menus in the menu objects themselves. This
makes wxMenu::GetTitle() return the expected result for them (which also fixes
the current unit test failures for wxMSW) and makes wxMenuBar code simpler.

This removes the wxMenuInfo class which existed for XTI purposes only but as
it was apparently unfinished and MSW-specific it shouldn't be a big loss.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66178 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

14 years agoNo real changes, just minor cleanup of wxImage code.
Vadim Zeitlin [Wed, 17 Nov 2010 01:20:44 +0000 (01:20 +0000)] 
No real changes, just minor cleanup of wxImage code.

Make more local variables const. Use consistent spacing. Don't use needless
comparison with NULL. Don't avoid not using double negation.

See #12682.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66177 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

14 years agoDon't pass a bool to wxImage::MakeEmptyClone() which takes an enum.
Vadim Zeitlin [Wed, 17 Nov 2010 01:20:38 +0000 (01:20 +0000)] 
Don't pass a bool to wxImage::MakeEmptyClone() which takes an enum.

Correct the changes of r66167 which accidentally left a call to
MakeEmptyClone() using its previous signature.

See #12682.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66176 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

14 years agoCorrect form of mnemonics returned by wxGTK wxMenu::GetTitle().
Vadim Zeitlin [Tue, 16 Nov 2010 22:38:53 +0000 (22:38 +0000)] 
Correct form of mnemonics returned by wxGTK wxMenu::GetTitle().

wxMenu::GetTitle() returned a string in GTK+ format (i.e. using underscores
instead of ampersands) instead of the expected wx one.

This is, of course, the right thing to do and it also fixes
wxMenuBar::FindMenuItem() as a side effect.

Closes #12672.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66175 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

14 years agoEmphasize that wxUSE_DYNLIB_CLASS shouldn't be disabled in wxMSW.
Vadim Zeitlin [Tue, 16 Nov 2010 22:38:44 +0000 (22:38 +0000)] 
Emphasize that wxUSE_DYNLIB_CLASS shouldn't be disabled in wxMSW.

Mention in the setup.h comment that wxDynamicLibrary is used in a lot of
places internally and disabling it can result in a loss of a lot of important
functionality.

See #12664.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66174 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

14 years agoAdd more checks for wxUSE_DYNLIB_CLASS to wxMSW.
Vadim Zeitlin [Tue, 16 Nov 2010 22:38:38 +0000 (22:38 +0000)] 
Add more checks for wxUSE_DYNLIB_CLASS to wxMSW.

Compilation fixes for wxApp and wxComboBox for wxUSE_DYNLIB_CLASS==0.

See #12664.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66173 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

14 years agoCorrect checks for wxUSE_PRINTING_ARCHITECTURE and wxUSE_ENH_METAFILE.
Vadim Zeitlin [Tue, 16 Nov 2010 22:38:32 +0000 (22:38 +0000)] 
Correct checks for wxUSE_PRINTING_ARCHITECTURE and wxUSE_ENH_METAFILE.

Compilation fixes for building without one or both of these symbols.

See #12664.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66172 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

14 years agoAvoid asserts due to not overriding OnGetItemText() in VirtListCtrlTestCase.
Vadim Zeitlin [Tue, 16 Nov 2010 22:38:26 +0000 (22:38 +0000)] 
Avoid asserts due to not overriding OnGetItemText() in VirtListCtrlTestCase.

A virtual list control must override wxListCtrl::OnGetItemText() method and
wxMSW native implementation asserts if this is not the case (the generic one
should arguably do it as well).

Avoid the asserts by providing a dummy implementation of OnGetItemText() in
the unit test.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66171 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

14 years agoAdd an explicit SetFocus() call to fix wxTreeCtrl unit test.
Vadim Zeitlin [Tue, 16 Nov 2010 22:38:19 +0000 (22:38 +0000)] 
Add an explicit SetFocus() call to fix wxTreeCtrl unit test.

Fixing the implicit focus grabbing by wxTreeCtrl::SelectItem() in r65905 broke
its unit test case as the simulated key event was not delivered to wxTreeCtrl
itself any more.

Fix this by simply setting the focus to the tree explicitly before sending it
any key strokes.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66170 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

14 years agoCorrect wxMSW wxToolTip behaviour for wxRadioBox items tooltips.
Vadim Zeitlin [Tue, 16 Nov 2010 22:38:13 +0000 (22:38 +0000)] 
Correct wxMSW wxToolTip behaviour for wxRadioBox items tooltips.

The assert added in r66053 checking that we couldn't have tooltips for child
windows if we didn't have the tooltip for the main one turned out to be wrong,
at least in wxRadioBox case it's perfectly possible to have the tooltips for
the individual radio buttons without having one for the box itself.

Replace the assert with a simple if check.

This fixes a unit test failure in RadioBoxTestCase.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66169 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

14 years agoDon't use some "recent" C++98 features not supported by VC6.
Vadim Zeitlin [Tue, 16 Nov 2010 22:38:06 +0000 (22:38 +0000)] 
Don't use some "recent" C++98 features not supported by VC6.

Don't return void values nor redeclare the same variable in for loops to fix
VC6 compilation.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66168 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

14 years agoNo changes, just refactor common code in wxImage cloning functions.
Vadim Zeitlin [Tue, 16 Nov 2010 22:37:59 +0000 (22:37 +0000)] 
No changes, just refactor common code in wxImage cloning functions.

Extract code common to several wxImage methods creating new images based on an
existing one in a new MakeEmptyClone() method.

Closes #12682.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66167 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

14 years agoFix crashes in wxDateTime::ParseDate() for some invalid dates.
Vadim Zeitlin [Tue, 16 Nov 2010 22:37:52 +0000 (22:37 +0000)] 
Fix crashes in wxDateTime::ParseDate() for some invalid dates.

Parsing an incomplete date with nothing but whitespace and/or date delimiter
characters at the end crashed as we happily went beyond the end of string.

Fix this by not using a loop which didn't check for the iterator validity.

Closes #12685.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66166 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

14 years agoUpdate OpenVMS makefile
Jouk Jansen [Mon, 15 Nov 2010 08:52:56 +0000 (08:52 +0000)] 
Update OpenVMS makefile

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66161 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

14 years agoVC6 compilation fix in wxDIB::Create().
Vadim Zeitlin [Mon, 15 Nov 2010 00:22:01 +0000 (00:22 +0000)] 
VC6 compilation fix in wxDIB::Create().

Deal with the lack of scope around variables declared inside the for loop in
this compiler, previously it gave "error C2360: initialization of 'x' is
skipped by 'case' label" message and also complained about redefinition of 'x'.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66157 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

14 years agoFix incorrect use of word "alternative" in the documentation.
Vadim Zeitlin [Mon, 15 Nov 2010 00:11:21 +0000 (00:11 +0000)] 
Fix incorrect use of word "alternative" in the documentation.

There can't be only one alternative.

Closes #12681.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66156 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

14 years agoRestore code for closing inherited file descriptors in the child.
Vadim Zeitlin [Sun, 14 Nov 2010 14:04:44 +0000 (14:04 +0000)] 
Restore code for closing inherited file descriptors in the child.

The code closing all file descriptors inherited from the parent in the child
process created by wxExecute() was  removed in r57324 by mistake (probably
due the fact that its meaning was poorly explained) but we still do need to do
this, of course, to avoid descriptor "leaks" (e.g. the parent couldn't really
close any of them).

Restore the code for closing all unneeded file descriptors in the child in
slightly modified form and add a comment pointing to an URL explaining how to
do it better in the future.

Closes #12636.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66153 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

14 years agoFix spurious errors when writing to the child process stdin under Unix.
Vadim Zeitlin [Sun, 14 Nov 2010 14:04:37 +0000 (14:04 +0000)] 
Fix spurious errors when writing to the child process stdin under Unix.

Since the child pipe was made non-blocking in r65993, it became possible to
write to child process without deadlocking when the pipe became full. However
this still resulted in an error from wxFileOutputStream as it didn't handle
EAGAIN returned from write() any differently than any other error, even though
it is an expected situation in this particular case.

Change Unix wxExecute() to use wxPipeOutputStream which ignores EAGAIN unlike
wxFileOutputStream to fix this.

See #12636.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66152 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

14 years agoNo real changes, just reamed HAS_PIPE_INPUT_STREAM.
Vadim Zeitlin [Sun, 14 Nov 2010 14:04:27 +0000 (14:04 +0000)] 
No real changes, just reamed HAS_PIPE_INPUT_STREAM.

Renamed the symbol indicating whether pipe-based streams are available from
HAS_PIPE_INPUT_STREAM to HAS_PIPE_STREAMS as it's not really input-specific.

See #12636.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66151 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

14 years agoAdd wxFile::{Get,Clear}LastError() functions.
Vadim Zeitlin [Sun, 14 Nov 2010 12:09:59 +0000 (12:09 +0000)] 
Add wxFile::{Get,Clear}LastError() functions.

Remember the errno of the last file operation instead of just remembering
whether there was an error or not.

See #12636.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66150 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

14 years agoHandle image hot spot in wxImage::Rotate180().
Vadim Zeitlin [Sun, 14 Nov 2010 12:09:51 +0000 (12:09 +0000)] 
Handle image hot spot in wxImage::Rotate180().

Set the hot spot coordinates correctly for the image returned from
Rotate180(), just as it's already done by Rotate90().

Closes #12680.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66149 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

14 years agoAdd wxImage::Rotate180() function.
Vadim Zeitlin [Sun, 14 Nov 2010 01:02:35 +0000 (01:02 +0000)] 
Add wxImage::Rotate180() function.

Closes #12679.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66146 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

14 years agoHandle hot spots in wxImage::Rotate90().
Vadim Zeitlin [Sun, 14 Nov 2010 01:02:27 +0000 (01:02 +0000)] 
Handle hot spots in wxImage::Rotate90().

Set hot spot coordinates for the rotated image if the original one had them.

Also handle the case when the source image has both alpha and mask correctly.

Closes #3680.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66145 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

14 years agoDon't use standard menu ids in the unit test to avoid Mac problems.
Vadim Zeitlin [Sat, 13 Nov 2010 17:13:29 +0000 (17:13 +0000)] 
Don't use standard menu ids in the unit test to avoid Mac problems.

wxOSX rearranges the standard menu items such as wxID_EXIT and wxID_ABOUT and,
for the former, changes its text to "Quit", so don't use them in the menu unit
test which expects to find the items in the menus to which they were added and
exactly with the labels used when adding them.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66144 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

14 years agoDon't put cursor at the end of wxGridCellEnumEditor control.
Vadim Zeitlin [Sat, 13 Nov 2010 15:03:33 +0000 (15:03 +0000)] 
Don't put cursor at the end of wxGridCellEnumEditor control.

Putting the cursor to the end of the control when the editing starts doesn't
make much sense as this should be the default behaviour anyhow and, worse,
this results in an assert under wxMSW where a read-only wxComboBox doesn't
have any cursor to move.

Closes #12446.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66143 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

14 years agoInitialize scrollbar positions in wxGTK correctly.
Vadim Zeitlin [Sat, 13 Nov 2010 15:03:26 +0000 (15:03 +0000)] 
Initialize scrollbar positions in wxGTK correctly.

The scrollbar positions stored in wxWindow::m_scrollPos were not initially
correct in wxGTK because wxScrollHelper::SetScrollbars() didn't update them
and only set the values of the underlying GtkAdjustments themselves. This
resulted in filtering out of the first scroll event as the code (wrongly)
believed that the scrollbar position hadn't changed.

Fix this by setting m_scrollPos to the real scrollbar positions.

Closes #12468.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66142 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

14 years agoAdd a unit test checking selection updating in virtual wxListCtrl.
Vadim Zeitlin [Sat, 13 Nov 2010 15:03:20 +0000 (15:03 +0000)] 
Add a unit test checking selection updating in virtual wxListCtrl.

Verify that the selection is updated correctly after the number of items in
the control is decreased.

See #12378.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66141 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

14 years agoDon't assert if config file contains an invalid boolean value.
Vadim Zeitlin [Sat, 13 Nov 2010 15:03:10 +0000 (15:03 +0000)] 
Don't assert if config file contains an invalid boolean value.

Asserts should be only triggered by programming errors, not by user actions,
and the assert checking that the value is either 0 or 1 in
wxConfigBase::DoReadBool() could happen if the user edited the file and put a
wrong value into it.

Replace the assert with a warning message.

See #11437.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66140 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

14 years agoAdd a beginning of wxMenu unit test.
Vadim Zeitlin [Sat, 13 Nov 2010 15:03:02 +0000 (15:03 +0000)] 
Add a beginning of wxMenu unit test.

Test wxMenu and wxMenuBar item search and counting functions.

See #12672.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66139 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

14 years agoMake menu operations always work with "Test" menu in the sample.
Vadim Zeitlin [Sat, 13 Nov 2010 15:02:50 +0000 (15:02 +0000)] 
Make menu operations always work with "Test" menu in the sample.

Some tests in the "Menu" menu of the menu sample worked with the "Test" menu
while others used the last one ("Help" initially but possibly something else
if the test commands from "Menubar" menu were used).

Harmonize all menu commands to use the "Test" menu now.

See #12668.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66138 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

14 years agoFix resizing of wxGrid columns when they were reordered.
Vadim Zeitlin [Sat, 13 Nov 2010 15:02:42 +0000 (15:02 +0000)] 
Fix resizing of wxGrid columns when they were reordered.

The column resizing code in wxGrid didn't take account of the fact that the
column positions and indices could be different. Correct it by inserting calls
to wxGrid::GetColAt() and GetColPos() in a new wxGridOperations::GetLineBefore()
method.

Closes #11984.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66137 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

14 years agoUpdate SETUP for OpenVMS
Jouk Jansen [Fri, 12 Nov 2010 07:15:46 +0000 (07:15 +0000)] 
Update SETUP for OpenVMS

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66124 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

14 years agoUse wxFS_SEEKABLE flag loading images.
Michael Wetherell [Thu, 11 Nov 2010 15:51:09 +0000 (15:51 +0000)] 
Use wxFS_SEEKABLE flag loading images.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66121 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

14 years agoImprove check for ASCII locale in wxGTK initialization code.
Vadim Zeitlin [Thu, 11 Nov 2010 12:09:30 +0000 (12:09 +0000)] 
Improve check for ASCII locale in wxGTK initialization code.

Use wxFontMapper::GetEncodingFromName() to check if the current locale
encoding is ASCII instead of just comparing the name with "US-ASCII" which is
not the name used by most platforms (e.g. current Linux systems call this
encoding "ANSI_X3.4-1968").

This avoid creating a wxCSConv object for ASCII encoding unnecessarily on
startup.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66120 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

14 years agoInitialize wxCSConv immediately instead of deferring it.
Vadim Zeitlin [Thu, 11 Nov 2010 12:09:22 +0000 (12:09 +0000)] 
Initialize wxCSConv immediately instead of deferring it.

Deferred initialization code was not MT-safe and just wasn't that useful
anyhow because it is rare to create a wxCSConv object and not use it
afterwards.

Remove the deferred initialization logic and create the real conversion used
by wxCSConv immediately in its ctor.

Also improve the comments by clearly explaining the possible values of
wxCSConv::m_name and m_encoding.

Closes #12630.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66119 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

14 years agoFix typo in error message given if wxUSE_CAIRO is undefined.
Vadim Zeitlin [Thu, 11 Nov 2010 12:09:13 +0000 (12:09 +0000)] 
Fix typo in error message given if wxUSE_CAIRO is undefined.

Replaced the wrongly copy-and-pasted wxUSE_BUTTON with wxUSE_CAIRO.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66118 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

14 years agoNo docs yet, just the bare interace so we can get XML for Phoenix.
Robin Dunn [Thu, 11 Nov 2010 04:09:09 +0000 (04:09 +0000)] 
No docs yet, just the bare interace so we can get XML for Phoenix.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66117 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

14 years agoFix a parameter type and add some missing const keywords
Robin Dunn [Thu, 11 Nov 2010 01:29:14 +0000 (01:29 +0000)] 
Fix a parameter type and add some missing const keywords

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66116 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

14 years agoDisable unit tests which can't work in ANSI build.
Vadim Zeitlin [Wed, 10 Nov 2010 13:53:49 +0000 (13:53 +0000)] 
Disable unit tests which can't work in ANSI build.

Disable unit tests involving operations (such as conversions between UTF and
anything but plain ASCII) not available in ANSI build.

This fixes the test suite for non-Unicode build under Unix.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66103 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

14 years agoUse wxString::To8BitData() instead of mb_str() to handle NULs correctly.
Vadim Zeitlin [Wed, 10 Nov 2010 13:53:40 +0000 (13:53 +0000)] 
Use wxString::To8BitData() instead of mb_str() to handle NULs correctly.

In ANSI build wxString::mb_str() returns a pointer to the internal wxString
data directly instead of a buffer with a proper length, so it provides access
to the part of the string before the first embedded NUL only.

Use To8BitData() which always returns the buffer of the correct size in all
builds.

The open question remains whether mb_str() should be changed to return a (non
owned) buffer and not just a pointer in ANSI build. This would make
manipulating strings with embedded NULs safer but mb_str() would be less
efficient and less compatible.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66102 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

14 years agoFix wxString::{Before,After}{First,Last} unit test for ANSI build.
Vadim Zeitlin [Wed, 10 Nov 2010 13:53:34 +0000 (13:53 +0000)] 
Fix wxString::{Before,After}{First,Last} unit test for ANSI build.

The test used a wide character constant and so didn't work in ANSI build. Use
an ASCII string there now while still keeping the original version in Unicode
build.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66101 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

14 years agoDon't check for wxDF_UNICODETEXT support in ANSI builds.
Vadim Zeitlin [Wed, 10 Nov 2010 13:53:27 +0000 (13:53 +0000)] 
Don't check for wxDF_UNICODETEXT support in ANSI builds.

wxDF_UNICODETEXT clipboard format can't be even constructed without provoking
an assert in ANSI build of wxGTK, so avoid using it, we don't support it
anyhow.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66100 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

14 years agoInitialize paragraph descent in wxRichTextParagraph::Layout().
Vadim Zeitlin [Wed, 10 Nov 2010 13:53:22 +0000 (13:53 +0000)] 
Initialize paragraph descent in wxRichTextParagraph::Layout().

This variable was used as the initial value for the descent but was never
initialized, so the descent computation could be completely wrong.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66099 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

14 years agoDon't crash in wxGUIEventLoop::Exit() if not running in wxX11.
Vadim Zeitlin [Wed, 10 Nov 2010 13:53:15 +0000 (13:53 +0000)] 
Don't crash in wxGUIEventLoop::Exit() if not running in wxX11.

The implementation of wxEventLoop::IsRunning() has changed since this code was
written and it doesn't check for m_impl != NULL any more. Because of this,
calling Exit() for an active but not running event loop resulted in a crash in
wxX11.

Fix this by doing nothing in this case. This seems better than asserting as
the event handling code exits the loop if an event handler throws an exception
and the loop might not be running in this case yet (events could be processed
because of a wxYield() call).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66098 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

14 years agoImplement bitmap mask copying in wxX11.
Vadim Zeitlin [Wed, 10 Nov 2010 13:53:08 +0000 (13:53 +0000)] 
Implement bitmap mask copying in wxX11.

Copy the mask pixmap properly in wxX11, otherwise copying masks resulted in
freeing the same pixmap twice and an X error.

This fixes the bitmap unit test for wxX11.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66097 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

14 years agoDon't test for DC validity in wxX11 wxDC text extent functions.
Vadim Zeitlin [Wed, 10 Nov 2010 13:52:59 +0000 (13:52 +0000)] 
Don't test for DC validity in wxX11 wxDC text extent functions.

The code in GetTextExtent() and GetChar{Width,Height}() works fine even for
non-initialized wxMemoryDC and the ellipsization unit test relies on this
working so simply remove the asserts which resulted in the test failures.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66096 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

14 years agoDisable measuring context unit test for wxX11.
Vadim Zeitlin [Wed, 10 Nov 2010 13:52:52 +0000 (13:52 +0000)] 
Disable measuring context unit test for wxX11.

wxCairoRenderer::CreateMeasuringContext() is only implemented for wxGTK so the
test fails under other ports when using Cairo. Disable it for wxX11 for now.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66095 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

14 years agoUse Cairo for wxGraphicsContext in wxX11.
Vadim Zeitlin [Wed, 10 Nov 2010 13:52:45 +0000 (13:52 +0000)] 
Use Cairo for wxGraphicsContext in wxX11.

Check for Cairo in configure for wxX11 too.

Fix compilation of wxCairoContext for non-{GTK,MSW} platforms.

Also make wxUSE_CAIRO a "normal" option, i.e. add it to all wx/setup.h files
instead of defining it as 1 unconditionally for wxGTK and 0 for everything
else.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66094 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

14 years agoDisable unit test for wxColour alpha under wxX11.
Vadim Zeitlin [Wed, 10 Nov 2010 13:52:35 +0000 (13:52 +0000)] 
Disable unit test for wxColour alpha under wxX11.

wxX11 doesn't support alpha component of wxColour currently.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66093 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

14 years agoFix signed/unsigned comparison warnings in wxUniv wxNotebook.
Vadim Zeitlin [Wed, 10 Nov 2010 13:52:29 +0000 (13:52 +0000)] 
Fix signed/unsigned comparison warnings in wxUniv wxNotebook.

Recent replacement of size_t wxNotebook::m_selection with int
wxBookCtrlBase::m_selection resulted in appearance of many warnings in wxUniv
wxNotebook. Fix them by removing some now unnecessary casts between int and
size_t and adjusting the remaining ones.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66092 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

14 years agoAdd #if checks fixing minimal wxGTK build.
Vadim Zeitlin [Wed, 10 Nov 2010 13:52:22 +0000 (13:52 +0000)] 
Add #if checks fixing minimal wxGTK build.

Check for functions availability before using them. This fixes compilation of
wxGTK with all features disabled.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66091 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

14 years agoFix harmless unused parameter warnings in minimal build.
Vadim Zeitlin [Wed, 10 Nov 2010 13:52:17 +0000 (13:52 +0000)] 
Fix harmless unused parameter warnings in minimal build.

No real changes, just add some wxUnusedVar() to avoid warnings about
parameters unused in some non-default build configurations.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66090 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

14 years agoDon't exclude a bunch of wxDir methods when wxUSE_LONGLONG==0.
Vadim Zeitlin [Wed, 10 Nov 2010 13:52:10 +0000 (13:52 +0000)] 
Don't exclude a bunch of wxDir methods when wxUSE_LONGLONG==0.

The #endif part of a #if wxUSE_LONGLONG check was incorrectly positioned and
excluded the definition of several wxDir methods not related to wxLongLong
when wxUSE_LONGLONG was 0.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66089 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

14 years agoFix wxGLCanvas compilation with wxUSE_PALETTE==0.
Vadim Zeitlin [Wed, 10 Nov 2010 13:52:04 +0000 (13:52 +0000)] 
Fix wxGLCanvas compilation with wxUSE_PALETTE==0.

This fixes compilation problems with the minimal build of wxGTK and will make
removing palette support in the future simpler.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66088 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

14 years agoFix wxStandardDialogLayoutAdapter compilation with wxUSE_BUTTON==0.
Vadim Zeitlin [Wed, 10 Nov 2010 13:51:57 +0000 (13:51 +0000)] 
Fix wxStandardDialogLayoutAdapter compilation with wxUSE_BUTTON==0.

This class probably should not be compiled in at all in the minimal build but
in the meanwhile just add #if checks around its button-related parts.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66087 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

14 years agoMake wxBitmap::ConvertToDisabled() available in all ports.
Vadim Zeitlin [Wed, 10 Nov 2010 13:51:51 +0000 (13:51 +0000)] 
Make wxBitmap::ConvertToDisabled() available in all ports.

This method was defined in wxBitmapBase which is not used by wxMSW (and wxOS2)
so it wasn't available there. Move the definition of the method inline and
reuse it for all ports, making it part of either wxBitmapBase or wxBitmap as
appropriate.

This is clearly ugly but we still have no good solution for deriving wxBitmap
from wxBitmapBase in wxMSW as it already inherits from MSW-specific wxGDIImage
there.

Also document that ConvertToDisabled() is only available when wxUSE_IMAGE==1.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66086 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

14 years agoDisconnect "hide" menu signal to fix menu destruction in wxGTK.
Vadim Zeitlin [Wed, 10 Nov 2010 00:36:55 +0000 (00:36 +0000)] 
Disconnect "hide" menu signal to fix menu destruction in wxGTK.

The "hide" signal handler was triggered when destroying a sub-menu (even if it
was not shown at this time). Disconnect it to avoid asserts due to attempts to
generate an event for an already detached menu and to avoid the (bogus)
wxEVT_MENU_CLOSE event as well.

Closes #12668.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66082 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

14 years agoAdd a test for deleting a sub-menu to the menu sample.
Vadim Zeitlin [Wed, 10 Nov 2010 00:36:50 +0000 (00:36 +0000)] 
Add a test for deleting a sub-menu to the menu sample.

Also fix some typos in the help message.

See #12668.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66081 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

14 years agoFix wxUSE_DC_CACHEING spelling in the documentation.
Vadim Zeitlin [Wed, 10 Nov 2010 00:36:45 +0000 (00:36 +0000)] 
Fix wxUSE_DC_CACHEING spelling in the documentation.

It was consistently misspelt as wxUSE_DC_CACHE.

Closes #12377.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66080 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

14 years agoNo changes, just simplify docview sample a bit.
Vadim Zeitlin [Wed, 10 Nov 2010 00:36:39 +0000 (00:36 +0000)] 
No changes, just simplify docview sample a bit.

Remove some unnecessary function arguments and m_frame member variable.

Closes #12374.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66079 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

14 years agoCorrect wxID_SEPARATOR description in menu documentation.
Vadim Zeitlin [Wed, 10 Nov 2010 00:36:30 +0000 (00:36 +0000)] 
Correct wxID_SEPARATOR description in menu documentation.

Also correct a typo in Delete() function links.

Closes #12666.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66078 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

14 years agoFix preprocessor definitions for wxBase build under OS X.
Vadim Zeitlin [Tue, 9 Nov 2010 23:53:42 +0000 (23:53 +0000)] 
Fix preprocessor definitions for wxBase build under OS X.

Define __WXOSX__ for non-GUI build under Darwin. Ensure that the rest of the
code compiles correctly when just __WXOSX__ is defined but neither of
__WXOSX_{CARBON,COCOA,IPHONE}__ is. This ensures that wxBase can actually be
built under Mac.

Move OS X symbols definitions in wx/platform.h after wx/setup.h inclusion as
they rely on __DARWIN__ and wxUSE_GUI values which are both define in that
file now. Still keep them before wx/chkconf.h inclusion which relies on
__WXOSX_XXX__ being defined. Yes, it's a mess and should be cleaned up more
permanently some day.

Also remove some redundancy from wx/osx/{carbon,cocoa}/private.h by factoring
out common parts into wx/osx/core/private.h. Also include this header itself
from wx/osx/private.h directly instead of including it thrice from different
sub-ports headers.

Closes #12660.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66077 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

14 years agoFix timeval struct initialization in wxSelectDispatcher.
Vadim Zeitlin [Tue, 9 Nov 2010 23:53:33 +0000 (23:53 +0000)] 
Fix timeval struct initialization in wxSelectDispatcher.

The tv_usec field could overflow its maximal value while tv_sec was always
left 0.

It would be even better to reuse SetTimeValFromMS() from socket.cpp here in
the future.

See #11542.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66076 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

14 years agoFix crash in wxCFEventLoop::AddSourceForFD().
Vadim Zeitlin [Tue, 9 Nov 2010 23:53:28 +0000 (23:53 +0000)] 
Fix crash in wxCFEventLoop::AddSourceForFD().

Don't reset CFFileDescriptorRef before passing it to
CFFileDescriptorCreateRunLoopSource(), this resulted in a crash inside this
function.

Closes #11542.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66075 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

14 years agoRemove non-existent functions declarations from wxOSX/Carbon.
Vadim Zeitlin [Tue, 9 Nov 2010 23:53:21 +0000 (23:53 +0000)] 
Remove non-existent functions declarations from wxOSX/Carbon.

wxMacSetupConverters() and wxMacCleanupConverters() don't seem to exist any
more so don't declare them.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66074 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

14 years agoDocument wxRenameFile() behaviour when destination is a directory.
Vadim Zeitlin [Mon, 8 Nov 2010 16:28:57 +0000 (16:28 +0000)] 
Document wxRenameFile() behaviour when destination is a directory.

Document that the source file is moved to the destination if it's a directory,
apparently this is not obvious.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66071 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

14 years agoUnload bogus XRC resources in "garbage" unit test.
Vadim Zeitlin [Mon, 8 Nov 2010 16:28:51 +0000 (16:28 +0000)] 
Unload bogus XRC resources in "garbage" unit test.

Leaving invalid XRC entries in wxXmlResource internal list of loaded resources
resulted in failures in the XRC unit test which executed after this one.

It seems that loading an invalid resource shouldn't prevent the other ones
from loading correctly later and this probably should be corrected at
wxXmlResource level but for now work around this problem in the test itself.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66070 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

14 years agoFix crash in XRC ID range support code.
Vadim Zeitlin [Mon, 8 Nov 2010 13:50:46 +0000 (13:50 +0000)] 
Fix crash in XRC ID range support code.

Really fix removing the record from the linked list. This code was modified by
r66064 but was still wrong because the wrong pointer was updated.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66069 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

14 years agoCompilation fix for STL build after ID range changes in XRC.
Vadim Zeitlin [Sun, 7 Nov 2010 22:13:55 +0000 (22:13 +0000)] 
Compilation fix for STL build after ID range changes in XRC.

Fix compilation of the new code which relied on implicit conversion of
wxString to "const char *" which is unavailable when wxUSE_STL==1.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66066 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

14 years agoFactor our hash function used for XRC ids hash map.
Vadim Zeitlin [Sun, 7 Nov 2010 19:34:05 +0000 (19:34 +0000)] 
Factor our hash function used for XRC ids hash map.

Define the hash function in a separate function instead of duplicating it in
XRCID_Lookup() and RemoveXRCIDEntry().

The hash function is extremely simplistic and inefficient right now, it should
be replaced with wxStringHash::stringHash().

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66065 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

14 years agoFix memory leak of XRC ids introduced by the ID range support patch.
Vadim Zeitlin [Sun, 7 Nov 2010 19:33:55 +0000 (19:33 +0000)] 
Fix memory leak of XRC ids introduced by the ID range support patch.

Fix bug in linked list processing in RemoveXRCIDEntry() added in r66059: it
incorrectly overwrote the XRC id table entry with the next element in the list
instead of just updating the pointer used during iteration.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66064 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

14 years agoReformat long lines in the new part of the xrc sample.
Vadim Zeitlin [Sun, 7 Nov 2010 19:33:38 +0000 (19:33 +0000)] 
Reformat long lines in the new part of the xrc sample.

No changes, just break the too long lines.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66063 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

14 years agoUse Connect() of Bind() in the new part of xrc sample.
Vadim Zeitlin [Sun, 7 Nov 2010 19:33:30 +0000 (19:33 +0000)] 
Use Connect() of Bind() in the new part of xrc sample.

Use Connect() for compatibility (notably with VC6 which doesn't support
Bind()). Also connect the event handlers on loading the dialog instead of
waiting until the relevant page is selected, this makes the code slightly
simpler as we don't need to remember whether we connected them or not any
longer.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66062 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

14 years agoTest both ChangeSelection() and SetSelection() in notebook sample.
Vadim Zeitlin [Sun, 7 Nov 2010 19:33:22 +0000 (19:33 +0000)] 
Test both ChangeSelection() and SetSelection() in notebook sample.

Test wxBookCtrl::SetSelection() too to be able to check that it does generate
events as expected.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66061 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

14 years agoDon't require skipping "page changed" event in wxMSW wxNotebook.
Vadim Zeitlin [Sun, 7 Nov 2010 19:33:10 +0000 (19:33 +0000)] 
Don't require skipping "page changed" event in wxMSW wxNotebook.

wxMSW wxNotebook implementation used to handle EVT_NOTEBOOK_PAGE_CHANGED event
to update the currently shown page which meant that page changing was broken
if the user code handled and didn't skip this event.

As the other ports don't require the user code to skip this event, don't do
this in wxMSW neither and always update the selected page unconditionally.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66060 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

14 years agoAdd support for id ranges to XRC.
Vadim Zeitlin [Sun, 7 Nov 2010 14:00:59 +0000 (14:00 +0000)] 
Add support for id ranges to XRC.

Allow to declare ranges of consecutive IDs in XRC by using the "id[n]" syntax.
Show this functionality in the xrc sample and test it in the new unit test.

Also show and test the "object reference" XRC functionality.

Closes #11431.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66059 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

14 years agoMake wxXmlResource::ReportError() wxXmlNode parameter const.
Vadim Zeitlin [Sun, 7 Nov 2010 14:00:43 +0000 (14:00 +0000)] 
Make wxXmlResource::ReportError() wxXmlNode parameter const.

This function (and the related DoReportError()) doesn't need to modify its
"context" argument so take a const-pointer in it.

See #11431.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66058 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

14 years agoMention the GUI test in the unit test tech note.
Vadim Zeitlin [Sun, 7 Nov 2010 14:00:31 +0000 (14:00 +0000)] 
Mention the GUI test in the unit test tech note.

Update the tech note to mention the (relatively) new GUI test program too.

See #11431.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66057 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

14 years agoUpdate and reorganize XRC overview to make it more useful.
Vadim Zeitlin [Sun, 7 Nov 2010 14:00:19 +0000 (14:00 +0000)] 
Update and reorganize XRC overview to make it more useful.

Emphasize the parts most useful for the new users instead of more advanced
concepts and generally make the text more readable.

Closes #12661.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66056 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

14 years agoAdd support for toggle buttons to wxRibbonButtonBar.
Peter Cawley [Sun, 7 Nov 2010 13:44:22 +0000 (13:44 +0000)] 
Add support for toggle buttons to wxRibbonButtonBar.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66055 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

14 years agoFix build with Borland C++ compiler.
Vadim Zeitlin [Sun, 7 Nov 2010 13:16:20 +0000 (13:16 +0000)] 
Fix build with Borland C++ compiler.

Disable some parts of the code that this compiler had problems with. Add
parentheses to work around its bugs elsewhere.

Closes #12558.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66054 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

14 years agoUpdate all windows associated with the tooltip when it changes in wxMSW.
Vadim Zeitlin [Sun, 7 Nov 2010 13:12:16 +0000 (13:12 +0000)] 
Update all windows associated with the tooltip when it changes in wxMSW.

Although the tooltip was initially correctly set for all windows associated
with it, it was only updated for the main one if its text changed later. This
resulted in leaving the old tooltip for the composite controls such as
wxComboBox or controls with sub-windows such as wxRadioBox.

Fix this by storing all windows associated with the tooltip (for space
efficiency, only allocate the array if necessary however as it will be empty
in the majority of cases) and apply SetTip() to all of them, not just the main
one.

Closes #12659.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66053 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

14 years agodisable code because of OS bug, fixes #12478, fixes #12554
Stefan Csomor [Sun, 7 Nov 2010 11:54:09 +0000 (11:54 +0000)] 
disable code because of OS bug, fixes #12478, fixes #12554

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66052 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

14 years agoImprove behaviour of scrolling through a ribbon gallery.
Peter Cawley [Sat, 6 Nov 2010 23:46:25 +0000 (23:46 +0000)] 
Improve behaviour of scrolling through a ribbon gallery.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66051 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775