Commit Graph

14703 Commits

Author SHA1 Message Date
Vadim Zeitlin
6c0e710f00 Make wxGCDC::GetGraphicsContext() const.
There is no reason for this accessor to not be const and it prevents other
methods using it from being const too, so change this.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68179 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-07 13:05:16 +00:00
Vadim Zeitlin
4e32015c90 Fix event types in wxMouseEvent::Aux1DClick() and Aux1DClick().
wxEVT_AUX[12]_UP were wrongly used instead of the correct wxEVT_AUX[12]_DCLICK.

Closes #13308.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68154 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-04 17:22:49 +00:00
Vadim Zeitlin
fdd67a6a50 Fix crash in wxDataViewProgressRenderer in non-Unicode build.
We can't use the column pointer in wxDataViewProgressRenderer ctor as it's not
set yet, so postpone setting the renderer label until later in non-Unicode
build which needs the font used by this column to do the conversion to UTF-8.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68145 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-04 09:03:00 +00:00
Vadim Zeitlin
bbd783e0b2 No real changes, just remove trailing commas from enum.
wxCompositionMode enum had a trailing comma not allowed by C++ 98 (and which
would result in warnings or errors with g++ pedantic switch).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68128 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-02 10:29:14 +00:00
Vadim Zeitlin
fec4e45897 Add wxCOMPOSITION_INVALID mode and use it to simplify the code.
Having an invalid element in wxCompositionMode enum allows to directly return
it from TranslateRasterOp() function instead of needing a separate bool
parameter to indicate that a ROP couldn't be translated.

This also incidentally fixes warnings about possibly uninitialized variables
in optimized g++ builds.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68127 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-02 10:29:11 +00:00
Vadim Zeitlin
decd390a32 Work around bogus g++ warnings about possibly missing return.
OS X g++ warned that "control may reach end of non-void function" in
wxRichTextHelpInfo::ShowHelp(). This wasn't really the case but change the
function logic slightly to (hopefully) suppress the warning.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68111 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-06-30 12:20:47 +00:00
Vadim Zeitlin
b02d50281d Always initialize SelectInHDC::m_hgdiobj in wxMSW.
Leaving m_hgdiobj uninitialized probably didn't result in any problems
considering how this class is currently used but it did result in g++ warnings
about uninitialized member with aggressive warning flags and also could easily
become a problem in the future so just ensure that we always initialize it.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68099 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-06-29 17:50:30 +00:00
Vadim Zeitlin
4ce59b1f90 Replace stc.{h,cpp} with the generated versions with all their typos.
Revert the changes of r67280 which fixed several typos in these files as they
were getting modified each time gen_iface.py was rerun and we don't want to
touch the original Scintilla files to fix these typos.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68086 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-06-29 08:37:49 +00:00
Václav Slavík
c1b293bb8d Move wxThreadEvent into wxBase.
For this, it cannot derive from wxCommandEvent. Extracted the bits
from wxCommandEvent useful for passing data between threads into
wxEventBasicPayloadMixin helper class shared by both.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68076 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-06-28 17:24:37 +00:00
Vadim Zeitlin
4db97e24f5 Add support for child documents to docview framework.
Child documents are virtual documents corresponding to parts of their parent
document which can't be saved nor loaded independently of their parent and are
closed when the parent is closed.

This finally makes some use of wxDocument::m_documentParent field which was
always present in the docview code but never used before.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68051 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-06-27 00:09:37 +00:00
Vadim Zeitlin
1e5ad6e1d1 Restore wxPreviewFrame::Initialize(void) and add InitializeWithModality().
The changes of r67619 changed the signature of the virtual Initialize() method
and in doing so broke the existing code overriding it. Avoid this problem by
restoring the old method signature and adding a function with a different name
providing the new functionality.

Also notice in the documentation that there is no real need to override
Initialize() in any case (but this doesn't change the fact that there is
existing code that does do it).

See #13108.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68026 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-06-22 22:58:07 +00:00
Vadim Zeitlin
adfbce4fec Use strdup() even in strict ANSI mode with MinGW.
MinGW headers define MSVC-compatible _strdup() even in strict ANSI mode so we
can always use it with MinGW.

