osxuitoolkit.cpp

来自「这是VCF框架的代码」· C++ 代码 · 共 2,694 行 · 第 1/5 页

CPP
2,694
字号
                case kEventControlDispose : {					result = new VCF::ComponentEvent( msg->control_, Component::COMPONENT_DESTROYED );                }                break;                case kEventControlSetFocusPart : {					UInt32 attributes = 0;					ControlRef ctrl = NULL;					ControlRef startCtrl = NULL;					ControlPartCode part = 0;					OSStatus err = GetEventParameter( msg->osxEvent_,                                                kEventParamDirectObject,                                                typeControlRef,                                                NULL,                                                sizeof( ControlRef ),                                                NULL, &ctrl );										err = GetEventParameter( msg->osxEvent_,                                                kEventParamStartControl,                                                typeControlRef,                                                NULL,                                                sizeof( ControlRef ),                                                NULL, &startCtrl );																	err = GetEventParameter( msg->osxEvent_,                                                kEventParamControlPart,                                                typeControlPartCode,                                                NULL,                                                sizeof( ControlPartCode ),                                                NULL, &part );																																																	                }                break;                case kEventControlGetOptimalBounds : {                }                break;								case kEventControlHit : {                }                break;				                case kEventControlHitTest : {					::Point mousePos;					GetEventParameter( msg->osxEvent_, kEventParamMouseLocation, typeQDPoint, NULL,										sizeof (mousePos), NULL, &mousePos);                    					//LocalToGlobal( &mousePos );					VCF::Point pt( mousePos.h , mousePos.v );					//localizes the coords					//msg->control_->translateFromScreenCoords( &pt );								Scrollable* scrollable = msg->control_->getScrollable();                    if ( NULL != scrollable ) {                        pt.x_ += scrollable->getHorizontalPosition();                        pt.y_ += scrollable->getVerticalPosition();                    }					                    result = new VCF::MouseEvent ( msg->control_, Control::MOUSE_MOVE,                                                mbmLeftButton,                                                OSXUIUtils::translateKeyMask( 0 ), &pt );                }                break;                                                                case kEventControlGetFocusPart : {                }                break;                case kEventControlActivate : {					result = new VCF::FocusEvent ( msg->control_, Control::FOCUS_GAINED );                }                break;                case kEventControlDeactivate : {					result = new VCF::FocusEvent ( msg->control_, Control::FOCUS_LOST );                }                break;                case kEventControlSetCursor : {                }                break;                case kEventControlContextualMenuClick : {                }                break;                case kEventControlClick : {                }                break;                case kEventControlGetNextFocusCandidate : {                }                break;                case kEventControlGetAutoToggleValue : {                }                break;                case kEventControlInterceptSubviewClick : {                }                break;                case kEventControlGetClickActivation : {                }                break;                case kEventControlDragEnter : {                }                break;                case kEventControlDragWithin : {                }                break;                case kEventControlDragLeave : {                }                break;                case kEventControlDragReceive : {                }                break;                case kEventControlTrack : {					ControlRef theControl;					GetEventParameter( msg->osxEvent_, kEventParamDirectObject, typeControlRef, NULL,										sizeof (theControl), NULL, &theControl);																   					::Point mousePos;					GetEventParameter( msg->osxEvent_, kEventParamMouseLocation, typeQDPoint, NULL,										sizeof (mousePos), NULL, &mousePos);                        					//LocalToGlobal( &mousePos );										UInt32 keyboardModifier = 0;            					GetEventParameter( msg->osxEvent_, kEventParamKeyModifiers, typeUInt32, NULL,										sizeof (keyboardModifier), NULL, &keyboardModifier);													VCF::Point pt( mousePos.h , 									mousePos.v );										OSXControl* control = OSXControl::getControlFromControlRef( theControl );					//localizes the coords					//control->translateFromScreenCoords( &pt );											   					Scrollable* scrollable = msg->control_->getScrollable();                    if ( NULL != scrollable ) {                        pt.x_ += scrollable->getHorizontalPosition();                        pt.y_ += scrollable->getVerticalPosition();                    }                                        result = new VCF::MouseEvent ( msg->control_, Control::MOUSE_DOWN,                                                mbmLeftButton,                                                OSXUIUtils::translateKeyMask( keyboardModifier ), &pt );                }                break;                case kEventControlGetScrollToHereStartPoint : {                }                break;                case kEventControlGetIndicatorDragConstraint : {                }                break;                case kEventControlIndicatorMoved : {                }                break;                case kEventControlGhostingFinished : {                }                break;                case kEventControlGetActionProcPart : {                }                break;                case kEventControlGetPartRegion : {                }                break;                case kEventControlGetPartBounds : {                }                break;                case kEventControlSetData : {                }                break;                case kEventControlGetData : {                }                break;                case kEventControlGetSizeConstraints : {                }                break;                case kEventControlValueFieldChanged : {                }                break;                case kEventControlAddedSubControl : {                }                break;                case kEventControlRemovingSubControl : {                }                break;                case kEventControlBoundsChanged : {					UInt32 attributes = 0;					OSStatus err = GetEventParameter( msg->osxEvent_,                                                kEventParamAttributes,                                                typeUInt32,                                                NULL,                                                sizeof( UInt32 ),                                                NULL, &attributes );					if ( err == noErr ) 	{                        ::Rect currentBounds;                            GetEventParameter( msg->osxEvent_, kEventParamCurrentBounds, typeQDRectangle,                                                NULL, sizeof(currentBounds), NULL, &currentBounds);						if ( attributes & kControlBoundsChangeSizeChanged  ) {                            VCF::Size sz( abs(currentBounds.right - currentBounds.left),                                            abs(currentBounds.bottom - currentBounds.top) );                            result = new ControlEvent( msg->control_, sz );						}						else if ( attributes & kControlBoundsChangePositionChanged ) {							VCF::Point pt( currentBounds.left , currentBounds.top );                            result = new VCF::ControlEvent( msg->control_, pt );						}					}                }                break;                case kEventControlTitleChanged : {                }                break;                case kEventControlOwningWindowChanged : {                }                break;                case kEventControlHiliteChanged : {                }                break;                case kEventControlEnabledStateChanged : {                }                break;                case kEventControlArbitraryMessage : {                }                break;            }        }        break;        case kEventClassCommand : {            switch ( whatHappened ) {                case kEventProcessCommand : {										HICommand		command;					GetEventParameter( msg->osxEvent_, kEventParamDirectObject, typeHICommand, NULL,									sizeof( HICommand ), NULL, &command );														MenuItem* item = NULL;					GetMenuCommandProperty( command.menu.menuRef, 										command.commandID,										VCF_PROPERTY_CREATOR, 										OSXMenuItem::propertyTag,										sizeof(item),										NULL, &item );																	if ( NULL != item ) {											}										                }                break;                case kEventCommandUpdateStatus : {					                }                break;            }        }        break;        case kEventClassTablet : {        }        break;        case kEventClassVolume : {        }        break;        case kEventClassAppearance : {            switch ( whatHappened ) {                case kEventParamNewScrollBarVariant : {                }                break;            }        }        break;        case kEventClassService : {            switch ( whatHappened ) {                case kEventServiceCopy : {                }                break;                case kEventServicePaste : {                }                break;                case kEventServiceGetTypes : {                }                break;                case kEventServicePerform : {                }                break;            }        }        break;        case kEventClassToolbar : {            switch ( whatHappened ) {                case kEventParamToolbar : {                }                break;                case kEventParamToolbarItem : {                }                break;                case kEventParamToolbarItemIdentifier : {                }                break;                case kEventParamToolbarItemConfigData : {                }                break;            }        }        break;        case kEventClassToolbarItem : {        }        break;        case kEventClassAccessibility : {        }        break;    }    return result;}EventRef OSXUIToolkit::createUserCarbonEvent( UInt32 eventType ){    EventRef result = NULL;    OSStatus err = CreateEvent( NULL,                                OSXUIToolkit::CustomEventClass,                                eventType,                                0,                                kEventAttributeUserEvent,                                &result );    if ( err != noErr ) {        printf( "OSXUIToolkit::createUserCarbonEvent CreateEvent failed!\n" );    }    else {    }    return result;}VCF::Size OSXUIToolkit::internal_getDragDropDelta(){    Size result(5,5);    return result;}void OSXUIToolkit::internal_displayHelpContents( const String& helpBookName, const String& helpDirectory ){}void OSXUIToolkit::internal_displayHelpIndex( const String& helpBookName, const String& helpDirectory ){}bool OSXUIToolkit::internal_displayContextHelpForControl( Control* control, const String& helpBookName, const String& helpDirectory ){	return false;}void OSXUIToolkit::internal_displayHelpSection( const String& helpBookName, const String& helpDirectory, const String& helpSection ){}void OSXUIToolkit::internal_systemSettingsChanged(){}/***CVS Log info*$Log$*Revision 1.7  2006/04/07 02:35:24  ddiego*initial checkin of merge from 0.6.9 dev branch.**Revision 1.6.2.7  2006/03/17 03:08:11  ddiego*updated osx code to latest changes.**Revision 1.6.2.6  2006/02/26 23:44:10  ddiego*minor updates to sync osx version with latest cvs. added xcode proj for Themes example.**Revision 1.6.2.5  2006/02/22 01:26:22  ddiego*mac osx updates.**Revision 1.6.2.4  2005/11/30 05:31:35  ddiego*further osx drag-drop updates.**Revision 1.6.2.3  2005/11/27 23:55:45  ddiego*more osx updates.**Revision 1.6.2.2  2005/11/21 04:00:51  ddiego*more osx updates.**Revision 1.6.2.1  2005/11/10 04:43:27  ddiego*updated the osx build so that it*compiles again on xcode 1.5. this applies to the foundationkit and graphicskit.**Revision 1.6  2005/07/10 00:20:40  ddiego*updated osx code from merge over of devmain-0-6-7.**Revision 1.5  2005/07/09 23:14:55  ddiego*merging in changes from devmain-0-6-7 branch.**Revision 1.4  2005/01/08 20:52:46  ddiego*fixed some glitches in osx impl.*Revision 1.3.2.7  2005/07/07 23:28:58  ddiego*last osx checkins before release - not complete :(**Revision 1.3.2.6  2005/06/23 01:26:55  ddiego*build updates**Revision 1.3.2.5  2005/06/23 00:35:36  ddiego*added osx classes**Revision 1.3.2.4  2005/06/22 03:59:30  ddiego*added osx stub classes for peers**Revision 1.3.2.3  2005/06/09 02:25:50  ddiego*updated osx build**Revision 1.3.2.2  2005/05/08 19:55:31  ddiego*osx updates, not yet functional.**Revision 1.3.2.1  2005/03/15 01:51:49  ddiego*added support for Format class to take the place of the*previously used var arg funtions in string utils and system. Also replaced*existing code in the framework that made use of the old style var arg*functions.**Revision 1.3  2004/12/01 04:31:37  ddiego*merged over devmain-0-6-6 code. Marcello did a kick ass job*of fixing a nasty bug (1074768VCF application slows down modal dialogs.)*that he found. Many, many thanks for this Marcello.**Revision 1.2.2.8  2004/11/15 05:41:28  ddiego*finished almost all the osx menu code except for custom drawing. This completes this releases osx effort.**Revision 1.2.2.7  2004/11/10 06:16:40  ddiego*started

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?