__WXMSW__ is not defined when compiling wxBase, so the tests which were meant
to prevent using Unix event loop classes under Cygwin (under which both
__UNIX__ and __WINDOWS__, but not __WXMSW__, are defined) failed, breaking
compilation of all wxEventLoop-related code in wxBase in Cygwin builds.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76505 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
They are not available there when not using MinGW headers, e.g. in 64 bit
builds.
Also simplify the code by using wxHAS_DRIVE_FUNCTIONS instead of complicated
(and sometimes negated) checks for MinGW32 version.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76504 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Similarly to the problem with WXDWORD and DWORD, LCID is actually an unsigned
int and not unsigned long in 64 bit Cygwin builds, so it's a different type.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76503 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
In 64 bits, LONG is actually defined as int in Cygwin gcc headers, so is
different from long -- even if both types use identical representation.
Just add the casts to fix this for now, as this is the smallest ABI-preserving
change. Ideally, something better and less ugly would need to be done in the
future.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76502 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
WXDWORD is defined as unsigned long, while DWORD is defined as unsigned int in
64 bit builds using Cygwin gcc, so they are not the same type (although they
do have the same size) and using the latter instead of the former in the
function definition results in errors in this build configuration.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76501 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
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
This breaks 64 bit Cygwin builds and is unnecessary for 32 bit ones where
configure already defines wxSIZE_T_IS_UINT correctly.
Closes#16130.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76498 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Use "flag & bitmask" instead of "flag && bitmask" (resulted in LLVM compiler warning: "Use of logical '&&' with constant operand").
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76497 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Previously the default parameter was only available in wxMSW and wxGTK. Added it to the base class as well to allow EnableCloseButton() calls without a parameter under other platforms too.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76496 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Added EnableFullScreenView() to have a full screen button in the title bar and also allowing ShowFullScreen() to make use of the newer full screen API.
See #14357.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76495 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This test keeps failing just because the buildbot machine are too heavily
loaded. This is not really an error, so just avoid running this test there.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76494 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Use the correct HDC, inheriting the right text orientation, when creating
wxMemoryDC in SurfaceImpl code.
There may still be problems with the actual RTL languages, but at the very
least English text displayed in RTL locale is not mirrored any more.
Closes#16230.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76493 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
It's impossible to know what problem this was supposed to fix (it's been there
since the Dawn of Time: r2), but it prevents stddef.h from defining ptrdiff_t,
among others. We need ptrdiff_t.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76488 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Add wxEVT_STC_CLIPBOARD_{COPY,PASTE} events, allowing to transform the text
being copied from or pasted into wxStyledTextCtrl.
Closes#16191.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76487 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
These fields were unnecessary and duplicated m_cmdString inherited from the
base class.
Also use base class GetString() instead of the redundant GetText() and
GetDragText() in the code, even though these methods are still kept for
backwards compatibility.
See #16191.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76486 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This class shouldn't need to be exported but not doing it breaks builds using
LTCG with Intel compiler, so do export it to avoid this problem.
Closes#16237.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76485 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Add wxCONTROL_NONE which is just a symbolic name for 0 and use it in the code
to avoid g++ 4.8 warnings about mixing enum and int in conditional expression.
Closes#16242.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76484 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Since the addition of wxMSWOwnerDrawnButton, DLL builds started generated a
lot of warnings about using this non DLL-exported class as base class for the
DLL-exported wxCheckBox and wxRadioButton.
Simply suppress these warnings as they are harmless in this case because the
base class has no static data, which is the real problem this warning hints at.
Closes#16237.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76478 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This option is common to all projects and is defined in the global properties
file, so it doesn't need to be present in the projects themselves at all.
See #16236.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76476 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
We want to have debug information even for the release builds as it doesn't
affect the binaries produced but greatly helps when debugging, so create PDB
for all release builds as well in the manually maintained MSVS files (this was
already the case for Win32 release builds but not x64 ones for some reason).
This also fixes the problem with "None" being an invalid value for
DebugInformationFormat with MSVC 10 as a side effect.
Closes#16236.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76475 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
The default implementation doesn't work for this reference-like class, and
this breaks not only swap() itself (see #14694), but also any algorithms using
it, such as std::reverse().
Fix this by providing our own specialization which does work correctly.
Closes#16234.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76474 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Let the user code put wxMDIParentFrame::GetClientWindow() into a sizer and
manage it as any other window, instead of having to do it manually.
Closes#16196.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76473 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
And don't use "RootWindow" in the name, it is not a root window in the X11 sense.
Also add wxGetPangoContext() to get access to a PangoContext.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76465 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Replace the out of date comment saying that GTK+ doesn't have a function to do
this with a TODO comment mentioning the name of the function which should be
used here.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76463 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Copy and paste rectangular selections in the standard format, this is
especially important under Windows where a (de facto) standard clipboard
format for such selections exists.
Also fix handling of multipaste, i.e. pasting clipboard contents into several
locations at once.
Closes#16221.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76462 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Ensure that we bring the native button in sync with the real state of the
radio button when we switch to normal state.
Also avoid using BM_GETCHECK for the owner drawn buttons as we don't use
BM_SETCHECK for them (as it's useless).
See #10137.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76460 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Create wxMSWOwnerDrawnButton class which contains all of this code.
Currently the methods of this class are (still) implemented in
src/msw/control.cpp.
See #10137.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76459 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
The size of the native buttons has changed between XP and Vista, so add
version check to draw the buttons of correct size under all Windows versions.
See #10137.
REBASE: squash with aa5d7c5 Fix the size of owner-drawn check and radio boxes under Vista and later.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76457 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Native radio buttons don't support changing their foreground colour, so use
owner drawn buttons if SetForegroundColour() was called, similarly to what was
already done for wxCheckBox.
Closes#10137.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76456 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Move it from wxCheckBox to wxControl to allow reusing this code in other
classes, notably wxRadioButton in the upcoming commits.
See #10137.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76455 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775