This fixes a linking problem when wx itself was built without strict ANSI but
the program using it does use strict ANSI mode (e.g. due to the use of
-std=c++0x g++ option).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68025 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-06-22 22:58:04 +00:00
Vadim Zeitlin
106f0d98f8 Implement wxCalendarCtrl::SetDateRange() in the native GTK version.
While GTK+ doesn't support imposing ranges for dates selection natively, we
can do it ourselves by preventing the user from selecting any date outside of
the currently valid range.

This allows to use ranges under all platforms and not only in wxCalendarCtrl
itself but in wxDatePickerCtrl as well.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67987 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-06-19 22:46:36 +00:00
Vadim Zeitlin
49d2c0adc3 Don't use __declspec(dllexport) for MinGW gcc 4.5 and later.
Due to the changes in gcc 4.5, copies of dllexported inline functions are now
generated in all object files including their declarations, increasing their
sizes tenfold, and they are also now instantiated in the DLL itself increasing
its size fourfold. Moreover, linking such a gigantic DLL requires inordinate
amounts of memory and takes a very long time, see some statistics at
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43601.

To avoid all these problems, don't use dllexport at all any more but rely on
binutils support for auto export/import which seems to work fine and results
in much smaller DLLs which are created much faster.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67971 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-06-17 21:53:26 +00:00
Vadim Zeitlin
ff8a5f3d77 Fix wxStringOutputStream in wxUSE_UNICODE_UTF8 build.
For some reason the conversion of the bytes written to this stream to Unicode
was only done in wxUSE_UNICODE_WCHAR build but not in wxUSE_UNICODE_UTF8 one.
Do it in any wxUSE_UNICODE build now.

This allows to use wxStringOutputStream under Unix again, in particular it
fixes an assert in samples/html/zip when trying to load the raw contents of a
ZIP file in wxHtmlWindow.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67968 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-06-16 16:22:15 +00:00
Robin Dunn
fc85e0db36 Use wxAnyButton's DoGetBestSize for toggle buttons
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67949 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-06-16 00:43:22 +00:00
Vadim Zeitlin
bc927c9a8c Generic wxHyperlinkCtrl appearance and behaviour improvements.
Show focus rectangle around the control when it has focus. Also handle the
space key to trigger the link.

Also allow using either the native or generic version of the class in the
widgets sample.

Closes #11285.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67948 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-06-15 21:56:23 +00:00
Vadim Zeitlin
8770af492a Fix keyboard navigation in wxGrid with reordered columns.
Don't mix up column internal indices and display positions in wxGrid keyboard
navigation code.

This ensures that pressing left/right cursor arrows always moves the cursor to
the previous/next column on the display, even if the columns were reordered.

Closes #13281.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67944 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-06-15 13:33:10 +00:00
Vadim Zeitlin
2c6d6dfe60 Rename some parameters in wxGrid code to make them more clear.
No real changes, just call the variables containing display positions "pos"
and not "line" in wxGridOperations to avoid giving the impression that they
contain indices.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67943 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-06-15 13:33:07 +00:00
Vadim Zeitlin
b4354db179 Refactor wxButton and wxToggleButton to derive from wxAnyButton.
Introduce wxAnyButton class, a common base class for wxButton and
wxToggleButton, allowing to reuse the same implementation for them.

This also allows to implement support for bitmaps in wxToggleButton for all
platforms and make wxBitmapToggleButton a trivial subclass of it everywhere,
similarly to wxBitmapButton and wxButton.

Closes #13198.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67931 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-06-14 13:00:42 +00:00
Vadim Zeitlin
0f4a54a655 Implement wxDataViewCtrl::SetRowHeight() for wxGTK.
Also document that this method can only be used to increase the row height
compared to the default, not to make it smaller.

