Commit Graph

16231 Commits

Author SHA1 Message Date
Václav Slavík
3821abef51 Handle WM_*MENU* events in wxWindow.
Contrary to MSDN implications, at least some of these messages are not
actually sent to the TLW for popup menus, but to the owning window or
even its parent window (!).

Move the handling of these events from wxTLW to wxWindow.  Move menu
depth tracking to wxFrame, because it only makes sense for frame's
menus and move DoGiveHelp() from wxTLW to wxFrame.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76721 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-18 12:51:39 +00:00
Tim Kosse
9280f836c2 Under certain conditions, selecting a menu item triggers an assert in toplevel.cpp:1539:
wxASSERT_MSG( m_menuDepth > 0, wxS("No open menus?") );

The conditions to reproduce:
- Windows 8.1
- An application manifest that indicates Windows 8.1 compatibility

In this case, wxGetWinVersion() used to return wxWinVersion_Unknown (Without a manifest indicating 8.1 support, wxWinVersion_8 is being returned). This in turn causes the version check against Windows98 in toplevel.cpp:450 to fail, ultimately leading to the mentioned assert.

See http://msdn.microsoft.com/en-us/library/windows/desktop/ms724439%28v=vs.85%29.aspx for details.

This patch on trunk adjusts adds the wxWinVersion_8_1 enum value and returns it on Windows 8.1 if the program is manifested as such.

In future, a different approach needs to be chosen that does not depend the deprecated GetVersion function.




git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76714 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-15 22:17:39 +00:00
Vadim Zeitlin
895a58609b Fix misspellings of "occurred" and "occurrences".
See https://github.com/wxWidgets/wxWidgets/pull/9

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76687 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-11 15:25:33 +00:00
Vadim Zeitlin
2594929d9f Move include/wx/unix/execute.h to include/wx/unix/private.
This header is private and is not supposed to be used from the outside the
library.

See #16325.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76683 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-11 14:55:08 +00:00
Vadim Zeitlin
b6469b4369 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.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76676 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-09 20:33:17 +00:00
Vadim Zeitlin
af692f090b 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.

Closes #4440.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76675 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-09 20:33:11 +00:00
Vadim Zeitlin
82112b5de2 Fix changing wxWindow ID in wxMSW.
This must be done both at wxWidgets and MSW level, otherwise changing the ID
results in window not recognizing itself as the recipient of the messages sent
to it by Windows.

Closes #3697.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76672 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-09 00:54:12 +00:00
Vadim Zeitlin
5979baa0e2 Compilation fix for wxMSW 64 bit build with icc.
This compiler doesn't want to narrow INVALID_HANDLE_VALUE to int, so use
wxUIntPtr instead.

See #16233.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76659 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-02 18:14:22 +00:00
Vadim Zeitlin
649deb111a Explicitly convert int to HANDLE to fix 64 bit wxMSW build.
This fixes g++ compilation problem in 64 bit mode after the changes of r76653,
it complained about comparing pointer (HANDLE) with an integer. It might also
fix compilation with icc.

See #16233.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76658 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-02 13:15:19 +00:00
Vadim Zeitlin
35434eea52 Hide tooltip when its associated window is hidden in wxMSW.
Don't leave the tooltip shown on screen if the window it was shown for was
hidden or iconized (without moving the mouse, as that would have dismissed the
tooltip as well).

Closes #16265.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76657 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-02 01:15:39 +00:00
Vadim Zeitlin
70bcb9ac46 Add a simple wrapper for Windows event handle object.
This will be used instead of raw events in wxMSW code in the upcoming commit.

See #16233.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76654 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-02 01:15:25 +00:00
Vadim Zeitlin
fb1c8d4fd8 Allow wxMSW AutoHANDLE helper to be used with more kinds of handles.
Make AutoHANDLE a template to allow specifying the invalid handle value, which
is inconsistent across Win32 API and is INVALID_HANDLE_VALUE for most kinds of
handles but 0 for some others, e.g. event object handles.

See #16233.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76653 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-02 01:15:20 +00:00
Vadim Zeitlin
40f2cf0a78 Allow access to the currently shown wxInfoBar buttons.
Add wxInfoBar::GetButtonCount(), GetButtonId() and HasButtonId() methods.

Closes #15110.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76651 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-02 01:15:11 +00:00
Vadim Zeitlin
ceb39f4174 Allow viewing read-only long string wxPropertyGrid properties values.
When wxLongStringProperty is read-only, it should still be possible to view
its value by opening the dialog normally used for editing it, otherwise this
value cannot be seen (nor copied, which is also useful sometimes) at all.

Closes #14945.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76631 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-05-31 14:21:23 +00:00
Vadim Zeitlin
d2d7a07b7a 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/trunk@76600 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-05-22 20:35:50 +00:00
Václav Slavík
9194902451 Fix warning in wxSimplebook::UpdateSelectedPage().
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76591 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-05-21 07:41:15 +00:00
Stefan Csomor
cea11b591e in order to get all focus set events, store field in editor and catch becomeFirstResponder there, see #14269
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76578 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-05-18 16:33:57 +00:00
Stefan Csomor
e65104f198 refactoring to common code for updating selections, using common focus code, see #14269
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76576 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-05-18 10:46:12 +00:00
Stefan Csomor
2b99f92872 refactoring to common code for focus set and lost events, so that changes can be made a single place, see #14269
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76575 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-05-18 10:44:24 +00:00
Dimitri Schoolwerth
0141cbe551 Add 3 missing declarations for wxPoint2DInt non-member operator functions.
Three duplicate declarations were removed in r70493 instead of replacing them with the missing declarations.

