Commit Graph

29727 Commits

Author SHA1 Message Date
Vadim Zeitlin
16e79d4879 Fix showing slider label in wxMSW when wxSL_MIN_MAX_LABELS was not used.
wxSlider with wxSL_LABELS style but without wxSL_MIN_MAX_LABELS didn't show
the current value because the width of the value label was 0.

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

Closes #13291.

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

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

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

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

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

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

Closes #13304.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68225 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-11 14:51:32 +00:00
Stefan Csomor
24e059c32c support multi-line labels, add different native styles for buttons as we did for bitmap buttons
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68219 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-10 14:20:45 +00:00
Vadim Zeitlin
0a63a7b38f Use the correct event handler in wxMenuBase::UpdateUI().
Use GetWindow() instead of GetInvokingWindow() to send the event to the
associated window for the menus that are part of the menu bar and not only the
popup ones. This was broken since r64127 because GetInvokingWindow() is now
only used for the popup menus.

Closes #13317.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68218 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-10 12:55:30 +00:00
Vadim Zeitlin
e96be167e7 Support float, double and file name values in wxGenericValidator.
Currently these values can only be read from/written to wxTextCtrl but support
for other controls (e.g. wxSpinCtrlDouble for float/double) could be added in
the future.

Closes #13304.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68217 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-09 23:37:28 +00:00
Vadim Zeitlin
065ba6fb09 No changes, just use NULL instead of 0 for pointers.
Initialize pointers with NULL in wxGenericValidator.

See #13304.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68216 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-09 23:37:21 +00:00
Vadim Zeitlin
e7cda1c350 Generate events for two auxiliary mouse buttons in wxGTK.
Add code to generate wxEVT_AUXN_XXX events to wxGTK.

Closes #13310.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68215 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-09 23:37:15 +00:00
Vadim Zeitlin
0edbdf6a45 Check for GTK window parent, not wx one, when reparenting.
A notebook page removed from its notebook can have a non-NULL wx parent but
not have any parent at GTK level any longer, so test for the window parent at
GTK level before removing the widget from it, otherwise we were getting GTK
asserts when trying to remove a window from its no-more-parent.

See #13305.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68213 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-09 23:37:03 +00:00
Vadim Zeitlin
cd9b34ef83 Refresh the generic wxDataViewCtrl header if it was made too small.
Although normally the control header is not supposed to be resized below its
minimal vertical size, sometimes this can still happen and in this case ugly
artefacts were displayed because it wasn't refreshed properly. Do refresh it
to avoid them.

Closes #13313.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68212 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-09 23:36:55 +00:00
Vadim Zeitlin
0e27ef576e Don't duplicate wxImage::ConvertToDisabled() in wxAUI code.
Just reuse the existing function.

Also add an example of showing a disabled bitmap to the aui sample.

Closes #13303.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68210 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-09 23:36:44 +00:00
Vadim Zeitlin
fd2eccd140 Immediately update MSW cursor when ::SetCursor(wxNullCursor) is called.
The cursor was previously reverted to the default one only when a next mouse
event was received. Do it immediately now to e.g. avoid showing the busy
cursor when the program is not busy any more.

Closes #12961.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68208 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-09 23:36:32 +00:00
Vadim Zeitlin
c12d4e1dac Fix wxMSW wxSlider best size calculation and label layout.
The best size calculation was wrong as the min/max labels height was
unnecessarily added to the slier total height even if though these labels are
positioned alongside the slider itself in horizontal layout case.

The slider also managed to position its value label completely outside the
space allocated to it (and the bug in DoGetBestSize() might have been an
attempt to work around this), don't do this any more. This also fixes the
wrongly centered vertical position of the min/max labels.

Closes #13291.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68207 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-09 23:36:26 +00:00
Vadim Zeitlin
ebcdce46d2 Make coordinates transformations in wxDC really maximally precise.
Use the maximal device space extent supported by Win32 GDI and only decrease
it if the scale is so small that keeping the device space extent maximal would
result in overflowing the int range for the logical space.

This makes coordinate translations exact even for huge coordinates, while they
could be significantly wrong before due to the integer rounding errors.

Closes #13284.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68206 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-09 23:36:19 +00:00
Stefan Csomor
930d20e710 avoid scrolling to cleared-non existing- data, reload before, fixes #13318
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68194 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-09 06:37:14 +00:00
Vadim Zeitlin
53d4bdbc15 Add wxDCImpl::MSWApplyGDIPlusTransform() to formalize wxRendererMSW hack.
Replace the dynamic_cast<> used in wxMSW wxRenderer implementation code with a
virtual function call.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68180 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-07 13:05:22 +00:00
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
Stefan Csomor
e328846969 allow NULL parent menu
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68174 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-06 11:02:38 +00:00
Vadim Zeitlin
0aae39efd2 Fix crash when getting or setting wxComboBox value in wxUniv.
Forward DoGetValue() and SetValue() to the associated wxTextCtrl.

Closes #13298.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68157 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-04 21:09:24 +00:00
Vadim Zeitlin
026f3f9bc3 Fix warnings about implicit double to int conversions in propgrid.
Use wxRound() instead of implicit casts to convert double to int. This not
only avoids warnings (e.g. when using g++ with -Wconversion) but also should
be (marginally) more precise.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68153 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-04 16:43:40 +00:00
Vadim Zeitlin
47e442de38 Fix harmless warning about double to long long conversion.
Work around g++ -Wconversion warning by writing out the casts explicitly.