See #12749.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67920 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-06-11 23:56:44 +00:00
Stefan Csomor
3399af21d1 adding default interpolation enum
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67911 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-06-09 23:05:09 +00:00
Stefan Csomor
a173c81340 fixing test, adding minimal docs
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67910 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-06-09 21:44:19 +00:00
Stefan Csomor
133cb28b21 adding placeholders for interpolation setting
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67909 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-06-09 21:38:08 +00:00
Stefan Csomor
681bf55c1c add member for sheetdialog
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67896 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-06-09 00:28:28 +00:00
Vadim Zeitlin
bbfd454841 Add wxDataViewCtrl::SetRowHeight() and provide its generic implementation.
Allow changing the (fixed) row height without using wxDV_VARIABLE_LINE_HEIGHT
which may slow down the control display too much.

The new method is not implemented for the native GTK and OS X implementations
yet but should be simple to implement there.

See #12749.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67885 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-06-07 22:49:56 +00:00
Vadim Zeitlin
48dd005569 Replace more DECLARE_CLASS occurrences with DECLARE_DYNAMIC_CLASS.
Correct more mismatches between DECLARE_CLASS and IMPLEMENT_DYNAMIC_CLASS
usage.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67882 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-06-07 16:48:36 +00:00
Vadim Zeitlin
80e2b03182 Use DECLARE_DYNAMIC_CLASS instead of DECLARE_CLASS.
Correctly use DECLARE_DYNAMIC_CLASS for the classes that are supposed to be
dynamically creatable as using DECLARE_CLASS doesn't work any longer after the
last commit.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67880 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-06-07 14:28:55 +00:00
Vadim Zeitlin
ffc13495b2 Make wxDECLARE_CLASS synonym of wxDECLARE_ABSTRACT_CLASS.
Previously wxDECLARE_CLASS was a synonym for wxDECLARE_DYNAMIC_CLASS which was
inconsistent with its documentation and wxIMPLEMENT_CLASS that was the same as
wxIMPLEMENT_ABSTRACT_CLASS.

Resolve this in the most backwards compatible and also arguably logical way.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67879 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-06-07 13:06:17 +00:00
Stefan Csomor
0aff141c51 supporting nested window disablers on the same window
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67866 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-06-06 16:32:41 +00:00
Vadim Zeitlin
7cc84a7322 No changes, just avoid unused parameters warnings.
Wrap parameters of the stub implementation of the newly added StartEditor() in
WXUNUSED().

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67832 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-06-01 22:58:05 +00:00
Robin Dunn
eeea3b039e Virtualize StartEditor and add implementations for the ports that can do it.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67817 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-05-31 19:36:47 +00:00
Robin Dunn
9f2b6b31b7 Build fixes for using Cairo on MSW.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67816 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-05-31 19:16:55 +00:00
Vadim Zeitlin
1ee1662007 Free calloc()'d pointer correctly in wxFSWatchEntryMSW.
OVERLAPPED struct was allocated using calloc() but deleted later. Fix this by
deallocating it with free() instead.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67806 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-05-28 19:35:13 +00:00
Jaakko Salli
1d8340b956 Allow wxPGProperty::IsChildSelected() to work recursively
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67768 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-05-20 14:26:17 +00:00
Vadim Zeitlin
715efa4e25 Allow passing wxLongLong values directly to wx pseudo-vararg functions.
Allow passing wxLongLong objects when a "%lld" format specifier (or
equivalent) is used just as we already do for wxString objects when "%s" is
used. This is more convenient and makes wxLongLong closes to the native type.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67760 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-05-17 22:12:39 +00:00
Vadim Zeitlin
2bd82d72f5 Cancel dragging in wxAuiNotebook on capture loss.
Don't leave the display and internal variables in inconsistent state when the
mouse capture is lost while a notebook page is being dragged (as can happen
if Alt-Tab is pressed under Windows, for example).

Closes #9976.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67737 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-05-14 14:17:52 +00:00
Vadim Zeitlin
7311debd0d Don't use the standard containers by default.
Revert the change of wxUSE_STD_CONTAINERS to 1 by default as this introduces
more incompatibilities which risk hamper upgrading to 3.0 unnecessarily.

