Commit Graph

16119 Commits

Author SHA1 Message Date
Vadim Zeitlin
432ff59772 Make wxVSCROLL explicitly of int type.
Its value (0x80000000) is outside of the int type range on 32 bit platforms,
but we still want to allow using it as an initializer of int and/or long
variables for consistency with the other types, so cast it to int explicitly
to suppress -Wnarrowing warnings from recent g++ which were given when doing
this before.
2015-06-21 16:00:57 +02:00
Vadim Zeitlin
49fb8c25f5 Check that __cplusplus is defined before checking its value.
Avoids harmless in this case warning about __cplusplus being undefined in
comparison.
2015-06-14 15:55:08 +02:00
Vadim Zeitlin
5ac3c9ac7a Provide empty wxDECL_FOR_STRICT_MINGW32() in non-MinGW case.
Fix the build after aa30a2f97a which forgot to
define wxDECL_FOR_STRICT_MINGW32() macro when MinGW was not used at all.
2015-06-14 15:45:27 +02:00
Vadim Zeitlin
1db615c190 Work around a bug in MinGW math.h.
Including standard math.h header with both -O2 and -std=c++NN options results
in compilation error due to a bug in the header, see MinGW bug report at
https://sourceforge.net/p/mingw/bugs/2250/

Work around this to allow the library to compile in release build with
-std=c++11. This is ugly but better than failing to compile at all.
2015-06-14 15:06:19 +02:00
Vadim Zeitlin
aa30a2f97a Fix building and using the library with MinGW -std=c++{98,11} options.
These options enable "strict ANSI" mode in MinGW which omits declarations of
POSIX functions from the standard headers. To allow the library and, possibly
even more importantly, the user code including our headers, to compile with
these options, declare the functions that we need ourselves.

This might appear to go against the spirit of "strict ANSI" mode, but the only
alternative would be to not use such functions at all and silently cripple the
library when -std=c++NN is used, compared to -std=g++NN case, and this doesn't
seem appealing neither.

Closes #16984.
2015-06-14 15:06:19 +02:00
Vadim Zeitlin
2632977f6b Don't attempt using <type_traits> with g++ 4.9.2 in C++98 mode.
g++ 4.9.2 added support of __has_include() but, unlike clang, refuses to
compile the <type_traits> header that is detected as existing now in C++98
mode, so the build was broken with it when not using configure (i.e. under
MSW).

Fix this by, first, testing for C++11 compilers separately (which seems like a
good idea anyhow as it will allow using these headers with other compilers)
and, second, not trusting g++ __has_include() for C++11 headers in C++98 mode.
2015-06-14 15:06:18 +02:00
Vadim Zeitlin
0e3867c967 Remove default argument value from wxIHTMLElement2::setExpression().
This doesn't make much sense for an interface declaration anyhow and produces
a warning from g++ about assigning string literal to (non-const) BSTR pointer.

(this is a backport of eb18bbc8fd from master)
2015-06-14 15:06:17 +02:00
Vadim Zeitlin
1e2af26e47 Recognize MSVC 14 a.k.a. Visual Studio 2015 compiler.
Interpret internal compiler version value 1900 as VC14. Notice that this
required adjusting the computation of the internal version from the
user-visible one because VC13 was skipped (hopefully no black cats crossed
paths with the manager responsible for this decision).

See #16854.

(this is a backport of f350bab from master)
2015-06-13 18:34:54 +04:00
Stefan Csomor
b67dea6fc0 In order to get all focus set events, store field in editor and catch
becomeFirstResponder there

See #14269.

(this is a backport of cea11b5 from master)
2015-06-08 02:44:11 +04:00
Stefan Csomor
7dc6d1876e Refactoring to common code for updating selections, using common focus
code

See #14269.

(this is a backport of e65104f from master)
2015-06-08 02:44:11 +04:00
Stefan Csomor
6749ca7405 Refactoring to common code for focus set and lost events, so that
changes can be made a single place

See #14269.

(this is a backport of 2b99f92 from master)
2015-06-08 02:44:11 +04:00
Stefan Csomor
8d2956100f Using the base class wxHAS_NATIVE_ENABLED_MANAGEMENT in Cocoa
disabling/enabling child windows

Fixes #16232, fixes #15495.

