// Purpose: implementation of wxNonOwnedWindow
// Author: Stefan Csomor
// Created: 2008-03-24
-// RCS-ID: $Id: nonownedwnd.cpp 50329 2007-11-29 17:00:58Z VS $
+// RCS-ID: $Id$
// Copyright: (c) Stefan Csomor 2008
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
set ? kWindowNoAttributes : kWindowUnifiedTitleAndToolbarAttribute) ;
// For some reason, Tiger uses white as the background color for this appearance,
- // while most apps using it use the typical striped background. Restore that behavior
+ // while most apps using it use the typical striped background. Restore that behaviour
// for wx.
// TODO: Determine if we need this on Leopard as well. (should be harmless either way,
// though)
// since when creating the peering is not yet completely set-up we call both setters
- // explicitely
+ // explicitly
m_wxPeer->SetBackgroundColour( wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOW) ) ;
SetBackgroundColour( wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOW) ) ;
}
static pascal long wxShapedMacWindowDef(short varCode, WindowRef window, SInt16 message, SInt32 param);
-void SetupMouseEvent( wxMouseEvent &wxevent , wxMacCarbonEvent &cEvent );
+WXDLLEXPORT void SetupMouseEvent( wxMouseEvent &wxevent , wxMacCarbonEvent &cEvent );
// ---------------------------------------------------------------------------
// Carbon Events
UInt32 keyCode ;
UInt32 modifiers ;
- Point point ;
UInt32 when = EventTimeToTicks( GetEventTime( event ) ) ;
#if wxUSE_UNICODE
GetEventParameter( event, kEventParamKeyUnicodes, typeUnicodeText, NULL, dataSize , NULL , charBuf ) ;
charBuf[ numChars - 1 ] = 0;
-#if SIZEOF_WCHAR_T == 2
- uniChar = charBuf[0] ;
-#else
wxMBConvUTF16 converter ;
converter.MB2WC( uniChar , (const char*)charBuf , 2 ) ;
-#endif
if ( numChars * 2 > 4 )
delete[] charBuf ;
}
-#endif
+#endif // wxUSE_UNICODE
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, &point );
UInt32 message = (keyCode << 8) + charCode;
switch ( GetEventKind( event ) )
WXEVENTHANDLERCALLREF formerHandler = wxTheApp->MacGetCurrentEventHandlerCallRef() ;
wxTheApp->MacSetCurrentEvent( event , handler ) ;
if ( /* focus && */ wxTheApp->MacSendKeyDownEvent(
- focus , message , modifiers , when , point.h , point.v , uniChar[0] ) )
+ focus , message , modifiers , when , uniChar[0] ) )
{
result = noErr ;
}
case kEventRawKeyUp :
if ( /* focus && */ wxTheApp->MacSendKeyUpEvent(
- focus , message , modifiers , when , point.h , point.v , uniChar[0] ) )
+ focus , message , modifiers , when , uniChar[0] ) )
{
result = noErr ;
}
wxKeyEvent event(wxEVT_KEY_DOWN);
event.m_shiftDown = modifiers & shiftKey;
- event.m_controlDown = modifiers & controlKey;
+ event.m_rawControlDown = modifiers & controlKey;
event.m_altDown = modifiers & optionKey;
- event.m_metaDown = modifiers & cmdKey;
- event.m_x = point.h;
- event.m_y = point.v;
+ event.m_controlDown = event.m_metaDown = modifiers & cmdKey;
#if wxUSE_UNICODE
event.m_uniChar = uniChar[0] ;
if ( /* focus && */ (modifiers ^ wxApp::s_lastModifiers ) & controlKey )
{
- event.m_keyCode = WXK_CONTROL ;
+ event.m_keyCode = WXK_RAW_CONTROL ;
event.SetEventType( ( modifiers & controlKey ) ? wxEVT_KEY_DOWN : wxEVT_KEY_UP ) ;
focus->HandleWindowEvent( event ) ;
}
}
if ( /* focus && */ (modifiers ^ wxApp::s_lastModifiers ) & cmdKey )
{
- event.m_keyCode = WXK_COMMAND ;
+ event.m_keyCode = WXK_CONTROL;
event.SetEventType( ( modifiers & cmdKey ) ? wxEVT_KEY_DOWN : wxEVT_KEY_UP ) ;
focus->HandleWindowEvent( event ) ;
}
EventMouseButton g_lastButton = 0 ;
bool g_lastButtonWasFakeRight = false ;
-void SetupMouseEvent( wxMouseEvent &wxevent , wxMacCarbonEvent &cEvent )
+WXDLLEXPORT void SetupMouseEvent( wxMouseEvent &wxevent , wxMacCarbonEvent &cEvent )
{
UInt32 modifiers = cEvent.GetParameter<UInt32>(kEventParamKeyModifiers, typeUInt32) ;
Point screenMouseLocation = cEvent.GetParameter<Point>(kEventParamMouseLocation) ;
wxevent.m_x = screenMouseLocation.h;
wxevent.m_y = screenMouseLocation.v;
wxevent.m_shiftDown = modifiers & shiftKey;
- wxevent.m_controlDown = modifiers & controlKey;
+ wxevent.m_rawControlDown = modifiers & controlKey;
wxevent.m_altDown = modifiers & optionKey;
- wxevent.m_metaDown = modifiers & cmdKey;
+ wxevent.m_controlDown = wxevent.m_metaDown = modifiers & cmdKey;
wxevent.m_clickCount = clickCount;
wxevent.SetTimestamp( cEvent.GetTicks() ) ;
wxevent.m_wheelDelta = 1;
wxevent.m_linesPerAction = 1;
if ( axis == kEventMouseWheelAxisX )
- wxevent.m_wheelAxis = 1;
+ wxevent.m_wheelAxis = wxMOUSE_WHEEL_HORIZONTAL;
}
break ;
if ( currentMouseWindow->HandleWindowEvent(wxevent) )
{
- if ((currentMouseWindowParent != NULL) &&
- (currentMouseWindowParent->GetChildren().Find(currentMouseWindow) == NULL))
+ if ( currentMouseWindowParent &&
+ !currentMouseWindowParent->GetChildren().Member(currentMouseWindow) )
currentMouseWindow = NULL;
result = noErr;