Update the documentation to better explain why do the non-standard container
classes exist in wxWidgets and, especially, that they shouldn't be used when
possible. Also document the differences between the normal and STL containers
build in the manual.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67735 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-05-13 13:30:12 +00:00
Vadim Zeitlin
d3ca848751 Make wxListCtrl sort function take wxIntPtr, not long, arguments.
As the arguments to the sort function contain the client data associated with
the items, they may be pointers and hence of greater size than long in Win64
builds. Use wxIntPtr instead of long everywhere to fix this.

Notice that this doesn't break compatibility for 32 bit code where long can
still be used as it is the same as wxIntPtr there after the previous commit.

Closes #4309.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67733 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-05-13 13:30:03 +00:00
Vadim Zeitlin
76b513074d Define wx[U]IntPtr as long, not [s]size_t, in 32 bit builds.
Defining wxIntPtr as ssize_t or long in 32 bit builds doesn't really change
anything but using long means that we can replace longs in the existing API
with wxIntPtr without breaking compatibility, like in wxListCtrl::SortItems().
It is also more compatible with 64 bit builds where wxIntPtr is long already.
So it has some minor advantages and no apparent drawbacks.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67732 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-05-13 13:29:59 +00:00
Julian Smart
71185527a0 wxRTC doc updates
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67727 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-05-11 16:45:34 +00:00
Stefan Csomor
3cac36541b separating observers for default mode (outer 'normal' loop) and common mode loops, fixes #13208
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67724 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-05-11 06:46:07 +00:00
Vadim Zeitlin
a082862987 Fix inserting radio menu items in wxGTK too.
After fixing the insertion of radio menu items in wxMSW, also do it for wxGTK
to make the newly added unit test pass there as well.

Remove the unneeded wxMenu::m_prevRadio which doesn't make any sense neither
(just as the "current radio group" pointer removed from wxMSW code before) and
simply use the radio group of the existing item this radio item is being
inserted before or after instead.

See #13200.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67721 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-05-10 08:50:47 +00:00
Vadim Zeitlin
89511b4268 Rewrote wxMSW radio menu items code to support not only appending them.
Previously the radio menu items could only be appended to a menu in wxMSW,
inserting them (either in an existing radio group or to start a new one) not
only didn't work but could even result in crashes because invalid iterators in
the menu items list could be used.

Fix this by storing the ranges of all radio groups in wxMenu itself instead of
storing the information about the radio group an item belongs to in the item
itself and by updating this data whenever a new radio item is inserted. Also
get rid of the notion of "current radio group" in wxMenu which doesn't really
make any sense.

Finally add a unit test checking that inserting radio items works as expected.

Closes #13200.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67720 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-05-10 08:50:38 +00:00
Jaakko Salli
a6ca624a27 Fixed a bug: Disabling a property didn't work properly if a child item was selected.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67719 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-05-09 19:44:40 +00:00
Julian Smart
7afd2b58c5 More work on improving wxRTC documentation, copied buffer and control headers to interface folder.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67714 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-05-08 18:29:51 +00:00
Robin Dunn
44cba02ea7 Adda virtual dtor to silence warnings
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67697 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-05-04 00:41:16 +00:00
Vadim Zeitlin
f8d3714816 Implement watching directory correctly in MSW wxFileSystemWatcher.
The directories used to be always monitored recursively, even when this wasn't
requested, in wxMSW implementation. Change this but also implement efficient
support for monitoring the entire hierarchies using the native support for
this.

Also update the sample to allow monitoring directories recursively as well.

See #12847.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67693 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-05-03 23:31:39 +00:00
Vadim Zeitlin
51fb867819 Fix wxFileSystemWatcher::Remove() in wxMSW.
Removing the path watched by wxFileSystemWatcher didn't do anything in wxMSW
implementation so we still continued getting events for the changes to this
path even after calling Remove().

Fix this by really implementing Remove() properly. Also add a unit test
checking that we don't get any events after calling Remove().

See #12847.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67691 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-05-03 23:31:29 +00:00
Dimitri Schoolwerth
a1b806b982 Replaced Ok() occurrences with IsOk() throughout trunk.
Additionally renamed wxOSX' private wxNativePrinterDC::Ok() function to IsOk().