(this is a backport of 91f25e0 from master)
2015-06-08 02:44:11 +04:00
Vadim Zeitlin
7b25b65a2f Add missing wxABI_VERSION checks and version script entries.
Newly overridden virtual methods must be taken in wxABI_VERSION checks as
otherwise any program using the class deriving from the one containing this
method would reference the method in the vtbl of that class and so become
ABI-incompatible with the earlier shared library versions.

Also add wxABI_VERSION guard around the entire wxSimplebookXmlHandler class
added in 3.0.2.
2015-05-27 15:07:05 +02:00
Paul Cornett
0ed1e641d2 backport mouse capture fixes 00cc023 and dc555a9
this change was supposed to be part of 69c7a8c405
2015-05-13 20:19:45 -07:00
Paul Cornett
acc9d5db2f Fix GTK warnings after 92c45ba when TLW is closed while editor is still shown, see #16850 2015-04-26 11:02:26 -07:00
Vadim Zeitlin
62f8950e0e Fix vertical alpha adjustment in wxPixelData<wxImage>::Offset().
Handle "y" parameter correctly when offsetting m_pAlpha, it was just ignored
before, i.e. Offset(x, y) and OffsetY(y) always behaved as if y were 1.
2015-04-01 14:20:10 +02:00
Stefan Csomor
2a13ad64d8 Fix wxOSX build under 10.10.
Use proper types for webkit variants.

Closes #16329.
2015-03-22 01:01:47 +01:00
Artur Wieczorek
baf965ef30 Fix wxPGChoices::Set method.
There is no need to check if referenced array with values is valid since "reference cannot be bound to dereferenced null pointer in well-defined C++ code". Moreover, conditional call of wxPGChoices::Add() methods (one with explicit parameter and one with default one) is not necessary.

This is the backport of r78343.
See #16759 (http://trac.wxwidgets.org/ticket/16759).
2015-02-21 12:15:26 +01:00
Artur Wieczorek
2d8da317c1 Initialize wxPGChoices object properly in its copy ctor if source object has no data.
Internal data must be always initialized whether the source object contains choices data or not.

This is the backport of r78484.
See #16855.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@78515 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2015-02-17 20:52:59 +00:00
Artur Wieczorek
f6bf3de76d Refresh property grid when property is switched to read-only state.
Property grid is refreshed to reflect the new state of the property.

This is the backport of r76875.
See #16306.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@78514 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2015-02-17 20:42:15 +00:00
Václav Slavík
14f052a768 Allow disabling SetProcessDPIAware() call
Add Windows-specific wxMSWDisableSettingHighDPIAware() function then can
be called before startup (i.e. wxEntry() call) to disable wxWidgets'
handling of DPI awareness. This is useful for code embedded in non-wx
applications as well as for purely wx application that are not
HiDPI-ready (although the latter has the option of forcing
dpiAware=false in the manifest).

See also https://groups.google.com/d/msg/wx-dev/Z0VpgzCY34U/f1FfPqGDppMJ
and #16116.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@78406 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2015-01-24 15:00:03 +00:00
Stefan Neis
e086d73560 No real changes, just fixed a couple of typos in comments, fixes #16726.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@78271 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-12-14 11:12:31 +00:00
Paul Cornett
4dccdf3749 fix crashes in wxGTK3 when running with non-X11 backend, see #16688
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@78167 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-11-20 17:04:13 +00:00
Paul Cornett
574a636640 fix creating wxFont with non-ascii name, closes #16671
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@78141 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-11-12 07:43:06 +00:00
Paul Cornett
9adb6da2c9 backport r77741: Return the caption from wxMessageDialog::GetTitle()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@78072 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-10-25 18:05:50 +00:00
Vadim Zeitlin
48ce1b0c87 Don't leave wxSubwindows::m_ids uninitialized.
Normally it's initialized by calling Create(), but don't crash deleting an
invalid pointer in the dtor if Create() hadn't been called.

See #16630.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@78046 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-10-19 12:59:01 +00:00
Václav Slavík
2476c5246e Add support for template NSImages to wxBitmap
wxBitmap uses CGImage instead of NSImage internally and the conversion
looses NSImage metadata.  In particular, it looses the "template"
attribute, which is set for files ending with "Template" and loaded
trough wxArtProvider.

This change makes it easy to use template images with native controls
such as the toolbar.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@78017 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-10-14 08:53:33 +00:00
Vadim Zeitlin
b01e333f89 Fix several rounding problems with float values in wxPropertyGrid.
See also r85980 in the trunk.

