1///////////////////////////////////////////////////////////////////////////// 2// Name: wx/mac/classic/uma.h 3// Purpose: Universal MacOS API 4// Author: Stefan Csomor 5// Modified by: 6// Created: 03/02/99 7// RCS-ID: $Id: uma.h 42046 2006-10-16 09:30:01Z ABX $ 8// Copyright: (c) Stefan Csomor 9// Licence: wxWindows licence 10///////////////////////////////////////////////////////////////////////////// 11 12#ifndef H_UMA 13#define H_UMA 14 15#include "wx/mac/private.h" 16 17void UMAInitToolbox( UInt16 inMoreMastersCalls, bool isEmbedded) ; 18void UMACleanupToolbox() ; 19long UMAGetSystemVersion() ; 20bool UMAHasAppearance() ; 21long UMAGetAppearanceVersion() ; 22bool UMAHasWindowManager() ; 23long UMAGetWindowManagerAttr() ; 24bool UMAHasAquaLayout() ; 25 26bool UMASystemIsInitialized() ; 27void UMASetSystemIsInitialized(bool val); 28 29// process manager 30 31long UMAGetProcessMode() ; 32bool UMAGetProcessModeDoesActivateOnFGSwitch() ; 33 34#if wxUSE_GUI 35 36// menu manager 37 38MenuRef UMANewMenu( SInt16 id , const wxString& title , wxFontEncoding encoding) ; 39void UMASetMenuTitle( MenuRef menu , const wxString& title , wxFontEncoding encoding) ; 40UInt32 UMAMenuEvent( EventRecord *inEvent ) ; 41void UMAEnableMenuItem( MenuRef inMenu , MenuItemIndex item , bool enable ) ; 42 43void UMAAppendSubMenuItem( MenuRef menu , const wxString& title , wxFontEncoding encoding , SInt16 submenuid ) ; 44void UMAInsertSubMenuItem( MenuRef menu , const wxString& title , wxFontEncoding encoding , MenuItemIndex item , SInt16 submenuid ) ; 45void UMAAppendMenuItem( MenuRef menu , const wxString& title , wxFontEncoding encoding , wxAcceleratorEntry *entry = NULL ) ; 46void UMAInsertMenuItem( MenuRef menu , const wxString& title , wxFontEncoding encoding , MenuItemIndex item , wxAcceleratorEntry *entry = NULL ) ; 47void UMASetMenuItemShortcut( MenuRef menu , MenuItemIndex item , wxAcceleratorEntry *entry ) ; 48 49void UMASetMenuItemText( MenuRef menu, MenuItemIndex item, const wxString& title , wxFontEncoding encoding ) ; 50 51// quickdraw 52 53void UMAShowWatchCursor() ; 54void UMAShowArrowCursor() ; 55 56#if !TARGET_CARBON 57OSStatus UMAPrOpen() ; 58OSStatus UMAPrClose() ; 59#endif 60 61// window manager 62 63GrafPtr UMAGetWindowPort( WindowRef inWindowRef ) ; 64void UMADisposeWindow( WindowRef inWindowRef ) ; 65void UMASetWTitle( WindowRef inWindowRef , const wxString& title , wxFontEncoding encoding) ; 66 67void UMADrawGrowIcon( WindowRef inWindowRef ) ; 68void UMAShowHide( WindowRef inWindowRef , Boolean show) ; 69 70// appearance manager 71 72void UMADrawControl( ControlHandle inControl ) ; 73 74void UMAEnableControl( ControlHandle inControl ) ; 75void UMADisableControl( ControlHandle inControl ) ; 76void UMAActivateControl( ControlHandle inControl ) ; 77void UMADeactivateControl( ControlHandle inControl ) ; 78// ControlPartCode hiliteState) ; 79void UMAShowControl (ControlHandle theControl) ; 80void UMAHideControl (ControlHandle theControl); 81void UMAActivateControl (ControlHandle inControl); 82void UMADeactivateControl (ControlHandle inControl); 83void UMASetControlTitle( ControlHandle inControl , const wxString& title , wxFontEncoding encoding) ; 84 85void UMAMoveControl( ControlHandle inControl , short x , short y ) ; 86void UMASizeControl( ControlHandle inControl , short x , short y ) ; 87// control hierarchy 88 89// keyboard focus 90OSErr UMASetKeyboardFocus (WindowPtr inWindow, 91 ControlHandle inControl, 92 ControlFocusPart inPart) ; 93 94// events 95 96void UMAUpdateControls( WindowPtr inWindow , RgnHandle inRgn ) ; 97OSErr UMAGetRootControl( WindowPtr inWindow , ControlHandle *outControl ) ; 98 99// handling control data 100bool UMAIsWindowFloating( WindowRef inWindow ) ; 101bool UMAIsWindowModal( WindowRef inWindow ) ; 102 103void UMAHighlightAndActivateWindow( WindowRef inWindowRef , bool inActivate ) ; 104 105OSStatus UMAGetHelpMenu( 106 MenuRef * outHelpMenu, 107 MenuItemIndex * outFirstCustomItemIndex); /* can be NULL */ 108 109// Appearance Drawing 110 111OSStatus UMADrawThemePlacard( const Rect *inRect , ThemeDrawState inState ) ; 112 113// Clipboard support 114 115OSStatus UMAPutScrap( Size size , OSType type , void *data ) ; 116 117// accessor helpers 118 119#if !TARGET_CARBON 120#define ClearCurrentScrap() ZeroScrap() ; 121#define GetApplicationScript() smSystemScript 122#else 123 124// calls not in carbon 125 126#endif 127#define GetWindowUpdateRgn( inWindow , updateRgn ) GetWindowRegion( inWindow , kWindowUpdateRgn, updateRgn ) 128 129#endif // wxUSE_GUI 130 131#endif 132