Commit Graph

133 Commits

Author SHA1 Message Date
Vadim Zeitlin
842dd1cfd9 Add wxWindow::EnableTouchEvents()
Don't request touch event generation for all windows by default, this
has an inherent overhead and is not needed for 99% of the application
windows, so require calling EnableTouchEvents() explicitly to do it
instead.

Note that this requires properly initializing gesture recognizers in
wxOSX now that they're not always allocated, otherwise releasing them
when destroying the window would crash.
2017-11-22 02:24:24 +01:00
Artur Wieczorek
8dd2ac3016 Implement DragAcceptFiles() only when wxUSE_DRAG_AND_DROP==1
This virtual method is implemented in wxWindowBase class only when
wxUSE_DRAG_AND_DROP==1, so it should be re-implemented in the derived class
wxWindowMac also only when wxUSE_DRAG_AND_DROP==1.
2017-08-01 21:36:26 +02:00
Artur Wieczorek
f81cc8e61e Fix compilation when wxUSE_SPINCTRL==0
In wxWindowMac code there is a reference to wxSpinButton (not wxSpinCtrl),
so we need to include wxSpinButton's header file.
2017-08-01 21:35:38 +02:00
Paul Cornett
dd3c62660b Remove hard TABs and trailing spaces
no real changes
2017-06-18 23:14:43 -07:00
John Roberts
9e83d415ed Remove unused global variable left over from Carbon
This "g_MacLastWindow" was only used in Carbon code and should have been removed
in 5ba67c67e4.
2017-05-31 13:13:21 +02:00
Václav Slavík
2b342e8777 Don't leak associations in wxCocoaDataViewControl
Fix ClearColumns() to release associations between m_OutlineView and
native Cocoa control when re-creating the latter. Previously it only
created a new association, but left the old one with no-deleted native
control in the map.

Fixes #17485.
2017-01-05 16:35:04 +01:00
Václav Slavík
98f5315405 Don't set initial label in wxNativeWindow on OS X
Differentiate between setting the label from SetLabel() and from
SetPeer() (i.e. initially), because some native controls shouldn't have
an empty string set as their intitial value.

