Commit Graph

772 Commits

Author SHA1 Message Date
Vadim Zeitlin
4f846f72de 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-03-17 23:55:46 +01:00
Václav Slavík
94fc40b7ea Make semantic wxICON_XXX styles the canonical ones
Make wxICON_WARNING and wxICON_ERROR the primary constants for their
purpose and define their visual Windows-based synonyms wxICON_HAND and
wxICON_EXCLAMATION in terms of the semantic ones, instead of the other
way around.
2015-03-07 16:15:51 +01:00
Vadim Zeitlin
626aadf02f Use #pragma diagnostic for clang too, not just g++ 4.6+.
Clang seems to support this #pragma just fine and it's useful for disabling
deprecation warnings in wxOSX code.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77476 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-08-24 15:32:13 +00:00
Vadim Zeitlin
df13791078 Merge wxQT branch into the trunk.
This merges in the latest sources from GSoC 2014 wxQt project with just a few
minor corrections, mostly undoing wrong changes to common files in that branch
(results of a previous bad merge?) and getting rid of whitespace-only changes.
Also remove debug logging from wxGrid.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77455 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-08-24 01:50:11 +00:00
Stefan Csomor
c6201f2d70 completing in place swapping macros
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76920 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-07-14 16:03:03 +00:00
Stefan Csomor
14c736b89b fixing commit
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76919 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-07-14 15:50:13 +00:00
Stefan Csomor
b8c3fc0771 adding in place replacements avoiding self assignment
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76918 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-07-14 15:42:34 +00:00
Vadim Zeitlin
fb99672f62 Hopefully finish removing the old wxCocoa port.
Get rid of the rest of __WXCOCOA__ tests in the sources.

Drop configure option for using it.

Also remove the documentation for this port.

This should have also been part of r76735.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76815 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-07-03 22:03:21 +00:00
Dimitri Schoolwerth
dadc0ed341 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/trunk@76759 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-24 02:47:13 +00:00
Stefan Csomor
1a5b712103 using proper types for webkit variants, see #16329
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76743 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-20 08:14:46 +00:00
Vadim Zeitlin
e9f4d80887 Remove checks for ancient gcc/MinGW versions.
Don't test for wxUSE_NORLANDER_HEADERS, this is always true since many, many
years.

Remove tests for gcc version < 3.3, notably 2.95: the minimal supported gcc
version is 3.4.

Closes #15727.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76549 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-05-16 13:01:35 +00:00
Vadim Zeitlin
8c7d31e615 Remove obsolete MSVC version tests.
Don't compare __VISUALC__ with versions 1200 (VC6) and earlier, such tests are
always true or always false now that we don't support VC6 any more, so just
remove them simplifying the code.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76548 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-05-16 13:01:29 +00:00
Vadim Zeitlin
15f255cebb Remove support for Digital Mars compiler.
This compilers is not being developed any longer since many years, drop
support for it.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76547 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-05-16 13:01:23 +00:00
Vadim Zeitlin
49b8d79c87 Remove (Open)Watcom support.
This compiler is not being developed since several years and almost certainly
can't be used to build the current wxWidgets sources anyhow, so remove all
support for it, including a lot of extremely ugly workarounds for its bugs
with template functions.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76546 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-05-16 13:01:06 +00:00
Vadim Zeitlin
01f9accd19 Remove wxPM, wxWidgets port to OS/2.
This port is not used and is not being worked on, so remove it to reduce the
amount of the code which needs to be updated for every global change.

Also remove tests for VisualAge compiler which isn't used since ages.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76533 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-05-15 23:56:58 +00:00
Vadim Zeitlin
f4b80e5337 Remove MSVC6 support.
Don't support this compiler any more, this allows to get rid of tons of
MSVC6-specific workarounds, in particular we can now use Bind() and natural
template functions calls in the library code.

Also remove MSVC6 project and solution files and don't generate them when
bakefile_gen is ran any more (removing the remaining occurrences of msvc6prj
from the bakefiles results in weird bake-time errors, so it's simpler to just
leave them there).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76532 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-05-15 22:32:17 +00:00
Vadim Zeitlin
302fa5ca5f Define __WIN64__ for 64 bit wxMSW builds with gcc too.
Previously __WIN64__ was only defined for 64 bit builds with MSVC, which
resulted in many problems when using 64 bit Cygwin compiler.

Also don't use MSVC-specific __int64 but our wxInt64 for WX{L,W}PARAM and
WXLRESULT definitions in 64 bit builds.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76500 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-05-12 13:14:17 +00:00
Paul Cornett
06469c8dec update comment for wxBG_STYLE_TRANSPARENT
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76296 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-04-07 17:16:44 +00:00
Stefan Csomor
bdb7453c7b adding wxFALLTHROUGH to indicate intended fall through in switch statements
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76236 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-03-31 15:28:55 +00:00
Vadim Zeitlin
62efdabbb8 Disable the use of "override" keyword for MSVC < 11.
While the keyword is indeed supported since MSVC 8, it's only since MSVC 11
that using it doesn't generate C4481 compiler warning ("nonstandard extension
used"), so avoid using it with the earlier versions.

