home *** CD-ROM | disk | FTP | other *** search
- /* SetFontDialog.c */
- /*
- * SetFontDialog.c
- * Copyright © 1993-94 Apple Computer Inc. All rights reserved.
- */
- #define CountMenuItems CountMItems /* TEMP for MetroWerks Interface Library */
-
- #include "DisplayNameRegistry.h"
-
- enum {
- kDialogOKButton = 1,
- kDialogCancelButton,
- kDialogFontNamePopup,
- kDialogFontSizePopup
- };
-
- Boolean
- SetFontInfoDialog(
- register BrowserPtr browserPtr
- )
- {
- DialogPtr theDialog;
- short itemType;
- Rect itemRect;
- short i;
- short nMenuItems;
- short itemHit;
- long fontSize;
- Str255 fontSizeText;
- Str255 work;
- GrafPtr savePort;
- MenuHandle fontNameMenu;
- MenuHandle fontSizeMenu;
- ControlHandle fontNamePopup;
- ControlHandle fontSizePopup;
-
- itemHit = kDialogCancelButton;
- GetPort(&savePort);
- fontNameMenu = GetMenu(MENU_FontName);
- AppendResMenu(fontNameMenu, 'FONT');
- fontSizeMenu = GetMenu(MENU_FontSize);
- theDialog = GetNewDialog(DLOG_SetFontInfo, NULL, (WindowPtr) -1L);
- if (theDialog != NULL) {
- SetPort(theDialog);
- GetDialogItem(
- theDialog,
- kDialogFontNamePopup,
- &itemType,
- (Handle *) &fontNamePopup,
- &itemRect
- );
- GetDialogItem(
- theDialog,
- kDialogFontSizePopup,
- &itemType,
- (Handle *) &fontSizePopup,
- &itemRect
- );
- SetDialogDefaultItem(theDialog, kDialogOKButton);
- SetDialogCancelItem(theDialog, kDialogCancelButton);
- /*
- * Initialize the font name popup menu
- */
- nMenuItems = CountMenuItems(fontNameMenu);
- for (i = 1; i <= nMenuItems; i++) {
- GetMenuItemText(fontNameMenu, i, work);
- if (EqualString(work, BROWSER.fontNameText, FALSE, FALSE))
- break;
- }
- SetControlValue(fontNamePopup, (i <= nMenuItems) ? i : 1);
- /*
- * Initialize the font size popup menu
- */
- NumToString(BROWSER.fontSize, fontSizeText);
- nMenuItems = CountMenuItems(fontSizeMenu);
- for (i = 1; i <= nMenuItems; i++) {
- GetMenuItemText(fontSizeMenu, i, work);
- if (EqualString(work, fontSizeText, FALSE, FALSE))
- break;
- }
- SetControlValue(fontSizePopup, (i <= nMenuItems) ? i : 1);
- ShowWindow(theDialog);
- do {
- ModalDialog(NULL, &itemHit);
- } while (itemHit != kDialogOKButton && itemHit != kDialogCancelButton);
- if (itemHit == kDialogOKButton) {
- GetMenuItemText(
- fontNameMenu,
- GetControlValue(fontNamePopup),
- BROWSER.fontNameText
- );
- GetFNum(BROWSER.fontNameText, &BROWSER.fontNumber);
- GetMenuItemText(
- fontSizeMenu,
- GetControlValue(fontSizePopup),
- fontSizeText
- );
- StringToNum(fontSizeText, &fontSize);
- BROWSER.fontSize = fontSize;
- }
- DisposeDialog(theDialog);
- }
- SetPort(savePort);
- return (itemHit == kDialogOKButton);
- }
-