Commit Graph

14608 Commits

Author SHA1 Message Date
Vadim Zeitlin
302674fe17 Use better title by default in wxDocPrintout.
Use the document name instead of the default "Printout" if no title is
explicitly specified when creating wxDocPrintout.

Closes #12885.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66852 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-02-06 01:01:09 +00:00
Vadim Zeitlin
a5c468483d Allow accessing 64 bit registry from 32 bit MSW code and vice versa.
Implement support for KEY_WOW64_32KEY and KEY_WOW64_64KEY in wxRegKey code.

Closes #10792.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66851 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-02-06 01:01:01 +00:00
Vadim Zeitlin
0a12e013f5 Deprecate second parameter of wxSlider::SetTickFreq().
This parameter was never needed nor properly documented. Simply remove it from
SetTickFreq() and keep the overload still taking it for backwards
compatibility only.

Closes #12907.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66844 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-02-05 16:36:30 +00:00
Stefan Csomor
f67a33e3ad switching to assert
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66829 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-02-02 13:49:44 +00:00
Stefan Csomor
41857332b6 testing for define alone is sufficient and more portable
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66827 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-02-02 07:56:38 +00:00
Stefan Csomor
11f87a381b fixing searchctrl on osx_cocoa, changing type for peer to wxSearchCtrl
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66826 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-02-02 07:55:57 +00:00
Stefan Csomor
2f250cb6e6 guard against null ptr access
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66825 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-02-02 07:36:18 +00:00
Stefan Csomor
7279a306bb clang fix, fixes #12332
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66801 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-28 07:35:07 +00:00
Dimitri Schoolwerth
491da41173 Changed the procedure for writing a comment to a GIF image.
Use wxImage.SetOption with newly introduced wxIMAGE_OPTION_GIF_COMMENT to set a GIF's image comment now. Formerly this was done (since recently) using wxGIFHandler::ms_comment which has now been removed.