A better solution would be to have wxLongLong::FromDouble() static function
but it would have to be done after 2.9.2.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68152 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-04 16:43:37 +00:00
Vadim Zeitlin
6a06eecfb2 Suppress some harmless warnings about unused parameters in wxOSX.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68148 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-04 14:05:14 +00:00
Vadim Zeitlin
51909b8b0b Also accept VT_R4 (float) VARIANTs in wxMSW OLE code.
We don't support creating VT_R4 VARIANTs as wxVariant can only contain double,
not float, but we can still at least accept them on input.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68147 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-04 14:05:11 +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
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
749f13d4a2 Avoid g++ warnings about breaking strict aliasing rules in wxTreeCtrl.
The standard TreeView_GetItemRect() macro resulted in warnings about breaking
strict aliasing rules as it passed a variable of one type via a pointer to
another one. Fix this by using a union and our own custom macro instead.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68126 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-02 10:29:07 +00:00
Paul Cornett
3ca5da9357 Don't cause scroll events for position changes from SetScrollbars, broken in r67326.
Fixes #13301

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68121 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-01 17:44:49 +00:00
Vadim Zeitlin
d883acaaa0 Initialize variable in UTF{16,32} conversion code to avoid warnings.
In optimized build g++ warned about the second element of two-element array
passed to encode_utf16() being possibly uninitialized. This wasn't really the
case but change the code just to avoid the warnings.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68112 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-06-30 12:20:54 +00:00
Vadim Zeitlin
99ef43728a Change the loop condition to avoid comparing unsigned value with 0.
This resulted in (useful) g++ warning and didn't make any sense in any case.

Check for the loop variable value being 0 at the end of the loop instead now.
If the old code was correct it shouldn't change its behaviour and if not, this
might fix a bug.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68100 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-06-29 17:50:32 +00:00
Vadim Zeitlin
917b008579 Fix two harmless gcc warnings about missing initializers.
Add values to make g++ -Wmissing-field-initializers warnings (implicitly
enabled by -Wextra) go away.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68098 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-06-29 17:50:27 +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
Vadim Zeitlin
f2b099261f Generate code using IsOk() instead of Ok() in stc.cpp.
Modify the script generating this file itself to produce IsOk() instead of
Ok(). This replaces the changes of r67681 which only modified the generated
file.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68085 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-06-29 08:37:46 +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
Robin Dunn
fc2f6088e7 Paper size fix for wxOSX-cocoa
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68045 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-06-25 00:15:00 +00:00
Vadim Zeitlin
ab2ef6e0e6 Fix bug with out of range date in wxMSW wxDatePickerCtrl under XP too.
The bug fix of r67990 relied on DateTime_SetSystemtime() returning FALSE if
setting the date failed but, unfortunately, this function doesn't behave
correctly under XP (and presumably earlier systems) and returns TRUE even if
it didn't actually change the date because it was out of range.

Implement an alternative solution not relying on this function return value
but simply checking the range ourselves.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68027 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-06-22 22:58:11 +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
Julian Smart
77ea6c48d3 Fixed shift-click selection
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67995 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-06-21 09:56:32 +00:00
Vadim Zeitlin
5f899cbe91 Fix bug when setting an out of range date in wxMSW wxDatePickerCtrl.
The internally stored date value was getting out of sync with the real date in
the control itself when SetValue() was called with a date out of the currently
set range. This resulted in an assert failure and other unpleasantness later.

Fix the bug and add a unit test checking for it (and also with some other
basic wxDatePickerCtrl checks).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67990 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-06-19 22:46:45 +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
459c6f2a8a Suppress harmless gcc warnings about enum elements unhandled in switch.
Latest mingw64 MinGW compiler has the headers required for enabling
wxUSE_DBGHELP, fix the warnings given by g++ when compiling wxDbgHelpDLL code.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67986 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-06-19 22:46:32 +00:00
Paul Cornett
af806b13aa fix GTKGetLabel() and DoApplyWidgetStyle(): children are GtkWidget, not GtkBoxChild
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67985 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-06-19 20:52:26 +00:00
Stefan Csomor
2ebfa9c04c fixing iphone build
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67979 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-06-18 15:23:39 +00:00
Vadim Zeitlin
bb60690d1d Fix g++ warnings about initialized variables being declared extern.
Don't declare variables extern when initializing them, this is already the
case implicitly anyhow and explicit "extern" results in g++ warnings.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67973 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-06-17 21:53:32 +00:00
Vadim Zeitlin
6a5f121bf9 Use GdipStringFormatCachedGenericTypographic hack for MinGW as well.
When using GDI+ with MinGW, the same hack as for Cygwin is needed (see r66787)
as it uses the same w32api headers and libraries for GDI+ support (if it has
them at all).

See #11716.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67972 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-06-17 21:53:28 +00:00
Vadim Zeitlin
eeac2326b0 Avoid problems with conflicting UINT16 definitions in Cygwin headers.
UINT16 is incorrectly defined inside Gdiplus namespace in w32api gdiplus.h
used by Cygwin and MinGW resulting in compilation errors about ambiguous
symbols.

Fix this by forcefully redefining UINT16 in our own code.

Closes #13113.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67970 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-06-17 21:53:22 +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
Vadim Zeitlin
3d55f45e94 Suppress various harmless warnings in MinGW build with -Wconversion.
No real changes, simply add casts to make the implicit conversions that g++
warns about when using -Wconversion explicit.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67964 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-06-16 15:14:02 +00:00
Vadim Zeitlin
616ad49187 Make wxUIActionSimulator mouse move events marginally more precise.
Round the values instead of truncating them when converting from pixel values
to Win32 ::mouse_event() 0..65535 scale. This probably doesn't make any real
difference in practice but seems more correct and also avoids g++ warnings.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67963 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-06-16 15:13:59 +00:00