wxWidgets.git
13 years agoUpdate AUI bitmaps when its colours change.
Vadim Zeitlin [Fri, 3 Dec 2010 12:40:28 +0000 (12:40 +0000)] 
Update AUI bitmaps when its colours change.

Extract the bitmaps initialization in wxAuiDefaultDockArt::InitBitmaps() and
call it from SetColour() to ensure that the bitmaps are updated when the
colour scheme changes.

Closes #12532.

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

13 years agoNo changes, just clean up duplicate colour functions in wxAUI.
Vadim Zeitlin [Fri, 3 Dec 2010 12:40:23 +0000 (12:40 +0000)] 
No changes, just clean up duplicate colour functions in wxAUI.

Reuse wxcolour::AlphaBlend() and ChangeLightness() methods instead of
duplicating them in wxAUI-specific wxAui{Blend,Step}Colour().

See #12532.

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

13 years agoUpdate the directory icon in wxGenericDirCtrl::ExpandDir().
Vadim Zeitlin [Fri, 3 Dec 2010 12:40:15 +0000 (12:40 +0000)] 
Update the directory icon in wxGenericDirCtrl::ExpandDir().

Calling ExpandDir() to notify the control that a new item was added in a
previously empty directory didn't work as wxTreeCtrl::SetItemHasChildren()
wasn't called.

Fix this by moving SetItemHasChildren() to ExpandDir() from OnExpandItem(), it
must be always done and not just in response to an interactive action.

Closes #12735.

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

13 years agoNo changes, just clean up duplicate colour functions in wxSearchCtrl.
Vadim Zeitlin [Fri, 3 Dec 2010 12:40:08 +0000 (12:40 +0000)] 
No changes, just clean up duplicate colour functions in wxSearchCtrl.

Use wxColor::ChangeLightness() instead of private wxStepColour() that
duplicates it.

Close #12744.

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

13 years agoOptimize pixels rotation in wxImage::Rotate90().
Vadim Zeitlin [Fri, 3 Dec 2010 12:40:03 +0000 (12:40 +0000)] 
Optimize pixels rotation in wxImage::Rotate90().

Rotate the image by entire strips instead of doing it pixel by pixel.

This seems to result in about 50% performance gain.

Closes #12739.

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

13 years agoDon't require leading TAB in wxAcceleratorEntry::FromString().
Vadim Zeitlin [Fri, 3 Dec 2010 12:39:57 +0000 (12:39 +0000)] 
Don't require leading TAB in wxAcceleratorEntry::FromString().

FromString() should parse string returned by ToString() successfully but this
wasn't the case because the accelerator parsing functions always insisted on
having a TAB in the string.

Fix this, document the string format and add a unit test checking for the
correct behaviour.

Closes #12745.

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

13 years agoDon't try to extract accelerators from menu items which don't have any.
Vadim Zeitlin [Fri, 3 Dec 2010 12:39:48 +0000 (12:39 +0000)] 
Don't try to extract accelerators from menu items which don't have any.

We don't need to call wxAcceleratorEntry::Create() in wxMenuItem::GetAccel()
if the menu item doesn't have any accelerator at all, i.e. if there is no TAB
in its label.

Calling wxAcceleratorEntry::Create() is useless and won't work correctly any
more when Create() is updated to allow passing it strings without TAB in them
in the next commit.

See #12745.

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

13 years agoFix wxRect::SetRightTop() which set the wrong corner.
Vadim Zeitlin [Fri, 3 Dec 2010 12:39:43 +0000 (12:39 +0000)] 
Fix wxRect::SetRightTop() which set the wrong corner.

SetRightTop() erroneously forwarded to SetTopLeft() instead of SetTopRight().

Closes #12746.

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

13 years agoMention in wxHashSet documentation that its contents is not sorted.
Vadim Zeitlin [Fri, 3 Dec 2010 12:39:34 +0000 (12:39 +0000)] 
Mention in wxHashSet documentation that its contents is not sorted.

The documentation gave a wrong impression that this class was a std::set
replacement which it isn't.

See #12727.

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

13 years agofixing missing return value
Stefan Csomor [Wed, 1 Dec 2010 07:42:13 +0000 (07:42 +0000)] 
fixing missing return value

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

13 years agomerge libpng 1.4.4 to trunk
Paul Cornett [Tue, 30 Nov 2010 18:41:25 +0000 (18:41 +0000)] 
merge libpng 1.4.4 to trunk

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