git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66800 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-28 07:27:34 +00:00
Paul Cornett
d4280c0282 better way to silence unused parameter warning
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66798 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-28 06:18:33 +00:00
Stefan Csomor
db2c04684d clang fixes, fixes #12332
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66792 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-27 18:35:01 +00:00
Stefan Csomor
f5f3d4ec5c clang fix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66791 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-27 17:15:40 +00:00
Stefan Csomor
4bc3adadc1 good catch by clang ...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66783 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-27 11:53:51 +00:00
Stefan Csomor
8a3ddc6bd5 reverting inadvertent commit
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66781 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-27 11:04:45 +00:00
Stefan Csomor
df04f800b8 supporting clang 2.0 under xcode, see #12332
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66780 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-27 11:00:26 +00:00
Stefan Csomor
ca9eebc346 artmac extended for cocoa
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66775 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-26 16:15:39 +00:00
Stefan Csomor
7f37eded21 PNG is the native format on iOS
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66772 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-26 15:53:31 +00:00
Stefan Csomor
99eb484a70 support for hints, fixing textfield implementation on iOS
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66770 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-26 15:51:39 +00:00
Robin Dunn
5cef2f6505 Add wxRTTI macros for the wxSimpleHtmlListBox class
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66751 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-25 05:03:17 +00:00
Stefan Csomor
4cf611db97 direct constructor from CGImageRef
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66738 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-24 13:17:59 +00:00
Jaakko Salli
07ca69f692 To work around harmless memory leaks reported by Visual C++ static runtime libs, assume that C++ typeid operator works well with VC++ 9.0 and later (fixes #12023)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66734 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-23 10:13:49 +00:00
Dimitri Schoolwerth
6636ef8ddf Use wxString's empty() when checking if the string is (non-)empty throughout wx.
Instead of constructs such as if "( s.length() )" and "if (s.length() > 0)" use "if ( !s.empty() )" instead. Similarly for "if (s.length() == 0)" or "if ( s.IsNull() )", use "if ( s.empty() )".
No code changes intended except for a few instances where a construct like "if ( s.length() && wxFileExists(s) )" was changed to not check the length of the string and let wxFileExists handle such cases.



git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66728 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-22 14:38:36 +00:00
Julian Smart
343ef639a9 Fixed some bugs in up/down cursor navigation.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66725 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-20 15:02:19 +00:00
Stefan Csomor
4472e2b6b7 using explicit fixes #12689
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66724 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-20 08:38:36 +00:00
Vadim Zeitlin
6496afbab8 Work around wxNumValidator compilation problems with MSVC 6.
Surprisingly, MSVC 6 seems to be able to compile most of the code but chokes
on a wxCOMPILE_TIME_ASSERT involving an inherited typedef. As this assert is
not critical, simply disable it for this compiler.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66722 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-19 23:47:09 +00:00
Dimitri Schoolwerth
77b83d0a0f Added GIF and animated GIF saving support.
Applied (modified) patch by troelsk. Also added a basic unit test for checking the frames of a saved animated GIF (a previous unit test already handles content of a GIF with a single frame).

Closes #8583.



git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66716 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-19 12:28:31 +00:00
Vadim Zeitlin
a54cf37118 Add wxIntegerValidator and wxFloatingPointValidator classes.
Add validators for integer and floating point numbers.

Add an example of their use to the validate sample as well as a new unit test
and documentation for them.

Use the new classes instead of wxTextValidator in wxGrid code.

Closes #12166.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66714 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-19 10:48:28 +00:00
Vadim Zeitlin
f2a5052baa Add support for long long to wxNumberFormatter.
It seems to make sense to allow using it for formatting and parsing long long
values as well as it can be done trivially using almost the same code as for
long.

It would be nice to support long double in a similar way but we don't wrap
C99 strtold() right now so it wouldn't be as simple, leave it for later.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66712 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-19 10:47:57 +00:00
Vadim Zeitlin
066e5e3fd2 Add wxHAS_LONG_LONG_T_DIFFERENT_FROM_LONG symbol.
Instead of writing a rather unreadable "defined(wxLongLong_t) &&
!defined(wxLongLongIsLong)" expression every time we need to decide if a
function needs to be overloaded for both long and long long, add a new symbol
which can be tested directly.

No real changes in the code.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66711 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-19 10:47:49 +00:00
Vadim Zeitlin
6686fbad16 Add wxNumberFormatter class helping to deal with thousands separators.
wxNumberFormatter formats and parses numbers with thousands separators.

Add the class itself as well as documentation and the unit test for it.

See #12166.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66710 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-19 10:47:40 +00:00
Robin Dunn
f8816e49e4 On OSX don't propogate the alignment setting from column to renderer if it is a custom renderer. This allows the Render function to deal with the alignment itself and brings the behavior into alignment (pun intended!) with the GTK and generic DV classes. Fixes #12883
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66706 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-19 08:09:51 +00:00
Vadim Zeitlin
3f234d7a64 Override HasTransparentBackground() in wxHyperlinkCtrl to return true.
At least in wxMSW the control must override HasTransparentBackground() to
return true if it really wants its background to be transparent, so do it in
wxHyperlinkCtrlBase to fix the background appearance when using the generic
implementation in wxMSW.

See #12271.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66696 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-16 23:24:21 +00:00
Vadim Zeitlin
62441159cc Remove undefined wxScrollBarBase::Create() declaration.
Create() method in a base class can't be implemented and actually shouldn't
even have been defined there in the first place.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66695 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-16 14:09:07 +00:00
Julian Smart
23bdfeee49 Small doc tweaks
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66684 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-14 19:32:54 +00:00
Julian Smart
bcc372381f Removed GCC 4 warning
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66683 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-14 19:32:35 +00:00
Julian Smart
2be72ac283 Compile fixes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66681 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-14 12:08:03 +00:00
Julian Smart
603f702b4a Implemented text boxes and tables, and further editing pages for backgrounds, borders and margins.
wxRTC functions now operate on the currently focused object, which by default is the whole buffer.
Up to three property commands are now shown on the context menu, depending on
available objects in the current hierarchy.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66680 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-14 11:57:44 +00:00
Paul Cornett
7748d3d5c0 non-pch build fix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66673 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-12 18:04:39 +00:00
Vadim Zeitlin
4254f67216 Add support for icons in wxAUI panes title bars.
Add wxAuiPaneInfo::Icon() method and shows its use in the sample.

Closes #12856.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66670 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-12 13:39:36 +00:00
Paul Cornett
dc771347d0 remove unneeded #includes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66657 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-08 18:05:33 +00:00
Paul Cornett
ec96ef0b6f fix GCC warning about not explicitly initializing base class
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66656 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-08 17:55:53 +00:00
Paul Cornett
8528d60a8a fix GCC warning about not explicitly initializing base class
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66654 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-08 17:33:51 +00:00
Paul Cornett
16a2525ff2 proper const-ness for GetLine() and operator[]()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66653 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-08 17:17:10 +00:00
Paul Cornett
d6d6a61fed proper const-ness for Item(), operator[](), and Last()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66652 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-08 17:16:29 +00:00
Stefan Csomor
c294641fd5 removing xti code which isn't necessary for unicode under trunk anymore
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66651 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-08 10:22:30 +00:00
Stefan Csomor
f06d69376d rearranging xti code
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66650 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-08 08:03:42 +00:00
Paul Cornett
0c3e2a5baa Move SendIdleEvents() from wxApp to wxWindow.
Use it to properly implement idle events for
wxGTK menubar, toolbar and statusbar.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66648 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-08 06:42:41 +00:00
Stefan Csomor
bca6bd3823 gcc fixes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66646 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-07 22:52:46 +00:00
Stefan Csomor
54912101ff avoid type conflict with univ wxMenuInfo
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66640 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-07 21:51:19 +00:00
Stefan Csomor
412e6a10cb fixing class name
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66638 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-07 21:37:45 +00:00
Stefan Csomor
d27d59fb91 having menu classinfo at one place
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66637 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-07 21:36:17 +00:00
Stefan Csomor
469b56ea63 routing to common classinfo for non-xti builds
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66636 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-07 20:55:00 +00:00
Václav Slavík
b06ed2f866 Implement wxCOL_WIDTH_AUTOSIZE on OS X.
Only Cocoa build on 10.5+ is supported. Before that, NSOutlineView
didn't have reasonable support for determining cell sizes.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66634 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-07 18:26:58 +00:00
Paul Cornett
6a50a2c4d3 move default OnInternalIdle processing to wxWindowBase
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66633 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-07 18:15:21 +00:00
Stefan Csomor
6c887ddefb xti changes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66626 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-07 17:43:12 +00:00
Stefan Csomor
4e3762c9e2 adding range type
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66625 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-07 17:42:39 +00:00
Stefan Csomor
93f70fead9 moved xti info to common file
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66624 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-07 17:41:14 +00:00
Stefan Csomor
aa3fcb2f83 props
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66623 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-07 17:29:23 +00:00
Stefan Csomor
a26fe24301 additional file, test auto-props
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66622 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-07 17:28:18 +00:00
Stefan Csomor
cbca59a8fb XTI updates
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66621 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-07 17:22:59 +00:00
Paul Cornett
081d8d96db Move wxColourData and wxFontData into separate files.
This eliminates a linking dependency that would drag in the printing
code for any program that used wxColourDialog or wxFontDialog (which
is currently all of them, due to more link dependencies...)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66615 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-07 05:26:57 +00:00
Vadim Zeitlin
3603e5658f Add possibility to hide panels in wxRibbon.
Add wxRibbonBar::{Show,Hide}Panels() and ArePanelsShown() accessor.

Also add a toggle button to the sample to test the new functionality
(unfortunately it couldn't be done by a control in the ribbon itself as there
would be no way to show the panels back then).

Closes #12707.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66612 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-06 22:02:07 +00:00
Stefan Csomor
986a59561a reverting AssignAny fix, not needed if wxAny is not instantiated during static globals init
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66609 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-06 12:05:41 +00:00
Stefan Csomor
f41d5991df fixing a few typos, wxAny copy constructor implementation, making wxAnyList available everywhere
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66608 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-06 11:06:12 +00:00
Paul Cornett
f9405a952c make wxMarkupEntities fully const
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66593 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-05 18:38:33 +00:00
Paul Cornett
e1d3601aca set eol-style and keywords properties on new files
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66584 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-05 06:56:36 +00:00
Vadim Zeitlin
72f1a5d605 Disable wxCompositeWindow<> code for VC6.
Revert the attempt to work around VC6 bug from the last commit and simply
disable this code completely for VC6, it's not worth the trouble to try to fix
it for this compiler.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66582 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-04 21:33:16 +00:00
Vadim Zeitlin
5ed8e4e2e4 Attempt to make wxCompositeWindow<> compile with MSVC6.
Blind attempt to work around VC6 error about ambiguity between "const T&" and
"T" in DoSetForAllParts() template function.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66580 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-04 17:08:57 +00:00
Vadim Zeitlin
f9c77abc2b Declare wxStaticText in wxUniv as being dynamic, not abstract, class.
This fixes a wxUniv build error due to the use of IMPLEMENT_DYNAMIC_CLASS()
for wxStaticText in common code now.

Closes #12842.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66578 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-04 16:21:29 +00:00
Vadim Zeitlin
a1061906dd wxMSW compilation fix for wxCompositeWindow.
Not all ports override SetXXX() methods in their wxWindow class so use the
versions from wxWindowBase which are definitely known to exist. Notice that
the call itself is still virtual so it doesn't matter which base class do we
use.

Closes #12840.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66564 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-04 11:33:19 +00:00
Stefan Csomor
62d70b3921 porting back exact semicolon version
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66561 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-04 10:47:15 +00:00
Stefan Csomor
2895324520 merging back XTI branch part 2
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66555 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-04 08:31:53 +00:00
Stefan Csomor
f437e1552a add methods needed for XTI
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66553 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-04 08:25:19 +00:00
Dimitri Schoolwerth
8ee313d2be Added support for saving PNG files with palette.
Based on (heavily modified) patch by troelsk.

Closes #12505.



git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66552 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-03 22:22:16 +00:00
Vadim Zeitlin
fb1e645577 Don't name variables "id" in public headers.
This name clashes with Objective-C reserved keyword and so prevents the
headers using it from being included from Objective-C++ code.

Closes #12832.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66546 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-03 18:43:30 +00:00
Stefan Csomor
cc3977bf13 adding new files for xti merge
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66544 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-03 17:43:49 +00:00
Vadim Zeitlin
825794618f Improve print preview appearance and functionality.
Allow to directly enter the page number in the print preview itself instead of
opening a separate dialog in order to do it.

Rearrange the buttons in more visually appealing groups and replace the text
arrows in them with the images.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66539 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-03 15:57:21 +00:00
Vadim Zeitlin
a9e41db760 Add wxCompositeWindow<> and use it in wxDatePickerCtrlGeneric.
wxCompositeWindow<> is a convenient base class for composite windows, i.e.
windows consisting of several other wxWindows. Currently it just automatically
forwards various attributes setters calls to all of the composite window parts
but it could become more useful in the future.

Similarly, for now it is only used in wxDatePickerCtrlGeneric but it could
(and should) be used for other composite controls later and we probably should
even make this class public to allow its use in the client code.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66534 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-03 11:24:13 +00:00
Vadim Zeitlin
4a40cd9bae Forward declare classes instead of including their declarations.
No real changes, just reduce the compilation dependencies a bit by only
forward declaring wxComboCtrl and wxCalendarCtrl in wx/generic/datectrl.h
instead of including the headers with their full declarations.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66524 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-02 22:03:56 +00:00
Jaakko Salli
6f3f38980f Added 'HasAlpha' attribute for wxColourProperty. Setting it to true allows user to edit the alpha component.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66520 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-02 10:14:29 +00:00
Stefan Csomor
29188693b3 bracketing msw enhanced metafile usage
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66514 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-01 11:10:35 +00:00
Vadim Zeitlin
2e9b5717cd Add wxUSE_ARTPROVIDER_STD build option.
Make it possible to exclude wxDefaultArtProvider from build. Now that a
Tango-based provider exists, it may make sense to disable the standard bitmaps
if the program doesn't need the few of them not provided by Tango anyhow.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66506 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-12-31 17:39:37 +00:00
Vadim Zeitlin
c1d2466a79 Add wxArtProvider using Tango icons.
The icons are embedded as PNG images directly in the source code to avoid the
need for installing them. This does make the library larger though so provide
a wxUSE_ARTPROVIDER_TANGO option to turn the new code and associated bloat off.
Also turn it off by default under wxGTK as the native art provider is used
there anyhow.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66505 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-12-31 17:39:25 +00:00
Vadim Zeitlin
a7cfad3ad6 Add go to first/last and plus/minus art provider icons.
These icons will be used in the upcoming new implementation of the print
preview frame and as they are also natively supported by GTK+ it makes sense
to have support for them in wx itself.

Notice that the existing bookmark add/remove icons are already mapped to the
icons which look like plus and minus signs respectively in wxGTK but we need
plus/minus in print preview in the other ports too so add these icons under
explicit names.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66504 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-12-31 17:39:01 +00:00
Vadim Zeitlin
19be42b760 Make art provider id of type "char *" instead of "wxChar *".
These strings don't need to be wide and, as elsewhere, prefer the
compatibility with 2.8 ANSI build to compatibility with Unicode build.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66503 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-12-31 17:38:51 +00:00
Vadim Zeitlin
9aea251043 Move wxGetLibraryVersionInfo() to core from base.
This function uses the GUI toolkit information and so can't be defined in
wxBase. The code only compiled before because the function was erroneously
defined in wxCore even though it was declared as WXDLLIMPEXP_BASE.

Fix this by declaring it with WXDLLIMPEXP_CORE too. This corrects problems in
MSW DLL build.

If we need to get a string containing user-readable wxBase version too, we
should add another function (as it's not possible to virtualize this one) but
such function doesn't seem incredibly useful to have anyhow.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66493 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-12-30 22:37:03 +00:00
Robin Dunn
05b0355af8 Fix various missing or broken stuff needed for Project Phoenix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66474 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-12-27 20:47:12 +00:00
Stefan Csomor
e0db57da4c adding backtab to exception list
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66459 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-12-27 13:16:54 +00:00
Jaakko Salli
538f4dd82b No longer use semi-static IDs for wxPropertyGrid embedded controls and tool bar tools.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66456 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-12-27 11:17:40 +00:00
Vadim Zeitlin
3931f3ecc1 Test for wcsftime() in configure as it's not available everywhere.
Contrary to the comment in wx/wxcrtbase.h, wcsftime() doesn't seem to be
available under quite all the systems, notably it doesn't seem to be present
in OpenBSD at all, even in the very latest version.

Add a configure test for this function and fall back to our own implementation
if the system doesn't have it.

Closes #12766.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66446 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-12-25 14:18:58 +00:00
Jaakko Salli
db1087d2fd Added dummy GetTextWidget() implementation for wxMotif wxComboCtrl
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66438 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-12-23 10:26:06 +00:00
Jaakko Salli
95fbeee5ac Bring AddActionTrigger() doc string up to date with the interface
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66433 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-12-22 17:43:49 +00:00
Jaakko Salli
abbd88b52b Added wxPG_ACTION_EDIT, which allows specifying custom key to move focus to the property editor. Also documented wxPG_ACTION_FOOs better.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66432 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-12-22 17:25:45 +00:00
Jaakko Salli
9a7f467140 Removed non-implemented function prototype OnMouseWheel() from wxVListBoxComboPopup
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66412 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-12-20 14:54:04 +00:00
Jaakko Salli
238b33ab0e Added wxComboPopup::FindItem() to help in deciding how SetValue() should change the value of a read-only wxComboCtrl. This allows wxOwnerDrawnComboBox to have the same behavior as wxComboBox in that respect.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66409 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-12-20 13:51:24 +00:00
Jouk Jansen
f179b35ec2 correction to make wxGTK1 compile
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66408 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-12-20 13:33:39 +00:00
Jaakko Salli
a7f62f3909 Have wxUniv wxComboBox inherit from wxItemContainer instead of wxComboBoxBase, since the latter is derived from wxTextEntry which conflicts with the recent change in wxComboCtrl (fixes #12789)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66407 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-12-20 11:27:13 +00:00
Jaakko Salli
084a875a2e Added dummy-wxTextEntry implementation section for wxUniversal
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66406 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-12-20 11:23:14 +00:00
Robert Roebling
9fc221aa81 Support diabling items in GTK+, see #12686: Allow disabling of wxDVC items
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66404 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-12-19 19:43:46 +00:00
Vadim Zeitlin
98f8e6666b Add the possibility to disable invisible wxDataViewCtrl items.
Add new wxDataViewModel::IsEnabled() and wxDataViewListStore::IsEnabledByRow()
methods and implement support for actually disabling the items in wxOSX/Cocoa
native implementation of wxDataViewCtrl and limited support for it in the
generic version.

We need to implement this in wxGTK using GtkCellRenderer "sensitive" propriety
later.

Closes #12686.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66403 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-12-19 15:02:56 +00:00
Vadim Zeitlin
46405e36bf Store menus titles in menus themselves in wxOSX.
Get rid of wxMenuBar::m_titles array which doesn't seem to be needed and just
store the titles in the menus themselves instead. This makes wxMenu::GetTitle()
work as in the other ports and fixes unit test failures in menu test.

It also makes it unnecessary to duplicate the base class Find[Menu]Item()
methods in wxOSX wxMenuBar so simply remove them entirely.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66402 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-12-19 15:02:45 +00:00
Jaakko Salli
ffb9247a85 Add wxComboBox-compatible Popup() and Dismiss() functions in wxComboCtrl
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66397 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-12-17 12:08:55 +00:00
Jaakko Salli
94daedc804 Add enough default arguments to one wxOwnerDrawnComboBox ctor so it can be consructed using only two arguments, same as the wxComboBox
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66396 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-12-17 11:50:54 +00:00
Jaakko Salli
0306e73e63 Make the wxComboCtrl's wxTextEntry interface more complete and consistent. All text is no longer selected on SetValue(), but only when user selects an item from the drop-down list.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66394 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-12-17 11:20:50 +00:00
Jaakko Salli
eae20c901b Resolve ambiguity with wxOwnerDrawnComboBox::Clear(), virtual method which is derived from two base classes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66388 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-12-16 18:13:43 +00:00
Jaakko Salli
9ff4b6ccd9 Override wxTextEntry::GetSelection(long *from, long *to) in wxOwnerDrawnComboBox to resolve virtual method hiding issues
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66386 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-12-16 18:07:05 +00:00
Jaakko Salli
fda6279358 Instead of having wxComboCtrl mimic wxTextEntry interface, make it actually inherit from the class and implement functions to redirect to the embedded wxTextCtrl. This allows us to simplify the code and get rid of the dirty trick of directing wxComboCtrl's validator to the embedded wxTextCtrl. Also see #12779, which issue 1 is fixed by this change.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66385 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-12-16 17:21:49 +00:00
Vadim Zeitlin
fd08ccd246 Make wxRefCounter non copyable.
wxRefCounter copy ctor was wrong as the new object had the same reference
count as the old one instead of starting its life with reference count set to
1 as any new object should.

While we could fix its copy ctor, it seems to be better to forbid copying
wxRefCounter objects at all because the semantics of doing this is not obvious
and the compiler-generated copy ctor in the derived classes often doesn't do
what the code using it expects it to do, as was discovered by making
wxRefCounter non copyable: see the fixes in the previous commits.

To uncover all such bugs, make wxRefCounter and classes deriving from it non
copyable. If this uncovers more problems, they should be fixed by implementing
copying properly (and explicitly) in the derived classes.

Closes #12768.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66374 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-12-14 18:43:49 +00:00
Jaakko Salli
bac635ede2 Have wxPropertyGrid::DoubleToString() to also take comma into account as a decimal separator. In addition, the function now returns target wxString (makes writing tests easier).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66367 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-12-13 16:07:49 +00:00
Stefan Csomor
54ea28348c adding support for layout coordinates via insets from framecoordinates
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66360 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-12-07 15:46:12 +00:00
Stefan Csomor
b213ba752c guarding against non-implemented parts
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66329 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-12-04 13:32:51 +00:00
Vadim Zeitlin
ef57807f27 Rename wxGenericDirCtrl::ExpandDir() to PopulateNode().
This function doesn't really expand anything (unlike CollapseDir()) so give it
a better name while keeping the old one too for compatibility.

See #12735.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66315 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-12-03 14:12:23 +00:00
Vadim Zeitlin
cae374efb9 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
2010-12-03 12:40:28 +00:00
Vadim Zeitlin
afa111d52c 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
2010-12-03 12:39:43 +00:00
Stefan Csomor
8915e40ce9 fixing missing return value
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66304 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-12-01 07:42:13 +00:00
Jouk Jansen
9359199632 Add mnemonics to wxGTK1
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66301 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-11-30 10:19:29 +00:00
Stefan Csomor
c46d050368 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
2010-11-30 09:59:11 +00:00
Vadim Zeitlin
9c1f960fac 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
2010-11-26 13:31:07 +00:00
Vadim Zeitlin
6eefca4fb7 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
2010-11-26 13:30:37 +00:00
Vadim Zeitlin
27d7687903 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
2010-11-26 13:30:25 +00:00
Stefan Csomor
ebb395967e 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
2010-11-25 18:04:01 +00:00
Vadim Zeitlin
ccec90930c 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
2010-11-25 00:53:44 +00:00
Vadim Zeitlin
a6bf0c9533 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
2010-11-24 00:42:53 +00:00
Robin Dunn
63a6a75000 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
2010-11-23 22:14:57 +00:00
Jaakko Salli
b296009869 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
2010-11-22 14:28:16 +00:00
Vadim Zeitlin
4ed7b5779e 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
2010-11-22 12:51:05 +00:00
Vadim Zeitlin
dd53b347de 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
2010-11-22 12:49:07 +00:00
Vadim Zeitlin
6cab632f32 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
2010-11-22 01:23:21 +00:00
Vadim Zeitlin
26696222ff 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
2010-11-22 01:23:16 +00:00
Vadim Zeitlin
db6150d59a 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
2010-11-22 01:22:41 +00:00
Vadim Zeitlin
f771bae35a 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
2010-11-22 01:22:36 +00:00
Vadim Zeitlin
9fc5a47ce6 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
2010-11-20 23:53:34 +00:00
Robin Dunn
b702a83386 Add a SetSize to wxSizeEvent
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66209 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-11-19 07:51:15 +00:00
Paul Cornett
96a3acb72c 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
2010-11-17 05:57:21 +00:00
Vadim Zeitlin
7ee9a64bd6 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
2010-11-17 01:20:50 +00:00
Vadim Zeitlin
7bc0ff8672 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
2010-11-16 22:38:53 +00:00
Vadim Zeitlin
21fc588c66 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
2010-11-16 22:38:44 +00:00
Vadim Zeitlin
c929ad9141 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
2010-11-16 22:38:32 +00:00
Vadim Zeitlin
496dbbe76e 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
2010-11-16 22:37:59 +00:00
Vadim Zeitlin
3b81609771 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
2010-11-14 14:04:37 +00:00
Vadim Zeitlin
65fe93d8a5 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
2010-11-14 12:09:59 +00:00
Vadim Zeitlin
8524dec372 Add wxImage::Rotate180() function.
Closes #12679.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66146 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-11-14 01:02:35 +00:00
Vadim Zeitlin
f71adb5029 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
2010-11-13 15:02:42 +00:00
Vadim Zeitlin
6c4d607e60 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
2010-11-11 12:09:22 +00:00
Vadim Zeitlin
93fdbfb70d 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
2010-11-11 12:09:13 +00:00
Vadim Zeitlin
04a8da5f57 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
2010-11-10 13:53:08 +00:00
Vadim Zeitlin
711a481223 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
2010-11-10 13:52:45 +00:00
Vadim Zeitlin
1f1dee6b0d 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
2010-11-10 13:52:29 +00:00
Vadim Zeitlin
9ce5cf09c2 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
2010-11-10 13:52:04 +00:00
Vadim Zeitlin
6d61520df3 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
2010-11-10 13:51:57 +00:00
Vadim Zeitlin
ac04aa9943 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
2010-11-10 13:51:51 +00:00
Vadim Zeitlin
382c4adea6 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
2010-11-09 23:53:42 +00:00
Vadim Zeitlin
11ea2e3a84 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
2010-11-09 23:53:21 +00:00
Vadim Zeitlin
409f747ed9 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
2010-11-07 19:33:10 +00:00
Vadim Zeitlin
0526c8cc07 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
2010-11-07 14:00:59 +00:00
Vadim Zeitlin
1f6ea93556 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
2010-11-07 14:00:43 +00:00
Peter Cawley
955bad410e Add support for toggle buttons to wxRibbonButtonBar.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66055 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-11-07 13:44:22 +00:00
Vadim Zeitlin
258593354e 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
2010-11-07 13:16:20 +00:00
Vadim Zeitlin
0ce0f1e9eb 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
2010-11-07 13:12:16 +00:00
Peter Cawley
32eb560338 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
2010-11-06 23:46:25 +00:00
Vadim Zeitlin
0b79709d3c Remove trailing comma from an enum.
Comma after last enum element is not allowed in C++98 and some compilers will
warn about it.

Closes #12591.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66039 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-11-05 21:43:07 +00:00
Vadim Zeitlin
ab84bafe49 Add wxAuiPaneInfo::IsDockable().
This function checks if the pane can be docked at any side. It is useful in
its own right but most importantly is needed to fix compilation broken in
r66005 which used it before it was added.

See #12648.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66007 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-11-03 16:36:34 +00:00
Václav Slavík
530646ca27 Fix compilation error in wxImplicitConversionType<> in gcc strict mode.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65997 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-11-02 22:55:56 +00:00
Vadim Zeitlin
b835320170 Refactor: extract code to make an fd non-clocking into a function.
Simply extract part of the code from evtloopunix.cpp into a reusable
wxPipe::MakeNonBlocking() function to be able to reuse it elsewhere.

See #12636.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65992 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-11-02 11:57:19 +00:00
Vadim Zeitlin
878f28d8c8 Changed wxImage::ConvertAlphaToMask() return type to bool.
Make this function more useful by returning true from it if alpha channel was
really converted to the mask by it.

Closes #12637.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65990 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-11-02 11:57:09 +00:00
Vadim Zeitlin
60d5c563d2 Avoid events when implicitly selecting first wxBookCtrl page.
The first page added to a wxBookCtrlBase-derived control is always selected,
even if "bSelect" argument of AddPage() was false. This is necessary because
a non-empty book control must always have a selection but the "selection
changed" event generated when doing it is unexpected.

Fix this by not generating any events when the first page is implicitly
selected.

Closes #12075.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65967 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-31 13:33:34 +00:00
Vadim Zeitlin
fd90675b89 Allow creating DIBs storing pixels in non-premultiplied format in wxMSW.
wxDIB assumed that MSW always uses bitmaps in pre-multiplied pixel format but
this turns out to be wrong: some Windows functions such as ImageList_Draw()
or CreateIconIndirect() apply pre-multiplication internally and so must be
given data in non-pre-multiplied format on input.

This commit adds a possibility to create wxDIB in such format but doesn't use
it anywhere yet, this will be done in subsequent commits.

See #9050.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65959 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-30 23:50:50 +00:00
Vadim Zeitlin
a72ebcd091 Make it impossible to initialize AutoHBITMAP after construction.
Add default ctor and Init() method to wxMSW private AutoHBITMAP class.

This doesn't change anything for now but will be used by an upcoming commit.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65958 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-30 23:50:45 +00:00
Vadim Zeitlin
7ee21e3a3d Fix fatal bug in wxGetWindowFromHWND() for radio buttons.
wxGetWindowFromHWND() could crash if it was called for a HWND of a radio
button which was not created by wxWidgets because it blindly dereferenced the
user data associated with the button expecting it to be a pointer to
wxRadioBox and crashed if it was something different. And this actually
happened when using the standard Windows printing dialog which can contain
radio buttons which obviously used their user data field for their own
purposes.

Fix this by maintaining a global hash map with radio buttons HWNDs as keys and
radio boxes as values. This ensures that we can always safely check whether
the given HWND is a radio button in one of our radio boxes or not.

Also change wxSpinCtrl which already did something similar in a different way
(using an array instead or a more efficient hash map) for consistency.

Closes #12083.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65957 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-30 23:50:39 +00:00
Vadim Zeitlin
3120eccfe2 Fix confusion with LOGFONT{A,W} parameters to MSW GetTheme[Sys]Font().
Change the signature of GetThemeFont() and GetThemeSysFont() methods of
wxUxThemeEngine to take an artificial wxUxThemeFont::Ptr type instead of
LOGFONT which allows the broken code to compile correctly and even work in
Unicode builds but crashed in ANSI ones under Windows Vista/7 as these
functions expect a LOGFONTW and not LOGFONTA even in non-Unicode build under
these systems.

This generalizes the previous fix/workaround for the same problem in
wxStaticBox so remove it now and use wxUxThemeFont both there and in
wxMenuItem to avoid crashes when using owner-drawn menus in ANSI build.

Closes #12364.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65955 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-30 23:50:22 +00:00
Václav Slavík
f0ccd2cbfa Add wxDataViewRendererBase::PrepareForItem() helper.
For calling SetValue() and SetAttr() consistently, instead of having the
same code duplicated all over the place.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65950 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-30 15:57:55 +00:00
Václav Slavík
86755098f5 Account for text attrs in generic wxDataViewCtrl's renderers.
When determining cell content's size, GetSize() measured the text using
wxDataViewCtrl's font, even though it could be renderer in bold or
italics.

Corrected by setting the attributes - and not only the value - prior to
GetSize() calls, and by using the right font in GetTextExtent() calls.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65949 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-30 15:57:49 +00:00
Václav Slavík
d0154e3a5a Add optional columns autosizing to wxDataViewCtrl.
Only implemented in the generic and GTK+ versions at the moment, OS X
support will be added later.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65948 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-30 15:57:41 +00:00
Václav Slavík
9aebcb5e44 Add wxRenderer::GetHeaderButtonMargin().
Used for best size calculations of column width.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65947 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-30 15:57:32 +00:00
Vadim Zeitlin
3a61f5db2c Relax validation of wxCheckBox flags.
Changes of r65824 resulted in asserts when creating wxCheckBox with just
wxBORDER_NONE style. This is useless but used to be harmless so continue to
allow this.

Closes #12628.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65942 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-28 14:23:09 +00:00
Vadim Zeitlin
ce0ee9aec1 Improve positioning of wxSlider min/max labels in wxMSW.
Put the min/max labels on the sides or a horizontal slider or above/below a
vertical one to make them visually more distinct from the current value label.

See #11427.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65941 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-28 13:52:50 +00:00
Vadim Zeitlin
4ea1bb9d09 wxOSX/Carbon compilation fix after wxListBoxBase changes.
Making wxListBoxBase::CalcAndSendEvent() broke wxOSX/Carbon build, fix it by
making the class which needs to call it friend of wxListBox in this port.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65940 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-28 10:27:32 +00:00
Vadim Zeitlin
09e744f552 Don't duplicate event sending code in wxGTK wxListBox.
Reuse wxListBoxBase::SetEvent() instead of duplicating its code in wxGTK.

Also get rid of the code checking for selection of the item with index -1:
this can't happen any more since r65865 which changed GTK_SELECTION_SINGLE to
GTK_SELECTION_BROWSE.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65936 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-27 23:22:00 +00:00
Vadim Zeitlin
24ee1bef74 Don't send SELECTED events for an already selected item in wxGTK wxListBox.
Bring wxGTK in line with wxMSW behaviour and avoid sending the
wxEVT_COMMAND_LISTBOX_SELECTED events when the user clicks on an already
selected item.

Refactor wxMSW code to extract the logic to avoid such events into a reusable
in other ports wxListBoxBase::DoChangeSingleSelection() function. Also add
wxListBox::GTKOnSelectionChanged() to wxGTK to avoid having to make the new
function public just so that it could be called by GTK callback and make the
previously existing CalcAndSendEvent() protected as well.

This fixes a unit test failure in ListBoxTestCase::ClickEvents() under wxGTK.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65935 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-27 23:21:55 +00:00
Vadim Zeitlin
af0b20630c wxOSX compilation fix: remove just added extra semicolon.
r65931 forgot to remove a now extra semicolon from wx/osx/notebook.h, fix it.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65934 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-27 21:41:55 +00:00
Vadim Zeitlin
2a0ca9dbaf Fix warnings about signed/unsigned comparisons inside wxMax() and friends.
wxMax, wxMin and wxClip work correctly when called with a mix of signed and
unsigned arguments but give warnings about comparing them when compiled with
g++.

Cast both arguments to the result type, which is defined consistently with
standard C rules for implicit promotion, before comparing them to avoid this.

Also add more tests to check that using these functions in this case doesn't
provoke warnings.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65933 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-27 20:23:55 +00:00
Vadim Zeitlin
681be2ef80 Refactor: use wxBookCtrlBase::m_selection in all derived classes.
All book control classes with the exception of wxGTK wxNotebook stored the
currently selected page in m_selection or m_nSelection (or, in wxUniv
wxNotebook case, m_sel) variable. Remove all of them and add m_selection
directly to the base class itself so that it can be reused everywhere.

Closes #12622.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65931 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-27 16:54:36 +00:00
Vadim Zeitlin
7e837615b9 No real changes, just replace -1 with wxNOT_FOUND in wxBookCtrl code.
Make the code consistently use wxNOT_FOUND instead of -1 everywhere.

See #12622.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65930 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-27 16:54:24 +00:00
Vadim Zeitlin
bd63e363c2 Compilation fix for wxUSE_UNICODE_WCHAR && !wxUSE_STL_BASED_WXSTRING.
Construct wxScopedWCharBuffer using CreateNonOwned() in
wxString::ToStdWstring() in this case, creating it directly from wc_str()
doesn't work (intentionally, as this doesn't tell if the buffer owns the
string or not).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65928 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-26 15:11:00 +00:00
Václav Slavík
a52475807e Make wxMin, wxMax and wxClip template functions.
Previously used macro's arguments were evaluated twice, but there were
many occurences of their use in our code that didn't account for this
and used expensive-to-evaluate arguments as if they were functions.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65920 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-25 09:43:00 +00:00
Vadim Zeitlin
b2e04188bd Make wxUString compilable with VC6.
Provide replacements for std::basic_string functionality missing from this
compiler standard library.

Closes #12357.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65917 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-24 23:06:11 +00:00
Vadim Zeitlin
a70d268a1b Add wxDocManager::FindTemplate() method.
This allows to find the template corresponding to the document of the given
class.

Closes #12170.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65915 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-24 23:03:38 +00:00
Vadim Zeitlin
35f82b01cf Don't handle RPC_E_CHANGED_MODE return of OleInitialize() as an error.
This error means that OLE had already been initialized so from our point of
view it counts as a success.

Closes #12516.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65914 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-24 23:03:31 +00:00
Vadim Zeitlin
0bb84570ce No real changes, just cleanup week days handling in wxGenericCalendarCtrl.
Use helper GetWeek{Start,End}() functions instead of repeating tests for
wxCAL_MONDAY_FIRST over and over again.

Also replace some occurrences of GetWindowStyle() with shorter and more clear
HasFlag().

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65902 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-24 22:40:47 +00:00
Vadim Zeitlin
3c9863aca7 Keep displayed month and year in sync in wxGenericCalendarCtrl.
When the date was constrained to a range in wxGenericCalendarCtrl, the display
of the month in the month combobox could get out of sync with its real value.

Ensure that the correct month is always displayed and also simplify the code
by removing the apparently unnecessarily complex logic in ChangeYear() and
ChangeMonth() functions.

Closes #11060.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65901 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-24 22:40:41 +00:00
Vadim Zeitlin
69060f4f0c No real changes, just inline wxDIB::Create().
After removing wxDIB::m_hasAlpha in the previous commit, this method became
completely trivial so put it inline in the header.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65900 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-24 22:40:34 +00:00
Vadim Zeitlin
20af6fd5d3 Remove wxDIB::m_hasAlpha from wxMSW.
This field can't be set reliably as we don't know if LoadImage() Windows
function loaded an 0RGB or an RGB bitmap so remove it completely to avoid the
risk of using it wrongly.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65899 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-24 22:40:27 +00:00
Vadim Zeitlin
164db92c14 Add support for specifying child process cwd and env to wxExecute().
Add an optional wxExecuteEnv parameter to wxExecute() which allows to specify
the initial working directory and custom environment for the child process.

Closes #12163.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65896 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-24 22:40:11 +00:00
Vadim Zeitlin
40730ad17d Make it easier to define custom wxSizerXmlHandler subclasses.
No real changes but refactor wxSizerXmlHandler to make it easier to derive
from it by adding virtual IsSizerNode() and DoCreateSizer() methods. To add
support for a custom sizer class you only need to override them in
wxSizerXmlHandler subclass now.

Also document wxSizerXmlHandler which was not documented at all previously.

Closes #11845.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65889 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-24 14:33:58 +00:00
Vadim Zeitlin
8ec22772d0 Make wxXmlResourceHandler::IsOfClass() static.
This simple helper function doesn't use any wxXmlResourceHandler data as it's
just a trivial wrapper for wxXmlNode::GetAttribute().

Making it static allows, in particular, to call it from const member functions
of wxXmlResourceHandler-derived classes (making it "const" itself would
achieve this too, of course, but it just doesn't need to be non-static).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65888 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-24 14:23:56 +00:00
Vadim Zeitlin
9b307a69b3 Add wxIcon::GetSize() to wxIcon in wxOSX.
This fixes the compilation errors under OS X after r65884 due to the lack of
this method there.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65887 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-23 21:47:22 +00:00
Vadim Zeitlin
4689441b05 Add XRC handler for wxToolbook.
Closes #11615.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65885 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-23 18:56:28 +00:00
Vadim Zeitlin
df191bfe39 Added wxThread::OnKill() and OnDelete() callbacks.
Call OnXXX() from wxThread::Kill() and Delete() respectively to allow the
thread being terminated perform some cleanup.

Closes #9046.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65882 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-23 14:10:12 +00:00
Vadim Zeitlin
6becc1e617 Added "rest" argument to wxString::Before{First,Last}().
This allows to search the string just once, in BeforeXXX(), when both the
parts of the string before and after some character are needed instead of
having to do it twice in both BeforeXXX() and AfterXXX().

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65862 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-22 14:17:37 +00:00
Vadim Zeitlin
53dfbfa5c9 Add missing comparison operator declarations in wxString::iterator.
Fix compilation in !wxUSE_UNICODE_UTF8 case after r65857.

Modify the second declaration of wxString::iterator class which was not
updated by the previous commit in the same way, i.e. add declaration of
comparison operators taking const_iterator to iterator class.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65859 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-21 19:51:40 +00:00