home *** CD-ROM | disk | FTP | other *** search
Text File | 1998-03-17 | 10.8 KB | 409 lines | [TEXT/CWIE] |
- ///--------------------------------------------------------------------------------------
- // SWDialogUtils.c
- //
- // Created: 12/16/91 @ 11:37:55 PM
- // By: Tony Myles
- //
- // Copyright © 1991-94, Tony Myles All rights reserved worldwide.
- //
- // Description: multitudinous dialog utility routines
- ///--------------------------------------------------------------------------------------
-
-
- #ifndef __DIALOGS__
- #include <Dialogs.h>
- #endif
-
- #ifndef __OSUTILS__
- #include <OSUtils.h>
- #endif
-
- #ifndef __DIALOGUTILS__
- #include <SWDialogUtils.h>
- #endif
-
-
-
- ///--------------------------------------------------------------------------------------
- // GetDItemHilite
- //
- // get the hilite of a dialog item
- ///--------------------------------------------------------------------------------------
-
- Boolean GetDItemHilite(DialogPtr dlgP, short itemNum)
- {
- short itemType;
- Rect itemRect;
- Handle itemH;
-
- GetDialogItem(dlgP, itemNum, &itemType, &itemH, &itemRect);
- return (**(ControlHandle)itemH).contrlHilite == 0;
- }
-
-
- ///--------------------------------------------------------------------------------------
- // SetDItemHilite
- //
- // set the hilite of a dialog item
- ///--------------------------------------------------------------------------------------
-
- void SetDItemHilite(DialogPtr dlgP, short itemNum, Boolean hilite)
- {
- short itemType;
- Rect itemRect;
- Handle itemH;
-
- GetDialogItem(dlgP, itemNum, &itemType, &itemH, &itemRect);
- HiliteControl((ControlHandle)itemH, (hilite) ? 0 : 255);
- }
-
-
- ///--------------------------------------------------------------------------------------
- // GetDItemText
- //
- // get the text of a dialog item
- ///--------------------------------------------------------------------------------------
-
- void GetDItemText(DialogPtr dlgP, short itemNum, Str255 iStr)
- {
- short itemType;
- Rect itemRect;
- Handle itemH;
-
- GetDialogItem(dlgP, itemNum, &itemType, &itemH, &itemRect);
- GetDialogItemText(itemH, iStr);
- }
-
-
- ///--------------------------------------------------------------------------------------
- // SetDItemText
- //
- // set the text of a dialog item
- ///--------------------------------------------------------------------------------------
-
- void SetDItemText(DialogPtr dlgP, short itemNum, Str255 iStr)
- {
- short itemType;
- Rect itemRect;
- Handle itemH;
-
- GetDialogItem(dlgP, itemNum, &itemType, &itemH, &itemRect);
- SetDialogItemText(itemH, iStr);
- }
-
-
- ///--------------------------------------------------------------------------------------
- // GetDItemCtlTitle
- //
- // get the title of a control dialog item
- ///--------------------------------------------------------------------------------------
-
- void GetDItemCtlTitle(DialogPtr dlgP, short itemNum, Str255 iStr)
- {
- short itemType;
- Rect itemRect;
- Handle itemH;
-
- GetDialogItem(dlgP, itemNum, &itemType, &itemH, &itemRect);
- GetControlTitle((ControlHandle)itemH, iStr);
- }
-
-
- ///--------------------------------------------------------------------------------------
- // SetDItemCtlTitle
- //
- // set the title of a control dialog item
- ///--------------------------------------------------------------------------------------
-
- void SetDItemCtlTitle(DialogPtr dlgP, short itemNum, Str255 iStr)
- {
- short itemType;
- Rect itemRect;
- Handle itemH;
-
- GetDialogItem(dlgP, itemNum, &itemType, &itemH, &itemRect);
- GetControlTitle((ControlHandle)itemH, iStr);
-
- // validate the control’s rectangle since the
- // Control Manager needlessly invalidates it
- itemRect = (**(ControlHandle)itemH).contrlRect;
- ValidRect(&itemRect);
- }
-
-
- ///--------------------------------------------------------------------------------------
- // SetDItemCtlRefCon
- //
- // set the reference value of a control dialog item
- ///--------------------------------------------------------------------------------------
-
- void SetDItemCtlRefCon(DialogPtr dlgP, short itemNum, long refNum)
- {
- short itemType;
- Rect itemRect;
- Handle itemH;
-
- GetDialogItem(dlgP, itemNum, &itemType, &itemH, &itemRect);
- SetControlReference((ControlHandle)itemH, refNum);
- }
-
-
- ///--------------------------------------------------------------------------------------
- // GetDItemCtlRefCon
- //
- // returns the reference value of a control dialog item
- ///--------------------------------------------------------------------------------------
-
- long GetDItemCtlRefCon(DialogPtr dlgP, short itemNum)
- {
- short itemType;
- Rect itemRect;
- Handle itemH;
-
- GetDialogItem(dlgP, itemNum, &itemType, &itemH, &itemRect);
- return( GetControlReference((ControlHandle)itemH) );
- }
-
-
- ///--------------------------------------------------------------------------------------
- // HideShowDItemControl
- //
- // hide or show a control dialog item
- ///--------------------------------------------------------------------------------------
-
- void HideShowDItemControl(DialogPtr dlgP, short itemNum, Boolean show)
- {
- short itemType;
- Rect itemRect;
- Handle itemH;
-
- GetDialogItem(dlgP, itemNum, &itemType, &itemH, &itemRect);
- if ( show )
- ShowControl( (ControlHandle)itemH );
- else
- HideControl( (ControlHandle)itemH );
- }
-
-
-
- ///--------------------------------------------------------------------------------------
- // GetDItemHandle
- //
- // return the handle of a dialog item
- ///--------------------------------------------------------------------------------------
-
- Handle GetDItemHandle(DialogPtr dlgP, short itemNum)
- {
- short itemType;
- Rect itemRect;
- Handle itemH;
-
- GetDialogItem(dlgP, itemNum, &itemType, &itemH, &itemRect);
-
- return itemH;
- }
-
-
- ///--------------------------------------------------------------------------------------
- // SetDItemHandle
- //
- // set the handle of a dialog item
- ///--------------------------------------------------------------------------------------
-
- void SetDItemHandle(DialogPtr dlgP, short itemNum, Handle newItemH)
- {
- short itemType;
- Rect itemRect;
- Handle itemH;
-
- GetDialogItem(dlgP, itemNum, &itemType, &itemH, &itemRect);
- SetDialogItem(dlgP, itemNum, itemType, newItemH, &itemRect);
- }
-
-
- ///--------------------------------------------------------------------------------------
- // GetDItemRect
- //
- // return the rect of a dialog item
- ///--------------------------------------------------------------------------------------
-
- void GetDItemRect(DialogPtr dlgP, short itemNum, Rect *itemRect)
- {
- short itemType;
- Handle itemH;
-
- GetDialogItem(dlgP, itemNum, &itemType, &itemH, itemRect);
- }
-
-
- ///--------------------------------------------------------------------------------------
- // SetDItemRect
- //
- // set the rect of a dialog item
- ///--------------------------------------------------------------------------------------
-
- void SetDItemRect(DialogPtr dlgP, short itemNum, Rect *newItemRect)
- {
- short itemType;
- Handle itemH;
- Rect itemRect;
-
- GetDialogItem(dlgP, itemNum, &itemType, &itemH, &itemRect);
- SetDialogItem(dlgP, itemNum, itemType, itemH, newItemRect);
- }
-
-
- ///--------------------------------------------------------------------------------------
- // GetDItemType
- //
- // return the type of a dialog item
- ///--------------------------------------------------------------------------------------
-
- void GetDItemType(DialogPtr dlgP, short itemNum, short *itemType)
- {
- Handle itemH;
- Rect itemRect;
-
- GetDialogItem(dlgP, itemNum, itemType, &itemH, &itemRect);
- }
-
-
- ///--------------------------------------------------------------------------------------
- // SetDItemType
- //
- // set the type of a dialog item
- ///--------------------------------------------------------------------------------------
-
- void SetDItemType(DialogPtr dlgP, short itemNum, short newItemType)
- {
- short itemType;
- Handle itemH;
- Rect itemRect;
-
- GetDialogItem(dlgP, itemNum, &itemType, &itemH, &itemRect);
- SetDialogItem(dlgP, itemNum, newItemType, itemH, &itemRect);
- }
-
-
- ///--------------------------------------------------------------------------------------
- // GetDItemValue
- //
- // set a dialog control's value
- ///--------------------------------------------------------------------------------------
-
- short GetDItemValue(DialogPtr dlgP, short itemNum)
- {
- short itemType;
- Rect itemRect;
- Handle itemH;
-
- GetDialogItem( dlgP, itemNum, &itemType, &itemH, &itemRect );
- return( GetControlValue( (ControlHandle)itemH) );
- }
-
-
- ///--------------------------------------------------------------------------------------
- // SetDItemValue
- //
- // set a dialog control's value
- ///--------------------------------------------------------------------------------------
-
- void SetDItemValue(DialogPtr dlgP, short itemNum, short value)
- {
- short itemType;
- Rect itemRect;
- Handle itemH;
-
- GetDialogItem( dlgP, itemNum, &itemType, &itemH, &itemRect );
- SetControlValue( (ControlHandle)itemH, value );
- }
-
-
- ///--------------------------------------------------------------------------------------
- // ToggleDItemValue
- //
- // toggle a button or check box
- ///--------------------------------------------------------------------------------------
-
- void ToggleDItemValue(DialogPtr dlgP, short itemNum)
- {
- short itemType;
- Rect itemRect;
- Handle itemH;
-
- GetDialogItem( dlgP, itemNum, &itemType, &itemH, &itemRect );
- SetControlValue( (ControlHandle)itemH, !(GetControlValue( (ControlHandle)itemH)) );
- }
-
-
- ///--------------------------------------------------------------------------------------
- // SetDItemToUserItem
- //
- // set a dialog item to a user item
- ///--------------------------------------------------------------------------------------
-
- void SetDItemToUserItem(DialogPtr dlgP, short itemNum, Handle theUserItemUPP)
- {
- short itemType;
- Rect itemRect;
- Handle itemH;
-
- GetDialogItem( dlgP, itemNum, &itemType, &itemH, &itemRect );
- SetDialogItem (dlgP, itemNum, itemType, (Handle)theUserItemUPP, &itemRect);
- }
-
-
- ///--------------------------------------------------------------------------------------
- // SetDItemControlAction
- ///--------------------------------------------------------------------------------------
-
- void SetDItemControlAction(DialogPtr dlgP, short itemNum, ControlActionUPP actionProcUPP)
- {
- short itemType;
- Rect itemRect;
- Handle itemH;
-
- GetDialogItem( dlgP, itemNum, &itemType, &itemH, &itemRect );
- SetControlAction( (ControlHandle)itemH, actionProcUPP );
- }
-
-
- ///--------------------------------------------------------------------------------------
- // OutlineDefaultButton
- ///--------------------------------------------------------------------------------------
-
- void OutlineDefaultButton(DialogPtr dlgP, short itemNum)
- {
- Rect buttonRect;
-
- GetDItemRect(dlgP, itemNum, &buttonRect);
-
- InsetRect(&buttonRect, -4, -4);
- PenSize(3, 3);
- FrameRoundRect(&buttonRect, 16, 16);
- PenNormal();
- }
-
-
- ///--------------------------------------------------------------------------------------
- // ClickDialogButton
- ///--------------------------------------------------------------------------------------
-
- void ClickDialogButton(DialogPtr dlgP, short itemNum)
- {
- ControlHandle dialogButtonH;
- unsigned long finalTicks;
-
- dialogButtonH = (ControlHandle)GetDItemHandle(dlgP, itemNum);
-
- if (dialogButtonH != NULL)
- {
- HiliteControl(dialogButtonH, 1);
- Delay(10, &finalTicks);
- HiliteControl(dialogButtonH, 0);
- }
- }
-
-
-
-