13 years agoadd src/gtk1/mnemonics.cpp to files.bkl and rebake
Paul Cornett [Tue, 30 Nov 2010 18:01:53 +0000 (18:01 +0000)] 
add src/gtk1/mnemonics.cpp to files.bkl and rebake

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

13 years agoAdd mnemonics to wxGTK1
Jouk Jansen [Tue, 30 Nov 2010 10:19:29 +0000 (10:19 +0000)] 
Add mnemonics to wxGTK1

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

13 years agoadding standard menu items for cocoa, adding translation macro to menulabels, fixes...
Stefan Csomor [Tue, 30 Nov 2010 09:59:11 +0000 (09:59 +0000)] 
adding standard menu items for cocoa, adding translation macro to menulabels, fixes #12732

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

13 years agoadding defines to support building against 10.4u.SDK
Stefan Csomor [Mon, 29 Nov 2010 08:57:00 +0000 (08:57 +0000)] 
adding defines to support building against 10.4u.SDK

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

13 years agoDon't compare invalid iterators in wxCommandProcessor code.
Vadim Zeitlin [Sun, 28 Nov 2010 15:14:49 +0000 (15:14 +0000)] 
Don't compare invalid iterators in wxCommandProcessor code.

Comparing invalid iterators results in an assert failure in STL build.

We might also change wxList::compatibility_iterator::operator==() to allow
comparing invalid iterators (which should be different from all the other ones
but what about comparing two invalid iterators?) but it would probably be
better to get rid of all uses of compatibility_iterator in the code instead in
the long term.

Closes #12730.

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

13 years agoVerify the return value of wxItemContainer::Insert() in the tests.
Vadim Zeitlin [Sat, 27 Nov 2010 11:34:47 +0000 (11:34 +0000)] 
Verify the return value of wxItemContainer::Insert() in the tests.

Check that Insert() returns the index of the last inserted item.

Also document this behaviour for mulit-item renames explicitly.

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

13 years agoFix the return value of wxSimpleHtmlListBox::Insert().
Vadim Zeitlin [Sat, 27 Nov 2010 11:34:40 +0000 (11:34 +0000)] 
Fix the return value of wxSimpleHtmlListBox::Insert().

The returned index was off by 1.

Closes #12717.

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

13 years agoAdd wx(Simple)HtmlListBox unit test.
Vadim Zeitlin [Sat, 27 Nov 2010 11:34:34 +0000 (11:34 +0000)] 
Add wx(Simple)HtmlListBox unit test.

For now just test the wxItemContainer methods.

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

13 years agoDocument wxSimpleHtmlListBox inheritance from wxItemContainer.
Vadim Zeitlin [Sat, 27 Nov 2010 11:34:25 +0000 (11:34 +0000)] 
Document wxSimpleHtmlListBox inheritance from wxItemContainer.

Without wxItemContainer in the docs all the item maintenance methods were
absent from wxSimpleHtmlListBox.

See #12717.

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

13 years agoMove the Mac methods from wxAppConsole to wxApp
Robin Dunn [Sat, 27 Nov 2010 08:42:04 +0000 (08:42 +0000)] 
Move the Mac methods from wxAppConsole to wxApp

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

13 years agowxDefaultVideoMode is const
Robin Dunn [Sat, 27 Nov 2010 08:40:27 +0000 (08:40 +0000)] 
wxDefaultVideoMode is const

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

13 years agowxPlatformInfo does not derive from wxObject
Robin Dunn [Sat, 27 Nov 2010 08:38:46 +0000 (08:38 +0000)] 
wxPlatformInfo does not derive from wxObject

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

13 years agoFix 100% CPU usage on wxGTK caused by a recent change in wxPropertyGridEditorEventFor...
Jaakko Salli [Fri, 26 Nov 2010 17:39:47 +0000 (17:39 +0000)] 
Fix 100% CPU usage on wxGTK caused by a recent change in wxPropertyGridEditorEventForwarder::ProcessEvent()

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

13 years agoUpdate configure helper scripts to latest versions from GNU project.
Vadim Zeitlin [Fri, 26 Nov 2010 13:31:15 +0000 (13:31 +0000)] 
Update configure helper scripts to latest versions from GNU project.

The new version (the one we used was 6 years out of date) notably detects 64
bit MinGW platforms correctly which closes #12356.