Closes #15625.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@77960 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-10-06 12:35:25 +00:00
Vadim Zeitlin
f8506c65a5 Update version to 3.0.3.
Run misc/scripts/inc_release, update version.bkl and changes.txt manually.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@77958 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-10-06 12:35:15 +00:00
Vadim Zeitlin
cbc1dbab9a Allow using ESC as accelerator in wxMSW again.
This ended up being broken due to an interplay between different unrelated
changes (at least r15120 and r41134) which were both correct, but didn't work
well together and resulted in not only preventing IsDialogMessage() from
handling ESC, but also our own accelerator tables.

Fix this by doing the check for IsDialogMessage() brokenness in
MSWProcessMessage() itself, just before calling it, instead of doing it in
MSWShouldPreProcessMessage() which is (and must be) called before
MSWTranslateMessage() which checks for accelerators using ESC.

Closes #3813.

[This is the backport of r77071 from trunk.]

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@77948 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-10-03 01:52:15 +00:00
Vadim Zeitlin
7d94e9fafd Fix handling of bitmaps with alpha channel in wxMSW wxImageList.
Don't use mask and alpha together, this results in visual artefacts and masks
are unnecessary with RGBA bitmaps anyhow.

The only potentially problematic remaining case is mixing bitmaps with alpha
and mask inside the same image list (as we need to indicate whether we use the
mask or not when creating it), but this should probably be rare and in the
meanwhile we can at least RGBA bitmaps with image lists, which includes doing
this implicitly when they are used as button bitmaps.

Also refactor wxBitmap code to extract part of CopyFromIconOrCursor() to allow
reusing it in the newly added MSWUpdateAlpha().

See #11476.

[This is the backport of r75567 from trunk.]

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@77947 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-10-03 01:52:10 +00:00
Vadim Zeitlin
46e1b4b805 Fix generic wxSearchCtrl size/layout code.
Override DoGetBestClientSize() instead of DoGetBestSize(), as we're really
computing just the size of our contents and like this we don't need to hard
code platform-dependent border sizes in this control itself.

Also use the client size in LayoutControls() for the same reason. This also
makes it unnecessary to pass it the width and height as it can find them on
its own. And x and y were never used in the first place, so remove them too.

Finally, center the bitmaps vertically.

Closes #16422.

[This is the backport of r77083 from trunk.]

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@77946 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-10-03 01:52:04 +00:00
Vadim Zeitlin
1f2a74014f Fix changing the label of a submenu in wxMSW.
Use position, not the ID, to find the native menu items to allow the code in
wxMenuItem::SetItemLabel() and DoSetBitmap() to also work with submenus and
not just the normal items.

Closes #16246.

[This is the backport of r76676 from trunk.]

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@77945 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-10-03 01:51:59 +00:00
Vadim Zeitlin
8f4422831a Recognize Intel compiler as MSVC one under Windows in the build options.
The two compilers are binary compatible and by pretending that Intel compiler
is the same as MSVC, we allow using ICC to build applications using DLLs built
with MSVC.

Closes #9437.

(this is a backport of r76425 from trunk).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@77894 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-27 16:14:55 +00:00
Vadim Zeitlin
4752322151 Add default values for wxRichMessageDialog ctor arguments.
Both "caption" and "style" arguments were documented as having default values,
but didn't really have them. Fix this by actually adding them.

Closes #16524.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@77535 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-04 19:44:15 +00:00
Vadim Zeitlin
e0470c82a3 Test for __MINGW64_TOOLCHAIN__ and not __MINGW64__ in wx/filefn.h.
MinGW-w64 headers are the same in 32 and 64 bit cases, so test for these
headers presence with __MINGW64_TOOLCHAIN__ and not for 64 bit build with
__MINGW64__, which should probably not be used anywhere at all.

This fixes problems with wx{Rm,Mk}dir() definitions with MinGW-w64 in
non-Unicode build.

Closes #16362.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@77534 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-04 19:22:21 +00:00
Vadim Zeitlin
32f633a081 Move __MINGW64_TOOLCHAIN__ definition to wx/msw/gccpriv.h.
__MINGW64_VERSION_MAJOR is defined only in _mingw.h, so it was never defined
in wx/compiler.h, included before any other headers and we can't include
_mingw.h for the same reason we must define wxCHECK_MINGW32_VERSION() in
wx/msw/gccpriv.h: this has to be done after defining UNICODE/_UNICODE, but
wx/compiler.h is included before this.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@77533 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-04 19:22:17 +00:00
Vadim Zeitlin
d33d240e47 Include wx/variant.h from wx/msw/ole/oleutils.h.
This ensures that this header is self-contained and can be included without
including wx/variant.h first.