See #16100.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76184 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-03-23 00:56:55 +00:00
Vadim Zeitlin
8d808db43f Put a __cplusplus guard around C++-specific tests in wx/defs.h.
This avoids the warning about __cplusplus being undefined in the recently
added wxOVERRIDE logic and make the existing wx_xxx_cast<>s definitions
simpler.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76177 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-03-20 19:52:45 +00:00
Vadim Zeitlin
78de4fe291 Remove configure test for override keyword.
Detect its support in the code by testing __cplusplus value and using specific
checks for MSVC and Clang as configure detects it as being available when
using recent g++ versions in non-C++11 mode, which do support this keyword but
warn when it is used without -std={gnu,c}++11 option, which makes actually
using it a bad idea in this case.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76174 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-03-20 15:49:07 +00:00
Vadim Zeitlin
33ad33d447 Add wxOVERRIDE and use it in common and wxOSX code.
Make overriding virtual methods more explicit and enable additional checks
provided by C++11 compilers when "override" is used.

Closes #16100.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76173 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-03-20 13:26:28 +00:00
Vadim Zeitlin
e0a255785f Fix Unix build using clang with g++ 4.8 headers.
Don't override HAVE_TR1_TYPE_TRAITS detected by configure with
HAVE_TYPE_TRAITS detected by clang __has_include() as the latter is less
reliable and can return true even when the header is not actually usable, as
it happens with g++ 4.8 <type_traits> in non C++11 mode.

Closes #15915.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75985 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-02-22 22:39:43 +00:00
Vadim Zeitlin
bd30752410 Just deprecate but don't schedule for removal wxNORMAL and friends.
Deprecate the use of the old untyped constants but don't schedule them from
removal in a future wx version by removing "#if WXWIN_COMPATIBILITY_3_0" tests
around their definition and use. Provoking deprecation warnings in the code
using these constants is worth it as they are unclear and it's easy to make
mistakes when using them, but breaking this code compilation outright can't be
justified -- even in the future.

Also use more informational wxDEPRECATED_MSG() instead of a simple
wxDEPRECATED() as it might not be obvious at all how should the code be
updated exactly.

Finally, avoid the use of deprecated constants inside the library itself.

As a side effect, this closes #15814.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75565 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-01-06 12:42:37 +00:00
Paul Cornett
967a94c91a remove WXWIN_COMPATIBILITY_2_6, add WXWIN_COMPATIBILITY_3_0
closes #15792

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75532 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-01-04 20:07:33 +00:00
Václav Slavík
ff7f9c2def Put Services submenu into the Apple menu on OS X.
Native applications have a Services submenu in the apple menu.  wx
applications didn't until now.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75232 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-17 18:03:05 +00:00
Vadim Zeitlin
065d3c385c Define SIZEOF_LONG_LONG for Windows.
This is important not only for consistency with the other platforms but also
because without SIZEOF_LONG_LONG being defined, "%lu" format specifier can't
be used with size_t values under Win64, as Arg_Size_t is not defined correctly
there if SIZEOF_LONG_LONG is unknown.

Closes #15670.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75206 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-16 23:37:33 +00:00
Paul Cornett
1e35c3b915 Silence warnings in headers with MSC -W4
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75014 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-16 16:45:53 +00:00
Vadim Zeitlin
178635b62a Add wxDEPRECATED_MSG() and use it in a couple of places.
This macro should be used instead of wxDEPRECATED() for the new deprecations
as it allows to give a helpful explanatory message (if supported by the
compiler) and also is simpler to use as it doesn't require wrapping the entire
declaration in it but can be simply used before it.

Also add wxDEPRECATED() support for clang as a side effect.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74754 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-09-04 00:14:22 +00:00
Vadim Zeitlin
3f66f6a5b3 Remove all lines containing cvs/svn "$Id$" keyword.
This keyword is not expanded by Git which means it's not replaced with the
correct revision value in the releases made using git-based scripts and it's
confusing to have lines with unexpanded "$Id$" in the released files. As
expanding them with Git is not that simple (it could be done with git archive
and export-subst attribute) and there are not many benefits in having them in
the first place, just remove all these lines.

If nothing else, this will make an eventual transition to Git simpler.

Closes #14487.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74602 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-26 16:02:46 +00:00
Vadim Zeitlin
11bf9fea53 Define wxLongLong_t for Intel compiler.
It supports the same __int64 type and printf() format specifier for it as
MSVC does under Windows.

Closes #15359.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74595 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-25 21:54:58 +00:00
Vadim Zeitlin
168d1f65c1 Reconcile HAVE_VARIADIC_MACROS and wxHAS_VARIADIC_MACROS definitions.
The main user-visible effect of this change is that giving configure
--disable-vararg-macros argument now really disables the use of variadic
macros whereas it didn't disable them in wx/cpp.h before.