Didn't deprecate the various Ok() functions: given the amount of changes already introduced in 3.0 a trivial one like this seems more suitable for after 3.0.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67681 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-05-03 16:29:04 +00:00
Vadim Zeitlin
61490d3b60 Add wxDocManager::GetPageSetupDialogData() accessor.
Allow accessing the print data stored in wxDocManager from outside the class.

Closes #13190.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67676 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-05-03 10:40:23 +00:00
Václav Slavík
c81394808b Make wxSpinCtrlGeneric usable as wxDVC editor control.
wxDVC installs temporary event handler that watches for focus changes
and some key events. Make wxSpinCtrlGeneric look like a native
wxControl in this respect even though it's actually a composite control.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67665 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-05-01 18:44:35 +00:00
Vadim Zeitlin
8a95db3429 Translate various user-visible strings in rich text print code.
Make default wxRichTextPrintout title and the name of wxRichTextPrinting
object translatable.

Closes #13187.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67660 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-05-01 15:58:36 +00:00
Dimitri Schoolwerth
e3778b4d9c No code changes, fixed some typos.
Changed several occurrences of "it's" where "its" is meant, as well as a few other minor typos.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67656 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-04-30 10:57:04 +00:00
Vadim Zeitlin
4c24ca50d6 Fix wxULongLongNative::ToDouble() compilation with VC6.
The problem alluded to by the commit message of r40658 arose only in the DLL
build using VC6 so reintroduce the workaround for it removed by r67634 but
make it VC6-specific and, arguably even more importantly, also make it work
correctly for wxULongLongNative values greater than LONGLONG_MAX.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67643 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-04-28 16:16:16 +00:00
Vadim Zeitlin
a8db6ab73e Use correct GTK macro in wx_gtk_widget_get_sensitive().
Using GTK_WIDGET_VISIBLE() to test for sensitivity was not going to work (and,
in fact, it didn't and broke the unit tests).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67642 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-04-28 14:29:56 +00:00
Vadim Zeitlin
ebbbd51bbc Fix check in assert in wxULongLong::ToULong().
We can convert values up to ULONG_MAX to unsigned long losslessly, not up to
LONG_MAX.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67641 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-04-28 14:20:32 +00:00
Vadim Zeitlin
c92e136d9a Don't specialize std::numeric_limits<> for wxLongLong when using VC6.
This doesn't work with VC6 anyhow as it doesn't provide numeric_limits<>
specialization for __int64 and results in many warnings C4663 as the standard
header itself uses obsolete template specialization syntax.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67640 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-04-28 14:20:29 +00:00
Vadim Zeitlin
77b239d4ba Fix wxULongLong::ToDouble() for MSVC.
The conversion of wxULongLong to double was broken for MSVC by r40658 which
was supposed to correct some unspecified compilation problem but this code
seems to compile fine with at least recent versions of MSVC and, in any case,
correcting compilation only for the code to work incorrectly during run-time
doesn't look like a good idea.

This fixes current unit test failures in wxMSW.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67634 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-04-27 18:51:00 +00:00
Vadim Zeitlin
6aacfc7320 Allow showing the print preview frame non modally.
Still show the print preview app modally by default, i.e. disabling all the
other windows, but also allow disabling only the preview parent or nothing at
all.

Closes #13108.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67619 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-04-26 22:57:27 +00:00
Vadim Zeitlin
b2fd3bea36 Fix assert when destroying wxDataViewCtrl being edited in wxGTK.
If wxDataViewCtrl was destroyed while showing a generic editor, an assert
occurred in wxWindowBase dtor as the event handler pushed on it by the editor.

Fix this by calling CancelEditing() when the control is destroyed and also fix
the crash in CancelEditing() in wxGTK due to recursive calls to FinishEditing().

Closes #12683.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67612 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-04-26 22:57:01 +00:00
Vadim Zeitlin
b3a8aa924a No changes, just get rid of wxDataViewColumn::GetConstGtkHandle().
If both const and non-const accessors are needed, it's custom to use the same
name for both but in this case we don't even need them as the const version
can always be used, so simply remove the weird and badly named (because the
returned handle is not const at all) GetConstGtkHandle().

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67611 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-04-26 22:56:56 +00:00
Vadim Zeitlin
3dd4d0ec9e Specialize std::numeric_limits<> for wxLongLong and wxULongLong.
numeric_limits<> should be specialized for number-like types to allow using
them in a similar way to the built-in types.

Closes #13162.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67610 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-04-26 22:56:50 +00:00
Dimitri Schoolwerth
cbbb1f5489 Fixed filename in wxOSX-Cocoa's file dialog using extension of wrong file type.
When using SetFilterIndex to indicate a different initial file type the dialog would still use the extension of the first file type (if the filename had no extension then unchecking "Hide extension" would append the first file type's extension). Fixed this by calling code, that formerly got called only from OnFilterSelected, to notify OS X of the file type change.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67598 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-04-25 13:18:45 +00:00
Václav Slavík
aef081f465 Don't rely on RVO in wxON_BLOCK_EXIT_SET().
MakeVarSetter() relies on the compiler always using RVO, as
VariableSetterImpl<> doesn't have correct copy ctor; worse yet, its use
wasn't detected at compile time.  With some compilers (e.g. VC++ 2008
with non-trivial variable types), this resulted in the variable being
reset too soon, immediately in the place where the macro was used.
Fixed by using the same technique already used in wxScopeGuardImpl. In
fact, VariableSetterImpl is just another special case of
wxScopeGuardImpl, so just derive from the latter.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67592 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-04-24 13:14:47 +00:00
Vadim Zeitlin
e71508e160 Add wxDC::SetTransformMatrix() and related methods and implement them in wxMSW.
Add support for world transformations to wxDC too. Currently this is
implemented in wxMSW only but could be easily provided in the ports that use
wxGraphicsContext for wxDC implementation later.

Closes #13092.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67588 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-04-23 16:03:10 +00:00
Vadim Zeitlin
d7cfeeb49c Set page range in the print preview correctly.
The valid pages range was set too early before, we need to postpone it until
after the OnPreparePrinting() call of the user-defined wxPrintout object as
only it can determine the number of pages (after running the pagination
algorithm) in general.

Set the pages range during the first call to RenderPageIntoDC() to fix this.

Also add wxPrintPageMaxCtrl class for symmetry with the existing
wxPrintPageTextCtrl and use a shared constant MAX_PAGE_NUMBER instead of hard
coded 99999. Slightly improve the layout of wxPrintPageMaxCtrl too.

Closes #12965.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67580 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-04-23 10:49:48 +00:00
Vadim Zeitlin
a78d2fbab1 Make the source files non-executable again.
Revert the (probably accidental) mode change of r67576.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67579 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-04-23 10:41:29 +00:00
Václav Slavík
64c70359a7 Return wxWindow* from wxDataViewCustomRenderer::CreateEditorCtrl().
There's no reason to limit custom editor controls to wxControl, which
would rule out e.g. composite controls or any custom widgets.
Make appropriate changes to related functions and code too.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67576 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-04-22 18:25:32 +00:00
Stefan Csomor
68dd2c52a4 osx 64 bit multilib build needs an explicit export as in this architecture our visibility flags get respected for obj-c classes as well
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67575 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-04-22 15:48:13 +00:00
Stefan Csomor
c1313b54c6 implementation of HotKey, see #12354
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67574 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-04-22 15:20:11 +00:00
Julian Smart
987695522c Added ForceDelayedLayout
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67566 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-04-21 12:44:26 +00:00
Vadim Zeitlin
c729f16fa5 Implement auto-completion support for wxTextEntry in wxOSX/Cocoa.
Both completing a set of fixed strings and dynamic completion using a custom
completer are supported, although completing the file names remains MSW-only
for now.

Note that, unlike under MSW, auto-completion under Mac is not automatic and
has to be triggered manually by calling complete: method. This is done by
pressing F5 key by default. In the future we should call it automatically on a
timer event to make it more obviously discoverable.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67526 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-04-17 23:14:15 +00:00
Vadim Zeitlin
ed7dda9251 Refactor: extract wxTextCompleterFixed from wxMSW to a header.
This class will be used in other ports too so don't make it private to wxMSW
(although it still remains private to wxWidgets for now as it doesn't make
much sense to use it in user code).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67525 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-04-17 23:14:11 +00:00
Vadim Zeitlin
0e5d4c38a3 Add wxAffineMatrix2D and related classes.
This class represents an affine 2D transformation and will be used in wxDC for
now and maybe in wxGC later.

Closes #13143.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67520 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-04-17 00:09:56 +00:00
Vadim Zeitlin
85047589a9 Split wxTextCompleter into a base class and wxTextCompleterSimple.
Allow overriding either the iterator-like methods of the base class or the
single and possibly more convenient, albeit slightly less efficient, method of
the derived wxTextCompleterSimple class.

This makes it possible to completely delegate to wxTextCompleter from wxMSW
IEnumString implementation and actually makes the code there easier, even if
it it still not quite trivial because of multi-threading concerns.

It also would make it possible to show the completions progressively, as they
are retrieved, in a future generic implementation of auto-completion (MSW
native implementation doesn't do this unfortunately and waits until all of the
completions become available before showing them).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67515 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-04-16 17:27:34 +00:00
Vadim Zeitlin
1afe4f9b47 Added private wxEVT_AFTER_CHAR event for wxMSW implementation needs.
This event is sent by wxMSW after the default handling of WM_CHAR has taken
place. It can be used to define an event handler triggered by key presses and
having access to the new value of the control, updated to take the last key
press into account.

This event will be used by auto-completion implementation for wxMSW only for
now.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67512 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-04-16 17:27:21 +00:00
Vadim Zeitlin
ea98f11c2f Add support for dynamic auto-completion in wxTextEntry.
Add wxTextCompleter class which allows to return the possible completions
dynamically and wxTextCompleter::AutoComplete() overload using it. So far this
is only implemented for wxMSW.

Also fix calling wxTextEntry::AutoComplete(wxArrayString) multiple times under
MSW, this didn't correctly update the list of shown completions before.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67511 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-04-16 17:27:16 +00:00
Vadim Zeitlin
574479e8db Refactor wxTextEntry::AutoComplete() to simply call DoAutoCompleteXXX().
No real changes, just make the public AutoComplete() non-virtual and add
virtual DoAutoCompleteXXX() methods to make it easier to add new public
AutoComplete() overloads in the upcoming commits.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67509 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-04-16 17:27:04 +00:00
Stefan Csomor
0217cfa537 support generic flag for pixel offsetting, see #11853
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67502 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-04-16 12:21:37 +00:00
Dimitri Schoolwerth
e78c47e3b8 Replaced C++ comments with C ones in C files.
Replaced C++ comments (occurring outside of __cplusplus blocks) in files that contain the warning "THIS IS A C FILE" with C comments.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67497 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-04-15 19:18:34 +00:00
Paul Cornett
f5c0761f51 workaround for broken window managers which claim to support _NET_REQUEST_FRAME_EXTENTS, but don't respond to it
see #13146


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67496 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-04-15 18:31:57 +00:00
Jaakko Salli
35f8ae6572 Removed wxPG_DOUBLE_BUFFER constant. Now all wxPG rendering is done double-buffered, regardless of the platform. Code path with wxPG_DOUBLE_BUFFER = 0 did not render correctly (fixes #13140). In future should probably use wxAutoBufferedPaintDC or something similar, but this will require non-trivial code changes and testing.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67494 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-04-15 09:23:23 +00:00
Vadim Zeitlin
0287ae5c75 Re-define push_back() in wxSortedArrayString to behave correctly.
Adding items to wxSortedArrayString should always keep them sorted but while
Add() did this, push_back() didn't breaking the class invariant.

Redefine push_back() in _WX_DEFINE_SORTED_TYPEARRAY_2 macro to fix this and
add a unit test checking that wxSortedArrayString::push_back() does work now.

Closes #13134.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67429 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-04-10 15:36:07 +00:00
Vadim Zeitlin
ceb9b8db81 Allow customizing AUI tab colours in wxAuiTabArt.
Add wxAuiTabArt::SetColour() and SetActiveColour() methods and provide trivial
default implementation of them in wxAuiDefaultTabArt to allow customizing the
tab colours.

Closes #11411.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67428 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-04-10 15:36:03 +00:00
Stefan Csomor
26632ccd72 fixing configure builds for iphone
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67419 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-04-09 09:22:51 +00:00
Julian Smart
b3169c12bc Further commenting
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67388 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-04-04 17:55:56 +00:00
Dimitri Schoolwerth
d13b34d3f2 No code changes, fixed various typos.
Applied patch by snowleopard2 fixing typos in interface/. Extended the fixes throughout trunk.

Closes #13076.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67384 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-04-03 20:31:32 +00:00
Vadim Zeitlin
640a1b8474 Disable wxUSE_STD_CONTAINERS by default for MSVC6.
This compiler can't compile its own standard headers with the default options
as it overflows an internal heap. Disable the use of standard containers by
default for it to avoid this problem and indicate that /Zm option must be used
to avoid this.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67380 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-04-02 23:31:27 +00:00
Paul Cornett
8ca8714b3c need to override DoGetBestClientSize() to get correct size, fixes #13088
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67378 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-04-02 20:43:29 +00:00
Paul Cornett
554895848b build fix for GTK1 after r67299
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67368 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-04-01 16:20:17 +00:00
Jaakko Salli
df3c4a42d9 Added wxComboPopup::DestroyPopup(), which responsibility is to call Destroy() for the popup control and also delete the combo popup object itself. The default implementation should be able to handle common cases.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67365 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-31 17:22:51 +00:00
Vadim Zeitlin
b129eaa377 Implement wxGraphicsContext::GetSize() for Cairo.
As the implementation of this method is basically the same for all ports move
it to the base class itself instead of requiring the derived classes to
implement it. Now the derived classes need to fill in m_width and m_height
members instead.

Do fill them when creating wxGraphicsContext in Cairo version.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67359 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-31 09:38:03 +00:00
Vadim Zeitlin
a99a3029c8 Fix HMENU to wxMenu translation in wxMSW code.
We didn't find the menus corresponding to the submenu handles. This resulted
in incorrect processing of EVT_UPDATE_UI events for the submenus and probably
other problems.

Fix this by searching for the HMENU recursively in all menus.

Closes #13080.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67355 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-31 09:28:38 +00:00
Vadim Zeitlin
02f170d7be Remove REMOVE_UNUSED_ARG option from setup.h files.
This identifier wasn't used anywhere as WXUNUSED() is always defined as
nothing for all compilers since quite some time.

Also moved wxUSE_IOSTREAMH together with the other wxUSE_STD_XXX options and
removed the "compiler (mis)features" section which became empty after doing
this.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67347 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-30 14:16:25 +00:00
Vadim Zeitlin
cee8636e94 Add support for elements preceding the document node in wxXML.
This is mainly useful for parsing and generating processing instructions but
can be used for any kind of elements, e.g. also comments, occurring before the
document node in XML documents.

Closes #11593.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67346 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-30 14:16:19 +00:00
Vadim Zeitlin
01871bf642 Add wxUSE_STD_CONTAINERS and turn it on by default.
Previously, wxUSE_STL enabled both implicit conversion of wxString to
std::[w]string and use of standard containers for the implementation of their
wx equivalents. Split up the two roles now by allowing to enable the use of
the standard containers independently of (backwards incompatible) implicit
conversion in wxString and actually enable wxUSE_STD_CONTAINERS by default.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67343 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-30 14:16:04 +00:00
Vadim Zeitlin
44a0071224 Fix XTI compilation in STL build.
Use explicit c_str() calls in XTI code as implicit conversion to "const char
*" doesn't exist in STL build.

This fixes compilation problems when wxUSE_EXTENDED_RTTI && wxUSE_STL.

Closes #13087.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67342 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-30 14:15:53 +00:00
Paul Cornett
a481bbc318 convert assertdlg_gtk to C++
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67338 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-30 05:35:24 +00:00
Paul Cornett
7c491c85de fix typo
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67332 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-29 05:16:25 +00:00