Also update config.{guess,sub} scripts in 3rd party libraries directories to
bring them all in sync with the main one and ensure that MinGW 64 is supported
by them too.

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

13 years agoSmall bug fixes for GetLibraryVersionInfo() changes.
Vadim Zeitlin [Fri, 26 Nov 2010 13:31:07 +0000 (13:31 +0000)] 
Small bug fixes for GetLibraryVersionInfo() changes.

Fix the minor version determination for libtiff which was done wrongly by
r66259 and provide a properly formatted description for Scintilla version.

See #12690.

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

13 years agoNo real changes, just remove unnecessary const workaround.
Vadim Zeitlin [Fri, 26 Nov 2010 13:30:43 +0000 (13:30 +0000)] 
No real changes, just remove unnecessary const workaround.

The comment about "wxString doesn't having enough const members" was totally
incomprehensible and clearly wrong. Just remove the hack it was explaining.

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

13 years agoAllow wxAutomationObject::GetInstance() create new instance if needed.
Vadim Zeitlin [Fri, 26 Nov 2010 13:30:37 +0000 (13:30 +0000)] 
Allow wxAutomationObject::GetInstance() create new instance if needed.

When getting an instance of an OLE automation object, it is often useful to
connect to the existing instance if any or start a new one otherwise. Make
GetInstance() behave like this by default while still allowing to use the
wxAutomationInstance_UseExistingOnly flag to reestablish the old behaviour.

Also improve the error reporting in wxAutomationObject.

See #12489.

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

13 years agoNo real changes, just use ProgID term instead of incorrect CLSID.
Vadim Zeitlin [Fri, 26 Nov 2010 13:30:25 +0000 (13:30 +0000)] 
No real changes, just use ProgID term instead of incorrect CLSID.

CLSID was used instead of ProgID in several places in the code and the
documentation but they are different things so clear up the confusion.

See #12489.

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

13 years agoled to build issues with xcode and graphics context
Stefan Csomor [Thu, 25 Nov 2010 18:04:01 +0000 (18:04 +0000)] 
led to build issues with xcode and graphics context

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

13 years agoAdd wxVersionInfo and functions returning it for 3rd party libraries.
Vadim Zeitlin [Thu, 25 Nov 2010 00:53:44 +0000 (00:53 +0000)] 
Add wxVersionInfo and functions returning it for 3rd party libraries.

Add simple wxVersionInfo class holding the version information.

Also add GetLibraryVersionInfo() static method to wx{JPEG,PNG,TIFF}Handler,
wxStyledTextCtrl and wxXmlDocument classes and wxGetZlibVersionInfo() and
wxGetLibraryVersionInfo() global functions using it.

Closes #12690.

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

13 years agoDocument some previously undocumented wxAboutDialogInfo getters.
Vadim Zeitlin [Thu, 25 Nov 2010 00:53:30 +0000 (00:53 +0000)] 
Document some previously undocumented wxAboutDialogInfo getters.

See #12690.

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

13 years agoMention status bar fields limits under pre-XP MSW systems.
Vadim Zeitlin [Thu, 25 Nov 2010 00:53:24 +0000 (00:53 +0000)] 
Mention status bar fields limits under pre-XP MSW systems.

Mention that before comctl32.dll status bar fields were limited to 127
characters only.

See #12709.

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

13 years agoWarn that normalizing a valid path may make it invalid sometimes.
Vadim Zeitlin [Wed, 24 Nov 2010 12:43:45 +0000 (12:43 +0000)] 
Warn that normalizing a valid path may make it invalid sometimes.

Mention the special case of a path without file name and with directory that
normalizes to empty string.

See #10960.

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

13 years agoOptimize wxImage::Rotate90() by rotating alpha separately.
Vadim Zeitlin [Wed, 24 Nov 2010 12:43:36 +0000 (12:43 +0000)] 
Optimize wxImage::Rotate90() by rotating alpha separately.

Bringing the alpha rotation out in a separate loop results in an
approximatively 10% performance improvement.

Closes #12712.

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

13 years agoAdd support for negatable command line switches.
Vadim Zeitlin [Wed, 24 Nov 2010 00:42:53 +0000 (00:42 +0000)] 
Add support for negatable command line switches.

