more reformatting

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@36381 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
David Surovell
2005-12-13 21:27:49 +00:00
parent 8792cb7340
commit a979e444a3

View File

@@ -41,6 +41,7 @@
#include "wx/app.h"
#include "wx/tooltip.h"
#include "wx/dnd.h"
#if wxUSE_SYSTEM_OPTIONS
#include "wx/sysopt.h"
#endif
@@ -49,7 +50,7 @@
#include <ToolUtils.h>
#endif
//For targeting OSX
// for targeting OSX
#include "wx/mac/private.h"
// ----------------------------------------------------------------------------
@@ -84,7 +85,7 @@ extern long wxMacTranslateKey(unsigned char key, unsigned char code) ;
static const EventTypeSpec eventList[] =
{
// TODO remove control related event like key and mouse (except for WindowLeave events)
// TODO: remove control related event like key and mouse (except for WindowLeave events)
#if 1
{ kEventClassTextInput, kEventTextInputUnicodeForKeyEvent } ,
@@ -101,8 +102,8 @@ static const EventTypeSpec eventList[] =
{ kEventClassWindow , kEventWindowBoundsChanged } ,
{ kEventClassWindow , kEventWindowClose } ,
// we have to catch these events on the toplevel window level, as controls don't get the
// raw mouse events anymore
// we have to catch these events on the toplevel window level,
// as controls don't get the raw mouse events anymore
{ kEventClassMouse , kEventMouseDown } ,
{ kEventClassMouse , kEventMouseUp } ,
@@ -114,14 +115,11 @@ static const EventTypeSpec eventList[] =
static pascal OSStatus TextInputEventHandler( EventHandlerCallRef handler , EventRef event , void *data )
{
OSStatus result = eventNotHandledErr ;
wxWindow* focus = wxWindow::FindFocus() ;
unsigned char charCode ;
UInt32 keyCode ;
UInt32 modifiers ;
wxWindow* focus ;
UInt32 keyCode, modifiers ;
Point point ;
EventRef rawEvent ;
unsigned char charCode ;
GetEventParameter( event, kEventParamTextInputSendKeyboardEvent, typeEventRef, NULL, sizeof(rawEvent), NULL, &rawEvent ) ;
@@ -130,11 +128,13 @@ static pascal OSStatus TextInputEventHandler( EventHandlerCallRef handler , Even
GetEventParameter( rawEvent, kEventParamKeyModifiers, typeUInt32, NULL, sizeof(UInt32), NULL, &modifiers );
GetEventParameter( rawEvent, kEventParamMouseLocation, typeQDPoint, NULL, sizeof(Point), NULL, &point );
focus = wxWindow::FindFocus() ;
switch ( GetEventKind( event ) )
{
case kEventTextInputUnicodeForKeyEvent :
// this is only called when no default handler has jumped in, eg a wxControl on a floater window does not
// get its own kEventTextInputUnicodeForKeyEvent, so we route back the
// this is only called when no default handler has jumped in, e.g. a wxControl on a floater window does not
// get its own kEventTextInputUnicodeForKeyEvent, so we reroute the event back to the control
wxControl* control = wxDynamicCast( focus , wxControl ) ;
if ( control )
{
@@ -151,8 +151,8 @@ static pascal OSStatus TextInputEventHandler( EventHandlerCallRef handler , Even
UInt32 when = EventTimeToTicks( GetEventTime( event ) ) ;
UInt32 message = (keyCode << 8) + charCode;
if ( (focus != NULL) && wxTheApp->MacSendKeyDownEvent(
focus , message , modifiers , when , point.h , point.v ) )
if ( (focus != NULL) &&
wxTheApp->MacSendKeyDownEvent( focus , message , modifiers , when , point.h , point.v ) )
{
result = noErr ;
}
@@ -193,12 +193,14 @@ static pascal OSStatus KeyboardEventHandler( EventHandlerCallRef handler , Event
if ( dataSize > 4 )
charBuf = new UniChar[ dataSize / sizeof( UniChar) ] ;
GetEventParameter( event, kEventParamKeyUnicodes, typeUnicodeText, NULL, dataSize , NULL , charBuf ) ;
#if SIZEOF_WCHAR_T == 2
uniChar = charBuf[0] ;
#else
wxMBConvUTF16 converter ;
converter.MB2WC( &uniChar , (const char*)charBuf , 1 ) ;
#endif
if ( dataSize > 4 )
delete[] charBuf ;
}
@@ -243,11 +245,13 @@ static pascal OSStatus KeyboardEventHandler( EventHandlerCallRef handler , Event
event.m_controlDown = modifiers & controlKey;
event.m_altDown = modifiers & optionKey;
event.m_metaDown = modifiers & cmdKey;
event.m_x = point.h;
event.m_y = point.v;
#if wxUSE_UNICODE
event.m_uniChar = uniChar ;
#endif
event.m_x = point.h;
event.m_y = point.v;
event.SetTimestamp(when);
event.SetEventObject(focus);
@@ -275,6 +279,7 @@ static pascal OSStatus KeyboardEventHandler( EventHandlerCallRef handler , Event
event.SetEventType( ( modifiers & cmdKey ) ? wxEVT_KEY_DOWN : wxEVT_KEY_UP ) ;
focus->GetEventHandler()->ProcessEvent( event ) ;
}
wxApp::s_lastModifiers = modifiers ;
}
break ;
@@ -334,8 +339,8 @@ static void SetupMouseEvent( wxMouseEvent &wxevent , wxMacCarbonEvent &cEvent )
else if ( lastButton )
button = lastButton ;
// determinate the correct down state, wx does not want a 'down' for a mouseUp event, while mac delivers
// this button
// determine the correct down state, wx does not want a 'down' for a mouseUp event,
// while mac delivers this button
if ( button != 0 && cEvent.GetKind() != kEventMouseUp )
{
switch ( button )
@@ -424,14 +429,16 @@ ControlRef wxMacFindSubControl( wxTopLevelWindowMac* toplevelWindow, const Point
if ( superControl )
{
UInt16 childrenCount = 0 ;
ControlHandle sibling ;
Rect r ;
OSStatus err = CountSubControls( superControl , &childrenCount ) ;
if ( err == errControlIsNotEmbedder )
return NULL ;
wxASSERT_MSG( err == noErr , wxT("Unexpected error when accessing subcontrols") ) ;
for ( UInt16 i = childrenCount ; i >=1 ; --i )
{
ControlHandle sibling ;
err = GetIndexedSubControl( superControl , i , & sibling ) ;
if ( err == errControlIsNotEmbedder )
return NULL ;
@@ -439,13 +446,14 @@ ControlRef wxMacFindSubControl( wxTopLevelWindowMac* toplevelWindow, const Point
wxASSERT_MSG( err == noErr , wxT("Unexpected error when accessing subcontrols") ) ;
if ( IsControlVisible( sibling ) )
{
Rect r ;
UMAGetControlBoundsInWindowCoords( sibling , &r ) ;
if ( MacPtInRect( location , &r ) )
{
ControlHandle child = wxMacFindSubControl( toplevelWindow , location , sibling , outPart ) ;
if ( child )
{
return child ;
}
else
{
Point testLocation = location ;
@@ -457,6 +465,7 @@ ControlRef wxMacFindSubControl( wxTopLevelWindowMac* toplevelWindow, const Point
}
*outPart = TestControl( sibling , testLocation ) ;
return sibling ;
}
}
@@ -473,10 +482,11 @@ ControlRef wxMacFindControlUnderMouse( wxTopLevelWindowMac* toplevelWindow , con
if ( UMAGetSystemVersion() >= 0x1030 && ( toplevelWindow == 0 || toplevelWindow->MacUsesCompositing() ) )
return FindControlUnderMouse( location , window , outPart ) ;
#endif
ControlRef rootControl = NULL ;
verify_noerr( GetRootControl( window , &rootControl ) ) ;
return wxMacFindSubControl( toplevelWindow , location , rootControl , outPart ) ;
return wxMacFindSubControl( toplevelWindow , location , rootControl , outPart ) ;
}
#define NEW_CAPTURE_HANDLING 1
@@ -524,7 +534,9 @@ pascal OSStatus wxMacTopLevelMouseEventHandler( EventHandlerCallRef handler , Ev
control = wxMacFindControlUnderMouse( toplevelWindow , windowMouseLocation , window , &part ) ;
// if there is no control below the mouse position, send the event to the toplevel window itself
if ( control == 0 )
{
currentMouseWindow = (wxWindow*) data ;
}
else
{
currentMouseWindow = wxFindControlFromMacControl( control ) ;
@@ -558,9 +570,11 @@ pascal OSStatus wxMacTopLevelMouseEventHandler( EventHandlerCallRef handler , Ev
g_MacLastWindow->ScreenToClient( &eventleave.m_x, &eventleave.m_y );
eventleave.SetEventObject( g_MacLastWindow ) ;
wxevent.SetId( g_MacLastWindow->GetId() ) ;
#if wxUSE_TOOLTIPS
wxToolTip::RelayEvent( g_MacLastWindow , eventleave);
#endif // wxUSE_TOOLTIPS
#endif
g_MacLastWindow->GetEventHandler()->ProcessEvent(eventleave);
}
@@ -571,9 +585,11 @@ pascal OSStatus wxMacTopLevelMouseEventHandler( EventHandlerCallRef handler , Ev
currentMouseWindow->ScreenToClient( &evententer.m_x, &evententer.m_y );
evententer.SetEventObject( currentMouseWindow ) ;
wxevent.SetId( currentMouseWindow->GetId() ) ;
#if wxUSE_TOOLTIPS
wxToolTip::RelayEvent( currentMouseWindow , evententer );
#endif // wxUSE_TOOLTIPS
#endif
currentMouseWindow->GetEventHandler()->ProcessEvent(evententer);
}
@@ -605,7 +621,8 @@ pascal OSStatus wxMacTopLevelMouseEventHandler( EventHandlerCallRef handler , Ev
|| wxevent.GetEventType() == wxEVT_ENTER_WINDOW
|| wxevent.GetEventType() == wxEVT_LEAVE_WINDOW )
wxToolTip::RelayEvent( currentMouseWindow , wxevent );
#endif // wxUSE_TOOLTIPS
#endif
if ( currentMouseWindow->GetEventHandler()->ProcessEvent(wxevent) )
{
if ((currentMouseWindowParent != NULL) &&
@@ -650,8 +667,11 @@ pascal OSStatus wxMacTopLevelMouseEventHandler( EventHandlerCallRef handler , Ev
if ((currentMouseWindowParent != NULL) &&
(currentMouseWindowParent->GetChildren().Find(currentMouseWindow) == NULL))
{
currentMouseWindow = NULL;
}
}
result = noErr ;
}
}
@@ -700,6 +720,7 @@ pascal OSStatus wxMacTopLevelMouseEventHandler( EventHandlerCallRef handler , Ev
result = noErr ;
}
}
return result ;
}
@@ -1017,7 +1038,7 @@ wxTopLevelWindowMac::~wxTopLevelWindowMac()
void wxTopLevelWindowMac::Maximize(bool maximize)
{
// TODO Check, is this still necessary
// TODO: check if this is still necessary
#if 0
wxMacPortStateHelper help( (GrafPtr)GetWindowPort( (WindowRef)m_macWindow) ) ;
wxMacWindowClipper clip( this );
@@ -1026,6 +1047,7 @@ void wxTopLevelWindowMac::Maximize(bool maximize)
if ( !IsWindowInStandardState( (WindowRef)m_macWindow, NULL, NULL ) )
{
Rect rect;
GetWindowBounds((WindowRef)m_macWindow, kWindowGlobalPortRgn, &rect);
SetWindowIdealUserState((WindowRef)m_macWindow, &rect);
SetWindowUserState((WindowRef)m_macWindow, &rect);
@@ -1095,7 +1117,8 @@ void wxTopLevelWindowMac::MacInstallTopLevelWindowEventHandler()
GetEventTypeCount(eventList), eventList, this, (EventHandlerRef *)&m_macEventHandler );
}
void wxTopLevelWindowMac::MacCreateRealWindow( const wxString& title,
void wxTopLevelWindowMac::MacCreateRealWindow(
const wxString& title,
const wxPoint& pos,
const wxSize& size,
long style,
@@ -1220,15 +1243,15 @@ void wxTopLevelWindowMac::MacCreateRealWindow( const wxString& title,
wxCHECK_RET( err == noErr, wxT("Mac OS error when trying to create new window") );
// the create commands are only for content rect, so we have to set the size again as
// structure bounds
// the create commands are only for content rect,
// so we have to set the size again as structure bounds
SetWindowBounds( (WindowRef) m_macWindow , kWindowStructureRgn , &theBoundsRect ) ;
wxAssociateWinWithMacWindow( (WindowRef) m_macWindow , this ) ;
UMASetWTitle( (WindowRef) m_macWindow , title , m_font.GetEncoding() ) ;
m_peer = new wxMacControl(this , true /*isRootControl*/) ;
#if TARGET_API_MAC_OSX
#if TARGET_API_MAC_OSX
if ( m_macUsesCompositing )
{
// There is a bug in 10.2.X for ::GetRootControl returning the window view instead of
@@ -1334,20 +1357,20 @@ bool wxTopLevelWindowMac::Show(bool show)
if (show)
{
#if wxUSE_SYSTEM_OPTIONS // code contributed by Ryan Wilcox December 18, 2003
#if wxUSE_SYSTEM_OPTIONS
// code contributed by Ryan Wilcox December 18, 2003
bool plainTransition = UMAGetSystemVersion() >= 0x1000 ;
if ( wxSystemOptions::HasOption(wxMAC_WINDOW_PLAIN_TRANSITION) )
plainTransition = ( wxSystemOptions::GetOptionInt( wxMAC_WINDOW_PLAIN_TRANSITION ) == 1 ) ;
if ( plainTransition )
{
::ShowWindow( (WindowRef)m_macWindow );
}
else
#endif
{
::TransitionWindow( (WindowRef)m_macWindow, kWindowZoomTransitionEffect, kWindowShowTransitionAction, NULL );
}
#else
::TransitionWindow( (WindowRef)m_macWindow, kWindowZoomTransitionEffect, kWindowShowTransitionAction, NULL );
#endif
::SelectWindow( (WindowRef)m_macWindow ) ;
@@ -1623,7 +1646,6 @@ static pascal void wxMacNMResponse( NMRecPtr ptr )
DisposePtr( (Ptr)ptr ) ;
}
void wxTopLevelWindowMac::RequestUserAttention(int flags )
{
NMRecPtr notificationRequest = (NMRecPtr) NewPtr( sizeof( NMRec) ) ;
@@ -1650,8 +1672,8 @@ bool wxTopLevelWindowMac::SetShape(const wxRegion& region)
wxCHECK_MSG( HasFlag(wxFRAME_SHAPED), false,
_T("Shaped windows must be created with the wxFRAME_SHAPED style."));
// The empty region signifies that the shape should be removed from the
// window.
// The empty region signifies that the shape
// should be removed from the window.
if ( region.IsEmpty() )
{
wxSize sz = GetClientSize();
@@ -1689,6 +1711,7 @@ static void wxShapedMacWindowGetPos(WindowRef window, Rect* inRect)
{
GetWindowPortBounds(window, inRect);
Point pt = { inRect->left, inRect->top };
QDLocalToGlobalPoint( GetWindowPort(window), &pt ) ;
inRect->top = pt.v;
inRect->left = pt.h;