home *** CD-ROM | disk | FTP | other *** search
- #include <ctype.h>
- #include <string.h>
- #include <Devices.h>
- #include <Dialogs.h>
- #include "AppleMenu.h"
- #include "Notice.h"
- #include "QDContext.h"
- #include "StringUtils.h"
- #include "Version.h"
-
-
-
-
-
- AppleMenu::AppleMenu(void) : BaseMenu(256)
- {
- AppendResMenu(fMenu,'DRVR');
- }
-
-
-
-
-
- void AppleMenu::HandleSelect(UInt32 item)
- {
- QDContext context;
- Str255 name;
-
-
- switch(item)
- {
- case 1:
- ShowAboutBox();
- break;
-
- default:
- GetMenuItemText(fMenu,item,name);
- OpenDeskAcc(name);
- break;
- }
- }
-
-
-
-
-
- void AppleMenu::HandleSetDisableState(Boolean isBeingDisabled)
- {
- if (isBeingDisabled)
- DisableItem(fMenu,1);
- else
- EnableItem(fMenu,1);
- }
-
-
- #pragma mark -
-
-
- void AppleMenu::ShowAboutBox(void)
- {
- Str31 vnum,vers;
- Str255 name;
- OSStatus err;
-
- // Get app name from Apple Menu.
- GetMenuItemText(fMenu,1,name);
- while((name[0] > 0) && !isspace(name[1]))
- memmove(&name[1],&name[2],--name[0]);
- while((name[0] > 0) && isspace(name[1]))
- memmove(&name[1],&name[2],--name[0]);
- while((name[0] > 0) && ((char)name[name[0]] == (char)'…'))
- name[0] -= 1;
-
- // Get version from vers resource.
- err = GetNumVersionPString(vnum);
- if (err == noErr)
- {
- pstrcpy(vers,"\pversion: ");
- pstrcat(vers,vnum);
- }
- else
- vers[0] = 0;
-
- PostNotice(kAlertNoteAlert,name,vers);
- }
-