Override SetInitialSize() to be empty for wxNativeWindow in order to
prevent label-setting issues when an unknown, caller-controlled native
widget is attached. Reverts db9baf9aa5,
which was the previous attempt to fix this, but was causing too many
problems elsewhere.
2016-04-29 17:26:02 +02:00
Vadim Zeitlin
5e61689dbf Fix regression with MDI children accelerators
Since the changes of 8034e35391 (see #16870)
accelerators, including the standard ones such as Ctrl-F4 under MSW, didn't
work any longer inside the MDI children.

Fix this by extending IsTopNavigationDomain() to allow for checking whether
the given window should stop propagation of all keyboard events, as wxTLW
does, or only TAB navigation ones as wxMDIChildFrame and wxAuiFloatingFrame
do.
2016-02-28 01:24:20 +01:00
Tobias Taschner
5ba67c67e4 Remove wxOSX/Carbon support.
Cocoa has been the default toolkit in wxWidgets for a long time. There is really no good reason to use Carbon in 2016 and this removes a lot of unused and unmaintained code.
2016-02-01 13:48:48 +01:00
Kinaou Herve
8034e35391 Use IsTopNavigationDomain() in accelerator handling code in all ports
This is more correct than IsTopLevel() as accelerators shouldn't traverse the
"navigation domain" boundaries, by definition, and, even more importantly in
practice, some TLWs shouldn't stop the accelerators propagation, see the next
commit.

See #16870.
2016-01-30 18:40:07 +01:00
Vadim Zeitlin
f74379c751 Avoid duplicate wxEVT_UPDATE_UI for popup menus
Don't call wxMenu::UpdateUI() explicitly in wxMSW, wxGTK and wxOSX code before
showing the popup menu as it is also called when any menu is opened from
port-independent wxFrameBase wxEVT_MENU_OPEN handler, resulting in two events
being generated.

But also don't send the events from wxFrameBase handler only to the frame
itself, by explicitly passing "source" argument to wxMenu::UpdateUI(), as this
prevented the event from being sent to the window popping up the menu. By just
omitting this parameter we ensure that this event is sent to the right window.

Closes #17352 (but notice that there are still duplicate events under OS X,
see #17354).
2016-01-30 17:35:42 +01:00
Václav Slavík
db9baf9aa5 Only set native label if nonempty in wxWindowMac::SetPeer()
Some native controls don't take kindly to being set setStringValue: with
a value invalid for the control (such as empty string for
NSPathControl). Don't do this if the label is empty anyway to avoid
problems with wxNativeWindow when the underlying native control is like
that.
2015-08-15 18:54:02 +02:00
Vadim Zeitlin
0bb45d7387 Remove commented out code in wxWindowMac::MacPostControlCreate().
This code was moved into SetPeer() ~4 years ago in d15694e8, there is really
no need to keep a copy of it here as well.

No real changes.
2015-08-03 17:40:56 +02:00
Tobias Taschner
658eca2896 Avoid run-time warnings for OS X version checks under 10.10+.
Remove UMAGetSystemVersion() function calling which produced the following
warning on the console for every call:

WARNING: The Gestalt selector gestaltSystemVersion is returning 10.9.4 instead
of 10.10.4. Use NSProcessInfo's operatingSystemVersion property to get correct
system version number.*

Replace UMAGetSystemVersion with wxPlatformInfo::CheckOSVersion() which
internally uses wxGetOSVersion, which uses Gestalt calls not resulting in this
runtime warning.

Closes https://github.com/wxWidgets/wxWidgets/pull/55
2015-08-02 03:15:11 +02:00
Tim Kosse
a4681572cc Fix initial position of controls with layout insets in wxOSX.
For such controls (e.g. wxButton, wxChoice, wxGauge), their initial position
was different from the one specified when creating them, even though calling
SetPosition() later did position them at exactly the position passed as
argument.

See #16780.
2015-07-18 02:29:17 +02:00
Dimitri Schoolwerth
8f8d58d193 Use wx-prefixed macros throughout the repository.
Change {DECLARE,IMPLEMENT}_*CLASS and {DECLARE,BEGIN,END}_EVENT_TABLE
occurrences to use the wx-prefixed version of the macros.
2015-04-23 22:00:35 +04:00
Vadim Zeitlin
9c74f1329e Avoid warning about unused variable in wxiOS build.
Define variable only used if wxOSX_USE_COCOA_OR_CARBON inside the check for it.

Closes #16435.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77461 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-08-24 13:35:34 +00:00
Stefan Csomor
1b3cba17e8 guarding against deleted 'self' during the mouse handler, setting peer ptr to NULL during destruction
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76579 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-05-19 16:58:18 +00:00
Stefan Csomor
2497099aaa fixing compile under ios
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76520 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-05-13 19:54:01 +00:00
Stefan Csomor
8ecd1a8b95 fixes #16169
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76302 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-04-08 09:14:11 +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
Václav Slavík
8958ad22cd Don't crash in wxWindowMac::OSXSimulateFocusEvents().
The code didn't properly account for the possibility of wxEVT_KILL_FOCUS
handler deleting the focused window (as happens e.g. in wxListCtrl inline edit
controls). E.g. rapidly clicking wxEditableListBox buttons could trigger a
crash here when sending wxEVT_SET_FOCUS to an already-deleted window.

Use wxWeakRef<> to check if the window is still alive.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75199 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-11-15 18:25:29 +00:00
Dimitri Schoolwerth
bf4ca1d681 Fixed Carbon compilation.
Regression since r74855 and r74954.



git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74970 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-08 20:33:56 +00:00
Václav Slavík
1c2704fe7b Make public headers compatible with Objective-C++ with ARC.
OSXGetViewOrWindow() virtual methods were defined in headers and were casting
NSView*/NSWindow* to void*, which the compiler complains about with ARC
enabled. Rather than writing conditional code in the header, move the
implementations into .cpp files. They were virtual anyway, so this is no less
efficient, and doesn't leave any problematic code in public headers.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74855 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-09-21 10:11:08 +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
4e2a1db748 Handle wxALWAYS_SHOW_SB in wxOSX.
Initialize m_[hv]ScrollBarAlwaysShown to true if this flag is given when
creating the window.

Closes #15344.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74567 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-17 17:27:00 +00:00
Stefan Csomor
c93a9c50a5 never return negative client sizes, fixes #15338
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74538 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-16 05:13:35 +00:00
Stefan Csomor
1829d71c40 using common GetContentScaleFactor throughout part 2/2
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74256 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-06-19 20:29:56 +00:00
Stefan Csomor
f86190702b adding magnification API into the wxWindow classes for best retina support
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74247 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-06-17 17:41:34 +00:00
Stefan Csomor
3678169caa adding comment
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74102 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-06-04 06:27:02 +00:00
Stefan Csomor
cf83b0cfb6 refactoring SizeEvent sending
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74096 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-06-03 12:58:29 +00:00
Stefan Csomor
e80711dd54 make sure button clicks etc. on a popup window don't lead to a dismissal because their GetWindow()/parent = popup check didn't work
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74090 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-06-03 08:30:33 +00:00
Stefan Csomor
b206de3205 don't take resize indicators into account if we are at 10.7 or higher, they don't exist anymore … see #15187
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74087 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-06-02 09:57:26 +00:00
Vadim Zeitlin
ce7fe42e84 Provide shorter synonyms for wxEVT_XXX constants.
Use the same short names as are used by the event table macros for the event
type constants themselves. This makes them much more comfortable to use, e.g.
Bind(wxEVT_BUTTON) compared to Bind(wxEVT_COMMAND_BUTTON_CLICKED).

The old long names are still kept for backwards compatibility and shouldn't be
removed as it doesn't really cost anything to continue providing them, but all
new event types should only use the short versions.

Closes #10661.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73850 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-04-25 10:11:03 +00:00
Vadim Zeitlin
00a399c062 Remove wxTextCtrl::OnEnabled() hack from wxGTK.
Don't change the background colour when the control is being enabled or
disabled, it doesn't seem necessary and it's unclear why was this added by
r10179 in the first place. It does result in problems however as it could
somehow make the selection of wxTextCtrl invisible when it lost focus and so
fixes a serious usability problem which happened to all wxTextCtrls for which
a wxEVT_UPDATE_UI handler using wxUpdateUIEvent::Enable() was defined.

Closes #14898.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73756 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-03-31 01:12:21 +00:00
Stefan Csomor
f1d0d07d2a trying to solve cursor update problems with AUI, refs #15072
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73636 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-03-10 14:20:36 +00:00
Paul Cornett
784d9056f4 sizeof(char) is 1. By definition.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73407 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-01-20 03:08:33 +00:00
Vadim Zeitlin
2392a466b2 Spelling fixes in comments in wxOSX.
No real changes.

Closes #14932.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73314 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-12-29 20:15:44 +00:00
Stefan Csomor
cb04da13bd support for inheriting non-standard attributes (explicit fonts instead of window variants), fixes #3583
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73047 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-11-28 10:13:41 +00:00
Stefan Csomor
3af58289f5 support for simulating focus events since not all controls can be focused
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73044 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-11-27 19:09:41 +00:00
Stefan Csomor
2ab3802522 support for freeze and thaw under cocoa
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72924 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-11-08 15:46:23 +00:00
Vadim Zeitlin
ce63f2e9eb Make hack for button creation in wxOSX more robust.
Don't crash when creating a plain wxButton with wxBU_NOTEXT style. This
happened because we skipped creating the peer (real implementation) in this
case entirely on the assumption that we were creating a wxBitmapButton, but
this is not necessarily the case. So now test that the creation of the peer is
really disabled before skipping it (this required adding ShouldCreatePeer()
accessor).

Merging wxWidgetImpl::CreateButton() and CreateBitmapButton() (and the same
thing for toggle buttons) would still be a better solution but while it's
trivial to do for Cocoa, it isn't for Carbon. And we can't use a single
function for Cocoa but different functions for Carbon, so for now just
continue to use this hack.

Closes #13622.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72896 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-11-04 23:54:37 +00:00
Stefan Csomor
87fcb4945a remove duplicate code
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72392 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-08-29 07:11:20 +00:00
Vadim Zeitlin
723aa01a83 Build fix for wxOSX after removing position in MacCreateKeyEvent().
This fixes compilation after the changes of r72207.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72209 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-07-24 21:44:32 +00:00
Stefan Csomor
5ce7b0b55c adding native hook for drop target
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71914 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-07-01 15:45:15 +00:00
Stefan Csomor
0601befc27 fixing c++11 build
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71478 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-18 09:56:33 +00:00
Stefan Csomor
977b5d7d8e fixes #14110
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70936 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-03-18 18:06:56 +00:00
Julian Smart
6062fe5c9e Added MacInternalOnSize() to allow windows to resize themselves independently of size events
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70765 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-03-01 15:04:42 +00:00
Stefan Csomor
2d0744aa1b making sure eventual borders get updated when windows are shown
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70663 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-02-21 20:22:16 +00:00
Stefan Csomor
91722d7412 making sure eventual borders get updated when windows are hidden
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70661 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-02-21 16:23:39 +00:00