It is, of course, also less confusing to not have two very similar but
different symbols.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74489 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-11 22:40:47 +00:00
Václav Slavík
50d2908480 Fix VC++ warnings about __has_include().
The compiler warns about content after defined(__has_included), so avoid
the issue by putting these Clang tests inside one big #ifdef
__has_included block.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74461 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-09 17:29:02 +00:00
Václav Slavík
d459632844 Compilation fix for r74457.
Remove stray #endif from incorrectly merged changes.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74459 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-09 16:12:05 +00:00
Václav Slavík
3a07232f32 Fix OS X compilation in C++11 mode with libc++.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74457 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-09 15:47:13 +00:00
Vadim Zeitlin
540dacb643 Add WX_ATTRIBUTE_UNUSED and use it for typedefs to avoid g++ 4.8 warnings.
g++ 4.8 warns about unused typedef's in local scope resulting in hundreds of
warnings when building wx, suppress them by using WX_ATTRIBUTE_UNUSED for
these typedefs.

Closes #15137.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74272 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-06-23 00:53:15 +00:00
Stefan Csomor
a002ae4e50 forgot to commit ...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74095 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-06-03 11:47:53 +00:00
Vadim Zeitlin
622bc15f11 Add conversions to/from long long to wxUniChar.
Allow conversions to/from long long and unsigned long long values in wxUniChar
for consistency with the other integral types.

Also make the code shorter by using helper wxDO_FOR_INT_TYPES() and
wxDO_FOR_CHAR_INT_TYPES() macros to avoid duplicating the same code for all of
the integral types and having to handle wchar_t (and wxLongLong_t now)
specially because sometimes we may need to overload on it and sometimes not.

Finally, add more tests to check that all the wxUniChar methods compile and
work with all the different types.

Closes #15206.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74029 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-05-19 12:38:12 +00:00
Vadim Zeitlin
67315c8bf9 Add support for wxICON_AUTH_NEEDED to wxMessageDialog.
Allow showing the standard "Authentication needed" dialog in the message boxes
under MSW.

Closes #15121.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73877 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-04-29 12:54:08 +00:00
Václav Slavík
2026acc1e2 Don't include Common-Controls manifest in wxBase apps.
If only the non-GUI portions of wxWidgets are used, the dependency on
Microsoft.Windows.Common-Controls assembly shouldn't be automatically
added to Visual C++. Only do it when compiling GUI code.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73572 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-02-28 13:31:58 +00:00
Vadim Zeitlin
90e95e6117 Rename WXTHREAD_XXX_PRIORITY yo wxPRIORITY_XXX.
This will allow to reuse the same constants for the process priorities in an
upcoming commit.

See #14931.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73405 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-01-20 02:10:07 +00:00
Vadim Zeitlin
33f9dbda89 Add wxGCC_WARNING_{SUPPRESS,RESTORE} macros and use them for -Wfloat-equal.
Suppress the warnings about comparing floating point values for equality in
wxWidgets headers when the user code is compiled with -Wfloat-equal (at least
when using g++ 4.6 or later).

Closes #14895.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73280 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-12-28 00:44:01 +00:00
Vadim Zeitlin
a0e5592007 Revert all wxNOEXCEPT-related changes.
This reverts r72978, 72984, 72989 and 72992. Do not use wxNOEXCEPT for
wxTextCtrl dtor as this breaks compilation of any user-defined classes
inheriting from it unless they use wxNOEXCEPT as well and the benefits
(fixing a harmless warning for the niche ICC compiler) are just not worth
the compatibility breakage.

See #14826.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72993 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-11-20 12:49:03 +00:00
Vadim Zeitlin
1d9f819c69 Add wxNOEXCEPT and use it for std::streambuf-derived classes.
This fixes warnings from Intel compiler about overriding function using a
different exception specification than the base one and also incidentally
provides a handy macro that can be useful in other situations.

Closes #14826.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72978 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-11-17 23:56:23 +00:00
Vadim Zeitlin
105b2ca747 No changes, just fix some typos in the comments in the headers.
Closes #14665.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72500 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-09-17 11:07:30 +00:00
Vadim Zeitlin
6d93e28adf Fix comparisons of char and wchar_t with wxUniChar[Ref].
Comparisons didn't work correctly in the other direction as they were not
reversed as needed. Fix this by adding wxDEFINE_COMPARISON_REV() macro which
defines comparisons in terms of the reverse operations and use it for both
wxUniChar and wxUniCharRef.

Closes #14547.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72268 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-07-31 16:49:36 +00:00
Vadim Zeitlin
da0ee16ef9 Use __DARWIN__ instead of __WXOSX__ in non-GUI code.
This fixes compilation of non-wxOSX ports (e.g. wxGTK) under OS X.

Also make the difference between the two symbols more clear in the
documentation.

Closes #14503.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72180 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-07-23 15:03:42 +00:00
Vadim Zeitlin
c17eafaaf1 Added internal wxHatchStyle enum.
It's annoying that the same code for hatched pens and brushes can't be reused
without relying on deprecated wxXXX_HATCH constants, so add new,
non-deprecated, wxHatchStyle enum that can be used in such code.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71905 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-06-30 23:41:15 +00:00
Paul Cornett
9dc44eff02 support for GTK3
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71894 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-06-30 20:39:06 +00:00