Add wxCMD_LINE_SWITCH_NEGATABLE which allows to use a dash after a command
line switch to inverse its meaning (i.e. use "/X-" form). Also add new
wxCmdLineParser::FoundSwitch() allowing to check for whether the switch was
specified in normal or negated form.

Closes #11643.

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

13 years agoRewind the input stream after failing to load image from it.
Vadim Zeitlin [Wed, 24 Nov 2010 00:42:45 +0000 (00:42 +0000)] 
Rewind the input stream after failing to load image from it.

For seekable streams, don't change the current position when loading image
fails. This allows the subsequent image handlers to succeed during image
format auto-detection even if a previous, erroneously chosen, handler failed.

Closes #12702.

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

13 years agoImprove error messages from wxImage::LoadFile().
Vadim Zeitlin [Wed, 24 Nov 2010 00:42:35 +0000 (00:42 +0000)] 
Improve error messages from wxImage::LoadFile().

The error given when loading an image file failed was not very useful because
they didn't specify which file exactly we failed to load and also because the
numeric handler type which means nothing at all to the end user (and not much
to the developer) was used.

Use the description of the file format instead and also always give the name
of the file that we failed to load.

Finally, remove the test for file existence: this is one of many reasons why
opening the file could fail and it doesn't make sense to handle it specially,
just let the underlying stream generate the appropriate error message in all
cases.

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

13 years agoSkip mouse events outside of item area in wxDataViewCtrl.
Vadim Zeitlin [Wed, 24 Nov 2010 00:42:19 +0000 (00:42 +0000)] 
Skip mouse events outside of item area in wxDataViewCtrl.

Don't consume mouse events outside of the area occupied by the items in the
generic implementation of wxDataViewCtrl as this prevented wxEVT_CONTEXT_MENU
events from being generated.

Closes #12706.

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

13 years agoUse an enum for the colour/string conversion flags
Robin Dunn [Tue, 23 Nov 2010 22:14:57 +0000 (22:14 +0000)] 
Use an enum for the colour/string conversion flags

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

13 years agoFixed parameter names. They can't be named "short"
Robin Dunn [Tue, 23 Nov 2010 22:14:18 +0000 (22:14 +0000)] 
Fixed parameter names.  They can't be named "short"

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

13 years agoVC6 compilation fix: don't return void values.
Vadim Zeitlin [Tue, 23 Nov 2010 13:12:33 +0000 (13:12 +0000)] 
VC6 compilation fix: don't return void values.

Fix VC6 compilation broken by r66237: don't return the result from a void
function, this compiler doesn't support this C++ feature.

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

13 years agoSimplify timezone-related code and fix some minor bugs in it.
Vadim Zeitlin [Tue, 23 Nov 2010 13:11:10 +0000 (13:11 +0000)] 
Simplify timezone-related code and fix some minor bugs in it.

Try to make the chain of preprocessor checks for different ways of getting
time zone from the CRT more clear.

