// Author: Stefan Csomor
// Modified by:
// Created: 1998-01-01
-// RCS-ID: $Id$
// Copyright: (c) Stefan Csomor
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
m_windowVariant = parent->GetWindowVariant() ;
+ m_hScrollBarAlwaysShown =
+ m_vScrollBarAlwaysShown = HasFlag(wxALWAYS_SHOW_SB);
+
if ( m_peer != kOSXNoWidgetImpl )
{
SetPeer(wxWidgetImpl::CreateUserPane( this, parent, id, pos, size , style, GetExtraStyle() ));
{
wxFocusEvent event( wxEVT_KILL_FOCUS, former->GetId());
event.SetEventObject(former);
+ event.SetWindow(this);
former->HandleWindowEvent(event) ;
}
{
wxFocusEvent event(wxEVT_SET_FOCUS, former->GetId());
event.SetEventObject(former);
+ event.SetWindow(this);
former->HandleWindowEvent(event);
}
}
#endif
if (x)
- *x = ww;
+ {
+ // we shouldn't return invalid width
+ if ( ww < 0 )
+ ww = 0;
+
+ *x = ww;
+ }
+
if (y)
- *y = hh;
+ {
+ // we shouldn't return invalid height
+ if ( hh < 0 )
+ hh = 0;
+
+ *y = hh;
+ }
}
bool wxWindowMac::SetCursor(const wxCursor& cursor)
if ( doResize )
{
MacRepositionScrollBars() ;
- MacOnInternalSize();
- wxSize size(actualWidth, actualHeight);
- wxSizeEvent event(size, m_windowId);
- event.SetEventObject(this);
- HandleWindowEvent(event);
+ SendSizeEvent();
}
}
}
}
}
+void wxWindowMac::SendSizeEvent(int flags)
+{
+ MacOnInternalSize();
+ wxWindowBase::SendSizeEvent(flags);
+}
+
// set the size of the window: if the dimensions are positive, just use them,
// but if any of them is equal to -1, it means that we must find the value for
// it ourselves (unless sizeFlags contains wxSIZE_ALLOW_MINUS_ONE flag, in
if (sizeFlags & wxSIZE_FORCE_EVENT)
{
- MacOnInternalSize();
- wxSizeEvent event( wxSize(width,height), GetId() );
- event.SetEventObject( this );
- HandleWindowEvent( event );
+ SendSizeEvent();
}
return;
}
}
-float wxWindowMac::GetContentScaleFactor() const
+double wxWindowMac::GetContentScaleFactor() const
{
return GetPeer()->GetContentScaleFactor();
}
MacRepositionScrollBars() ;
if ( triggerSizeEvent )
{
- MacOnInternalSize();
- wxSizeEvent event(GetSize(), m_windowId);
- event.SetEventObject(this);
- HandleWindowEvent(event);
+ SendSizeEvent();
}
#endif
}
const wxFrame *frame = wxDynamicCast( win, wxFrame ) ;
if ( frame )
{
- if ( frame->GetWindowStyleFlag() & wxRESIZE_BORDER )
+ // starting from 10.7 there are no resize indicators anymore
+ if ( (frame->GetWindowStyleFlag() & wxRESIZE_BORDER) && UMAGetSystemVersion() < 0x1070)
{
// Parent frame has resize handle
wxPoint frameBottomRight = frame->GetScreenRect().GetBottomRight();
{
wxEvtHandler * const handler = ancestor->GetEventHandler();
- wxCommandEvent command_event( wxEVT_COMMAND_MENU_SELECTED, command );
+ wxCommandEvent command_event( wxEVT_MENU, command );
handled = handler->ProcessEvent( command_event );
if ( !handled )
{
// accelerators can also be used with buttons, try them too
- command_event.SetEventType(wxEVT_COMMAND_BUTTON_CLICKED);
+ command_event.SetEventType(wxEVT_BUTTON);
handled = handler->ProcessEvent( command_event );
}
// wxWidgetImpl
//
+// we are maintaining a n:1 map from native controls (ControlRef / NSView*) to their wxWidgetImpl
+// n:1 because we might have an embedded view eg within a scrollview, both being part of the same impl
+// the impl is calling Associate with its newly created native control(s), e.g. in InstallHandler
+
WX_DECLARE_HASH_MAP(WXWidget, wxWidgetImpl*, wxPointerHash, wxPointerEqual, MacControlMap);
static MacControlMap wxWinMacControlList;