adding a more extensive version to arrive at the impl when given a native control, taking into account eg the composited controls of a scrollview
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74105 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -341,9 +341,16 @@ public :
|
|||||||
|
|
||||||
// static methods for associating native controls and their implementations
|
// static methods for associating native controls and their implementations
|
||||||
|
|
||||||
|
// finds the impl associated with this native control
|
||||||
static wxWidgetImpl*
|
static wxWidgetImpl*
|
||||||
FindFromWXWidget(WXWidget control);
|
FindFromWXWidget(WXWidget control);
|
||||||
|
|
||||||
|
// finds the impl associated with this native control, if the native control itself is not known
|
||||||
|
// also checks whether its parent is eg a registered scrollview, ie whether the control is a native subpart
|
||||||
|
// of a known control
|
||||||
|
static wxWidgetImpl*
|
||||||
|
FindBestFromWXWidget(WXWidget control);
|
||||||
|
|
||||||
static void RemoveAssociations( wxWidgetImpl* impl);
|
static void RemoveAssociations( wxWidgetImpl* impl);
|
||||||
|
|
||||||
static void Associate( WXWidget control, wxWidgetImpl *impl );
|
static void Associate( WXWidget control, wxWidgetImpl *impl );
|
||||||
|
@@ -87,6 +87,12 @@ WXWidget wxWidgetImpl::FindFocus()
|
|||||||
return control;
|
return control;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// no compositing to take into account under carbon
|
||||||
|
wxWidgetImpl* wxWidgetImpl::FindBestFromWXWidget(WXWidget control)
|
||||||
|
{
|
||||||
|
return FindFromWXWidget(control);
|
||||||
|
}
|
||||||
|
|
||||||
// ---------------------------------------------------------------------------
|
// ---------------------------------------------------------------------------
|
||||||
// Carbon Events
|
// Carbon Events
|
||||||
// ---------------------------------------------------------------------------
|
// ---------------------------------------------------------------------------
|
||||||
|
@@ -71,9 +71,22 @@ NSView* GetFocusedViewInWindow( NSWindow* keyWindow )
|
|||||||
|
|
||||||
WXWidget wxWidgetImpl::FindFocus()
|
WXWidget wxWidgetImpl::FindFocus()
|
||||||
{
|
{
|
||||||
return GetFocusedViewInWindow( [NSApp keyWindow] );
|
return GetFocusedViewInWindow( [NSApp keyWindow] );;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
wxWidgetImpl* wxWidgetImpl::FindBestFromWXWidget(WXWidget control)
|
||||||
|
{
|
||||||
|
wxWidgetImpl* impl = FindFromWXWidget(control);
|
||||||
|
|
||||||
|
// NSScrollViews can have their subviews like NSClipView
|
||||||
|
// therefore check and use the NSScrollView peer in that case
|
||||||
|
if ( impl == NULL && [[control superview] isKindOfClass:[NSScrollView class]])
|
||||||
|
impl = FindFromWXWidget([control superview]);
|
||||||
|
|
||||||
|
return impl;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
NSRect wxOSXGetFrameForControl( wxWindowMac* window , const wxPoint& pos , const wxSize &size , bool adjustForOrigin )
|
NSRect wxOSXGetFrameForControl( wxWindowMac* window , const wxPoint& pos , const wxSize &size , bool adjustForOrigin )
|
||||||
{
|
{
|
||||||
int x, y, w, h ;
|
int x, y, w, h ;
|
||||||
|
Reference in New Issue
Block a user