#endif
#if wxUSE_DRAG_AND_DROP
-#include "wx/dnd.h"
+ #include "wx/dnd.h"
#endif
#include "wx/graphics.h"
#if wxOSX_USE_CARBON
-#include "wx/osx/uma.h"
+ #include "wx/osx/uma.h"
#else
-#include "wx/osx/private.h"
+ #include "wx/osx/private.h"
#endif
#define MAC_SCROLLBAR_SIZE 15
return m_peer == kOSXNoWidgetImpl ? NULL : m_peer ;
}
+bool wxWindowMac::ShouldCreatePeer() const
+{
+ return m_peer != kOSXNoWidgetImpl;
+}
+
void wxWindowMac::DontCreatePeer()
{
m_peer = kOSXNoWidgetImpl;
#endif
}
-void wxWindowMac::MacPostControlCreate(const wxPoint& WXUNUSED(pos), const wxSize& size)
+void wxWindowMac::MacPostControlCreate(const wxPoint& WXUNUSED(pos),
+ const wxSize& WXUNUSED(size))
{
// todo remove if refactoring works correctly
#if 0
return;
GetPeer()->SetControlSize( variant );
-#if wxOSX_USE_CARBON
- ControlSize size ;
-
- // we will get that from the settings later
- // and make this NORMAL later, but first
- // we have a few calculations that we must fix
-
- switch ( variant )
- {
- case wxWINDOW_VARIANT_NORMAL :
- size = kControlSizeNormal;
- break ;
-
- case wxWINDOW_VARIANT_SMALL :
- size = kControlSizeSmall;
- break ;
-
- case wxWINDOW_VARIANT_MINI :
- // not always defined in the headers
- size = 3 ;
- break ;
-
- case wxWINDOW_VARIANT_LARGE :
- size = kControlSizeLarge;
- break ;
-
- default:
- wxFAIL_MSG(wxT("unexpected window variant"));
- break ;
- }
- GetPeer()->SetData<ControlSize>(kControlEntireControl, kControlSizeTag, &size ) ;
-#endif
-
switch ( variant )
{
delete m_dropTarget;
m_dropTarget = pDropTarget;
- if ( m_dropTarget != NULL )
- {
- // TODO:
- }
+
+ GetPeer()->SetDropTarget(m_dropTarget) ;
}
#endif
if ( doResize )
{
MacRepositionScrollBars() ;
+ MacOnInternalSize();
wxSize size(actualWidth, actualHeight);
wxSizeEvent event(size, m_windowId);
event.SetEventObject(this);
if (sizeFlags & wxSIZE_FORCE_EVENT)
{
+ MacOnInternalSize();
wxSizeEvent event( wxSize(width,height), GetId() );
event.SetEventObject( this );
HandleWindowEvent( event );
bool wxWindowMac::Show(bool show)
{
+ if ( !show )
+ MacInvalidateBorders();
+
if ( !wxWindowBase::Show(show) )
return false;
if ( GetPeer() )
GetPeer()->SetVisibility( show ) ;
+ if ( show )
+ MacInvalidateBorders();
+
#ifdef __WXOSX_IPHONE__
// only when there's no native event support
if ( !IsTopLevel() )
if ( !IsShownOnScreen() )
return ;
+
+ if ( IsFrozen() )
+ return;
GetPeer()->SetNeedsDisplay( rect ) ;
}
void wxWindowMac::DoFreeze()
{
-#if wxOSX_USE_CARBON
if ( GetPeer() && GetPeer()->IsOk() )
GetPeer()->SetDrawingEnabled( false ) ;
-#endif
}
void wxWindowMac::DoThaw()
{
-#if wxOSX_USE_CARBON
if ( GetPeer() && GetPeer()->IsOk() )
- {
GetPeer()->SetDrawingEnabled( true ) ;
- GetPeer()->InvalidateWithChildren() ;
- }
-#endif
}
wxWindow *wxGetActiveWindow()
GetPeer()->GetSize( tw, th );
GetPeer()->GetPosition( tx, ty );
- Rect rect = { ty,tx, ty+th, tx+tw };
-
#if wxOSX_USE_COCOA_OR_CARBON
- InsetRect( &rect, -1 , -1 ) ;
-
{
- CGRect cgrect = CGRectMake( rect.left , rect.top , rect.right - rect.left ,
- rect.bottom - rect.top ) ;
+ CGRect cgrect = CGRectMake( tx-1 , ty-1 , tw+2 ,
+ th+2 ) ;
CGContextRef cgContext = (CGContextRef) GetParent()->MacGetCGContextRef() ;
wxASSERT( cgContext ) ;
MacRepositionScrollBars() ;
if ( triggerSizeEvent )
{
+ MacOnInternalSize();
wxSizeEvent event(GetSize(), m_windowId);
event.SetEventObject(this);
HandleWindowEvent(event);
}
m_updateRegion = formerUpdateRgn;
+
+ wxNonOwnedWindow* top = MacGetTopLevelWindow();
+ if (top)
+ top->WindowWasPainted() ;
+
return handled;
}
int x, y, w, h ;
window->MacGetBoundsForControl( pos , size , x , y, w, h , adjustForOrigin ) ;
- Rect bounds = { y, x, y + h, x + w };
+ Rect bounds = { static_cast<short>(y), static_cast<short>(x), static_cast<short>(y + h), static_cast<short>(x + w) };
return bounds ;
}
#if wxUSE_HOTKEY && wxOSX_USE_COCOA_OR_CARBON
-OSStatus wxHotKeyHandler(EventHandlerCallRef nextHandler,EventRef event, void *userData)
+OSStatus
+wxHotKeyHandler(EventHandlerCallRef WXUNUSED(nextHandler),
+ EventRef event,
+ void* WXUNUSED(userData))
{
EventHotKeyID hotKeyId;
GetEventParameter( event, kEventParamDirectObject, typeEventHotKeyID, NULL, sizeof(hotKeyId), NULL, &hotKeyId);
- for ( int i = 0; i < s_hotkeys.size(); ++i )
+ for ( unsigned i = 0; i < s_hotkeys.size(); ++i )
{
- if ( s_hotkeys[i].keyId == hotKeyId.id )
+ if ( s_hotkeys[i].keyId == static_cast<int>(hotKeyId.id) )
{
unsigned char charCode ;
UInt32 keyCode ;
UInt32 modifiers ;
- Point where ;
UInt32 when = EventTimeToTicks( GetEventTime( event ) ) ;
GetEventParameter( event, kEventParamKeyMacCharCodes, typeChar, NULL, sizeof(char), NULL, &charCode );
GetEventParameter( event, kEventParamKeyCode, typeUInt32, NULL, sizeof(UInt32), NULL, &keyCode );
GetEventParameter( event, kEventParamKeyModifiers, typeUInt32, NULL, sizeof(UInt32), NULL, &modifiers );
- GetEventParameter( event, kEventParamMouseLocation, typeQDPoint, NULL, sizeof(Point), NULL, &where );
UInt32 keymessage = (keyCode << 8) + charCode;
wxKeyEvent wxevent(wxEVT_HOTKEY);
wxevent.SetId(hotKeyId.id);
wxTheApp->MacCreateKeyEvent( wxevent, s_hotkeys[i].window , keymessage ,
- modifiers , when , where.h , where.v , 0 ) ;
+ modifiers , when , 0 ) ;
s_hotkeys[i].window->HandleWindowEvent(wxevent);
}
bool wxWindowMac::RegisterHotKey(int hotkeyId, int modifiers, int keycode)
{
- for ( int i = 0; i < s_hotkeys.size(); ++i )
+ for ( unsigned i = 0; i < s_hotkeys.size(); ++i )
{
if ( s_hotkeys[i].keyId == hotkeyId )
{
mac_modifiers |= optionKey;
if ( modifiers & wxMOD_SHIFT )
mac_modifiers |= shiftKey;
- if ( modifiers & wxMOD_CONTROL )
+ if ( modifiers & wxMOD_RAW_CONTROL )
mac_modifiers |= controlKey;
- if ( modifiers & wxMOD_META )
+ if ( modifiers & wxMOD_CONTROL )
mac_modifiers |= cmdKey;
EventHotKeyRef hotKeyRef;
bool wxWindowMac::UnregisterHotKey(int hotkeyId)
{
- for ( int i = s_hotkeys.size()-1; i>=0; -- i )
+ for ( int i = ((int)s_hotkeys.size())-1; i>=0; -- i )
{
if ( s_hotkeys[i].keyId == hotkeyId )
{
{
return m_needsFrame;
}
+
+void wxWidgetImpl::SetDrawingEnabled(bool WXUNUSED(enabled))
+{
+}
\ No newline at end of file