Closes #16522.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@77526 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-03 11:21:31 +00:00
Vadim Zeitlin
1368d4c0c5 Add small wxOleInitializer RAII helper.
Wrap wxOleInitialize()/wxOleUninitialize() in a helper class ensuring that we
never forget to call the latter.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@77513 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-08-29 23:22:39 +00:00
Vadim Zeitlin
03fb8ebf7b Add XRC handler for wxSimplebook.
Similar to wxNotebook but even simpler as wxSimplebook doesn't use images.

Also add wxSimplebook::Create() as the version inherited from wxBookCtrlBase
didn't _quite_ work: we need to add wxBK_TOP style to prevent asserts due to
unknown alignment in the base class when creating wxSimplebook.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@77007 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-08-05 22:00:57 +00:00
Vadim Zeitlin
0de26e62a7 Fix inserting an element of wxArrayString itself back into it.
Do the insertion/addition before deallocating the old memory to allow things
like array.Add(array[0]) to work correctly.

Closes #2290.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@76907 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-07-13 14:27:29 +00:00
Tim Kosse
87ca7e242a wxBitmapComboBoxBase uses wxArrayPtrVoid, so we need to #include "wx/dynarray.h". This fixes a compile error in situations where wx/dynarray.h is not implicitly included through other headers, e.g. when building wx with many features disabled.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@76892 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-07-12 08:31:39 +00:00
Vadim Zeitlin
644af9fa6c Correct the addition of wxLANGUAGE_KABYLE.
Repair (too late?) the ABI breakage for all the language constants following
wxLANGUAGE_KABYLE in alphabetical order by adding this enum element at the end
of the enum instead of in the middle.

Also add wxLANGUAGE_KABYLE to langtabl.txt so that it doesn't disappear when
the generated fragments are updated by running misc/languages/genlang.py the
next time.

This corrects/supersedes r75753.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@76871 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-07-07 17:11:37 +00:00
Tim Kosse
419f0f194e Implement wxGenericListCtrl::EndEditLabel.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@76858 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-07-06 11:31:31 +00:00
Dimitri Schoolwerth
de6fa55214 Fixes for building wxMSW under Cygwin.
Replace a few __WXMSW__ tests with __WINDOWS__ as the former is not
defined any longer (since r73290) when compiling with wxUSE_GUI set to 0.

Tested changes with both wxGTK and wxMSW builds under Cygwin.

Closes #14382.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@76759 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-24 02:47:13 +00:00
Václav Slavík
281f6f7c36 Use IRichEditOleCallback for wxTextCtrl's context menu.
In wxMSW, use IRichEditOleCallback::GetContextMenu() to provide our
default context menu for rich text controls, instead of using
EVT_CONTEXT_MENU.

The latter completely overrides native control's handling and in
particular breaks Windows 8's builtin spellchecking support.

Fall back to the previous non-OLE code for older richtext versions.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@76726 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-18 12:57:34 +00:00
Václav Slavík
5e45443568 Add wxMenu::MSWDetachHMENU().
Make it possible to pass ownership of a wxMenu to win32.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@76725 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-18 12:57:30 +00:00
Vadim Zeitlin
52b452881f Update the version to 3.0.2 and rebake everything.
This is the result of running misc/scripts/inc_release and bakefile_gen.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@76717 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-16 17:50:58 +00:00
Vadim Zeitlin
4357c54bd5 Fix getting position of wxPopupWindow in wxMSW.
Don't offset the returned values by the parent window origin unnecessarily: as
popup windows are created as children of the desktop window in wxMSW, their
coordinates are already expressed in screen coordinate system (which is
exactly the same as display window coordinate system) and we must not try to
translate them to it once again, this is completely wrong and was probably a
left over from earlier wxPopupWindow implementation in which it wasn't created
as a child of desktop.

In 3.0 branch we still need to continue overriding virtual DoGetPosition() for
ABI reasons, but don't do anything in it any more.

Closes #4440.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@76674 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-09 20:30:55 +00:00
Vadim Zeitlin
6ebd5eed16 Return wxWinVersion_[78] correctly from wxMSW wxGetWinVersion().
This is especially important because the workaround of r76152 for IFileDialog
bug under Windows Vista also applied under later Windows versions as they were
not detected correctly.

Closes #16286.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@76599 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-05-22 20:33:48 +00:00