Also call _tzset() for all MSVC versions, not just MSVC8+ (closes #12700). We
should probably call tzset() for the other compilers too, in fact.

And multiply the timezone returned from ftime() by 60 as it's supposed to be
in minutes and not seconds as needed.

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

13 years agoCenter task dialog-based wxProgressDialog on the parent window.
Vadim Zeitlin [Tue, 23 Nov 2010 13:11:02 +0000 (13:11 +0000)] 
Center task dialog-based wxProgressDialog on the parent window.

wxProgressDialog was created without the parent when using task dialogs so it
was centred on screen and not on its parent as usual. Fix this by explicitly
positioning it so that it's centered over the parent.

Closes #12699.

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

13 years agoDeselect all items in wxMSW wxListBox when selection is set to -1.
Vadim Zeitlin [Tue, 23 Nov 2010 13:10:54 +0000 (13:10 +0000)] 
Deselect all items in wxMSW wxListBox when selection is set to -1.

Even though this behaviour is somewhat counterintuitive, the documentation
mentions that this is what should happen and wxGTK and wxOSX already behave
like this so bring wxMSW in line.

wxListBox::DeselectAll() should probably just call SetSelection(wxNOT_FOUND)
when the item to leave selected is not specified too now.

Closes #12705.

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

13 years agofixing 64 bit ranger error
Stefan Csomor [Mon, 22 Nov 2010 16:38:44 +0000 (16:38 +0000)] 
fixing 64 bit ranger error

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

13 years agoInitialize time zone information before using it in wxGetTimeZone().
Vadim Zeitlin [Mon, 22 Nov 2010 16:18:47 +0000 (16:18 +0000)] 
Initialize time zone information before using it in wxGetTimeZone().

We must call _tzset() before calling _get_timezone() as while this is normally
done implicitly by the other time functions, it might not have been done yet
if create a wxDateTime::TimeZone before calling any of them.

Closes #12700.

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

13 years agoHave wxPropertyGridEditorEventForwarder::ProcessEvent() return true more often -...
Jaakko Salli [Mon, 22 Nov 2010 14:28:16 +0000 (14:28 +0000)] 
Have wxPropertyGridEditorEventForwarder::ProcessEvent() return true more often - that is when the event was recognized as being 'handled', and specifically for the case of property editor's button being pressed (fixes #12487).

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

13 years agoFix wxUniv build after deriving wxStatusBar from wxControl.
Vadim Zeitlin [Mon, 22 Nov 2010 12:51:05 +0000 (12:51 +0000)] 
Fix wxUniv build after deriving wxStatusBar from wxControl.

wxUniv build was broken since the base class of wxStatusBar was changed from
wxWindow to wxControl in r66226 because it derived twice from wxInputConsumer
now.

Fix this by simply not inheriting wxStatusBarUniv from wxInputConsumer any
more, it already derives from it via wxControl now.

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

13 years agoRevert "Always define WXUSINGDLL when compiling Scintilla in shared wx build."
Vadim Zeitlin [Mon, 22 Nov 2010 12:49:25 +0000 (12:49 +0000)] 
Revert "Always define WXUSINGDLL when compiling Scintilla in shared wx build."

Finally it's unnecessary to define WXUSINGDLL when building wxScintilla
library as it doesn't use the main DLL, it is simply used as part of it.

This reverts r66222 and finally closes #12626.

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

13 years agoDon't try to center task dialogs under Windows.
Vadim Zeitlin [Mon, 22 Nov 2010 12:49:07 +0000 (12:49 +0000)] 
Don't try to center task dialogs under Windows.

This is either unnecessary or doesn't work anyhow (they are always centered on
the parent window) and just results in debug error messages.

Simply don't do anything in wxMessageDialog::Centre() when using task dialog
implementation under MSW.

Closes #12699.

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

13 years agoSet the width of the last status bar pane correctly in wxMSW.
Vadim Zeitlin [Mon, 22 Nov 2010 12:48:47 +0000 (12:48 +0000)] 
Set the width of the last status bar pane correctly in wxMSW.

The total width of status bar panes must add up to the size of the status bar
as otherwise an extra unwanted border is drawn after the last pane and we did
have this border for status bar with a size grip.

So while we still use the width without the size grip for calculating the
fields widths, pass the width with the size grip to Windows to prevent this
from happening.

Also, don't pretend that the last field stretches up to the status bar edge
when it should end before the size grip and Windows even already helpfully
does it for us.

Closes #12655.

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

13 years agoAdd status bar styles mapping to MSW styles broken by recent changes.
Vadim Zeitlin [Mon, 22 Nov 2010 12:48:42 +0000 (12:48 +0000)] 
Add status bar styles mapping to MSW styles broken by recent changes.

SBARS_SIZEGRIP and CCS_TOP should be added to the normal style, not the
extended one. This restores the behaviour broken by r66227.

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

13 years agoPut WINDRES_CPU_DEFINE in RESFLAGS and not RESCOMP in configure.
Vadim Zeitlin [Mon, 22 Nov 2010 12:48:35 +0000 (12:48 +0000)] 
Put WINDRES_CPU_DEFINE in RESFLAGS and not RESCOMP in configure.

WINDRES_CPU_DEFINE is just another resource compiler flag which should be part
of RESFLAGS instead of being added to RESCOMP definition itself. This is not
only more logical but also fixes the problem with matching RESCOMP against
"windres" or "wrc" in wx-config.

See #12356.

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

13 years agoMake wxChoicebook background transparent.
Vadim Zeitlin [Mon, 22 Nov 2010 01:23:21 +0000 (01:23 +0000)] 
Make wxChoicebook background transparent.

This fixes the appearance of an empty wxChoicebook used as a child of a
wxNotebook under MSW.

Closes #12503.

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