Closes #10946.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76568 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-05-17 21:31:25 +00:00
Dimitri Schoolwerth
7f26fff6b4 Cast arguments passed to wxPoint2DInt constructor.
Cast them to wxInt32 (instead of int) as that is the type of the wxPoint2DInt members m_x and m_y.

See #10946.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76567 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-05-17 21:29:49 +00:00
Dimitri Schoolwerth
987814bb7c Fix wxPoint2DInt::operator*= and wxPoint2DInt::operator/= .
These operator functions are respectively adding and subtracting their arguments. Instead let the functions multiply and divide their arguments (like their wxPoint2DDouble counterparts were doing already).

See #10946.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76566 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-05-17 21:26:42 +00:00
Stefan Csomor
91f25e0bbd using the base class wxHAS_NATIVE_ENABLED_MANAGEMENT in cocoa disabling/enabling child windows, fixes #16232, fixes #15495
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76565 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-05-17 19:14:21 +00:00
Vadim Zeitlin
ebc6161c59 Compilation fixes to wxPropertyGrid after r76558.
We can't use _() in the static wxChar* arrays: first, because this doesn't
compile and second because if it did compile, it still wouldn't work as no
message catalogs are loaded yet when the static arrays are initialized.

Use wxTRANSLATE() instead and arrange for the strings to be translated when
they are really used. This is rather ugly and perhaps it would be better to
avoid passing untranslated labels array to the property classes but at least
the code compiles again now.

See #16266.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76562 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-05-17 13:41:27 +00:00
Vadim Zeitlin
a380c1e46f Add public wxDegToRad() and wxRadToDeg() functions.
Define these functions just once in wx/math.h instead of duplicating them in a
dozen of places.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76555 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-05-17 12:29:15 +00:00
Dimitri Schoolwerth
aeef5a4c29 Compilation fix for --disable-precomp-headers in combination with --disable-all-features .
Fix an error for compile step of "Linux i386 wxGTK trunk no features" buildbot by forward declaring wxWindow class.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76550 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-05-17 11:25:54 +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
36666a975f Add default argument for the overridden base class Connect() in wxHTTP.
This allows to call Connect(wxIPV4address) on a wxHTTP object, without
having to explicitly specify the second argument (this was documented as being
a Watcom-specific problem, but actually it wasn't).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76545 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-05-16 13:00:32 +00:00
Vadim Zeitlin
3a9237d78b Update wx/android/setup.h automatically from wx/setup_inc.h too.
Not sure if this file is actually used at all right now, but update it to
avoid discrepancies with the other setup[0].h.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76544 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-05-16 13:00:29 +00:00
Vadim Zeitlin
0d4ad161d5 Remove support for Win9x from wxMSW.
Most importantly, this allows us to remove all MSLU-related stuff.

Some functions which were previously loaded dynamically can now be just used
directly, too.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76535 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-05-16 02:33:40 +00:00
Vadim Zeitlin
e3c2531b4c Fix MinGW build after MSVC6 removal changes.
Don't define wxUSE_DBGHELP as 1 for MinGW, it was only supposed to be defined
as 1 for MSVC (just for all versions of it now that we don't support MSVC6
which couldn't compile this code).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76534 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-05-16 02:31:48 +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
Stefan Csomor
3da156b1be expose capitalize flag for ios as well
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76524 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-05-13 20:47:15 +00:00
Stefan Csomor
705f6c1c8b allowing compile under ios, where menus are not available
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76521 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-05-13 19:55:12 +00:00
Vadim Zeitlin
5c0bcb7412 Use DWORD instead of unsigned long in wxFileSystemWatcher wxMSW code.
These two types are not the same in 64 bit Cygwin builds, so fix the build by
just using DWORD everywhere.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76506 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-05-12 13:14:36 +00:00
Vadim Zeitlin
63e44ee9e4 Fix tests for __WXMSW__ in non-GUI-only code.
__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
2014-05-12 13:14:33 +00:00
Vadim Zeitlin
8b7398889d Add casts from long to LONG to fix 64 bit Cygwin wxMSW build.
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
2014-05-12 13:14:24 +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
Vadim Zeitlin
b186e411e2 Don't define wxSIZE_T_IS_UINT for Cygwin unconditionally.
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
2014-05-12 13:14:09 +00:00
Dimitri Schoolwerth
546a948206 Added default parameter to EnableCloseButton().
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
2014-05-11 22:51:05 +00:00
Dimitri Schoolwerth
6451d23158 Added support for using OS X' full screen API (available since OS X 10.7).
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
2014-05-11 22:41:13 +00:00
Vadim Zeitlin
490814f21f Do not export template wxMSWOwnerDrawnButton class from the DLL.
This doesn't seem to be necessary even for ICC, finally, see #16237.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76492 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-05-10 16:15:57 +00:00
Paul Cornett
56fe5f9404 fix build on systems which don't have vsscanf, such as Solaris 8
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76489 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-05-09 15:14:54 +00:00
Paul Cornett
64e97a39ac fix building on IRIX with GCC
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
2014-05-08 17:05:16 +00:00
Vadim Zeitlin
47138ac8fa Add wxStyledTextCtrl copy/paste text events.
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
2014-05-08 14:43:45 +00:00
Vadim Zeitlin
0acb665006 Remove wxStyledTextEvent::m_text and m_dragText.
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
2014-05-08 14:43:38 +00:00