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
|
||||
|
||||
// finds the impl associated with this native control
|
||||
static wxWidgetImpl*
|
||||
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 Associate( WXWidget control, wxWidgetImpl *impl );
|
||||
|
@@ -87,6 +87,12 @@ WXWidget wxWidgetImpl::FindFocus()
|
||||
return control;
|
||||
}
|
||||
|
||||
// no compositing to take into account under carbon
|
||||
wxWidgetImpl* wxWidgetImpl::FindBestFromWXWidget(WXWidget control)
|
||||
{
|
||||
return FindFromWXWidget(control);
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
// Carbon Events
|
||||
// ---------------------------------------------------------------------------
|
||||
|
@@ -71,9 +71,22 @@ NSView* GetFocusedViewInWindow( NSWindow* keyWindow )
|
||||
|
||||
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 )
|
||||
{
|
||||
int x, y, w, h ;
|
||||
|
Reference in New Issue
Block a user