13 years agoDeprecate not working wxSplitterWindow::SetSashSize().
Vadim Zeitlin [Mon, 22 Nov 2010 01:23:16 +0000 (01:23 +0000)] 
Deprecate not working wxSplitterWindow::SetSashSize().

Setting sash size to non default value didn't work correctly and didn't make
much sense anyhow as the sash appearance is platform-dependent and current
code for drawing it doesn't work for arbitrary sizes.

Simply remove the possibility to set the sash size.

Closes #12412.

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

13 years agoDon't set explicit background colour for wxStatusBar in wxMSW.
Vadim Zeitlin [Mon, 22 Nov 2010 01:23:09 +0000 (01:23 +0000)] 
Don't set explicit background colour for wxStatusBar in wxMSW.

Setting the background colour for the status bar explicitly is unnecessary and
probably prevents it from rendering correctly with some themes. Simply remove
the call to SetBackgroundColour() from wxStatusBar::Create().

We should also define Get[Class]DefaultAttributes() in wxStatusBar in the
future.

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

13 years agoDon't forbid creating wxSplitterWindow with border style.
Vadim Zeitlin [Mon, 22 Nov 2010 01:23:02 +0000 (01:23 +0000)] 
Don't forbid creating wxSplitterWindow with border style.

Any border specified for wxSplitterWindow was explicitly discarded when
creating it but there doesn't seem to be any reason to forbid it, the original
code probably predated the addition of wxWindow::GetDefaultBorder() which
allowed to have different borders by default for different classes.

In any case, simply remove this code now to allow creating splitters with
borders if so desired.

Closes #12413.

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

13 years agoDelete pending objects in wxApp::ProcessPendingEvents() and not ProcessIdle().
Vadim Zeitlin [Mon, 22 Nov 2010 01:22:56 +0000 (01:22 +0000)] 
Delete pending objects in wxApp::ProcessPendingEvents() and not ProcessIdle().

Move DeletePendingObjects() call from ProcessPendingEvents() to ProcessIdle()
to ensure that we delete the objects marked for destruction even if the
application is sitting in a tight OnIdle() loop, i.e. if the idle event
handler keeps requesting more events.

Also make sure that the event loop terminates if its OnExit() was called even
if the idle event handler continues to request more events.

Closes #12424.

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

13 years agoSilently ignore timer events from timers which were just stopped.
Vadim Zeitlin [Mon, 22 Nov 2010 01:22:47 +0000 (01:22 +0000)] 
Silently ignore timer events from timers which were just stopped.

An assert in wxTimerWndProc() could be provoked by valid user code which
simply started and stopped the timers quickly enough because a WM_TIMER could
have been already generated just before we stopped the timer.

Simply ignore events from unknown timer under assumption that they must come
from the recently stopped ones instead of asserting.

Ideally we'd somehow distinguish between the situation described above and the
really bogus events which could indicate bugs in wx code or a change in
behaviour in a future version of Windows but there is no easy way to do it so
for now just settle for not asserting in normal case.

Closes #10052.

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

13 years agoRefactor wxStatusBar creation in wxMSW to do it in standard way.
Vadim Zeitlin [Mon, 22 Nov 2010 01:22:41 +0000 (01:22 +0000)] 
Refactor wxStatusBar creation in wxMSW to do it in standard way.

Use wxControl-provided CreateControl() and MSWCreateControl() methods to
create the status bar instead of duplicating their code in its Create().

Also translate wx styles to MSW ones in overridden MSWGetStyle() now.

In addition to making the code smaller and more clear, this fixes the
non-respect of the styles specified at status bar creation (e.g. border),
see #12655.

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

13 years agoDerive wxStatusBar from wxControl and not wxWindow.
Vadim Zeitlin [Mon, 22 Nov 2010 01:22:36 +0000 (01:22 +0000)] 
Derive wxStatusBar from wxControl and not wxWindow.

wxStatusBar is no less a control than wxToolBar and deriving it from wxControl
gives access to convenient native control creation functions under MSW (which
will be used by the next commit).

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

13 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

13 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

13 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

13 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

13 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

13 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

13 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

13 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

13 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

13 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

13 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

13 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

13 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

13 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

13 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

13 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

13 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

13 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

13 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

13 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

13 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

13 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

13 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

13 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

13 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

13 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

13 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

13 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

13 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

13 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

13 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

13 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

13 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

13 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

13 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

13 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

13 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

13 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