home *** CD-ROM | disk | FTP | other *** search
- /* MainMenu.c */
- /* Created 930522 09:34 AM by AppMaker */
-
- #include <Types.h>
- #include <Quickdraw.h>
- #include <Controls.h>
- #include <Dialogs.h>
- #include <Events.h>
- #include <Lists.h>
- #include <Menus.h>
- #include <TextEdit.h>
- #include "Globals.h"
- #include "ResourceDefs.h"
- #include "Miscellany.h"
- #include "PredatorPrey.h"
- #include "FileM.h"
- #include "EditM.h"
-
-
- /*#include "ViewM.h"*/
-
- #include <Desk.h>
- #include <ToolUtils.h>
- #include "MainMenu.h"
-
-
- static void Enable (short itemNr,
- Boolean enabled);
- static void EnableTitle (MenuHandle menu,
- Boolean enabled);
- static void DoApple (short itemNr);
-
- void mainMenu_seg() {} /* for reference in "UnloadSeg()" calls */
-
- /*----------*/
- void InitTitles (void)
- {
- /*InitFileM ();*/
- /* InitEditM ();*/
- /* InitViewM ();*/
-
- } /*InitTitles*/
-
- /*----------*/
- /*void LoadMenus (void)*/
- /*{*/
- /* AppleMenu = GetMenu (AppleID);*/
- /* FailNilResource ((Handle)AppleMenu);*/
- /* AddResMenu (AppleMenu, 'DRVR');*/
- /* FileMenu = GetMenu (FileID);*/
- /* EditMenu = GetMenu (EditID);*/
- /* FormulasMenu = GetMenu (FormulasID);*/
- /* OptionsMenu = GetMenu (OptionsID);*/
- /* ViewMenu = GetMenu (ViewID);*/
- /* */
- /* InsertMenu (AppleMenu, 0);*/
- /* InsertMenu (FileMenu, 0);*/
- /* InsertMenu (EditMenu, 0);*/
- /* InsertMenu (FormulasMenu, 0);*/
- /* InsertMenu (OptionsMenu, 0);*/
- /* InsertMenu (ViewMenu, 0);*/
- /* */
- /* DrawMenuBar ();*/
- /*}*/ /*LoadMenus*/
-
- /*----------*/
- /*static void DoAbout (void)*/
- /*{*/
- /* short itemNr;*/
- /**/
- /* itemNr = Alert (AboutID, nil);*/
- /*}*/ /*DoAbout*/
-
-
- /*----------*/
- /*static void DoApple (short itemNr)*/
- /*{*/
- /* Str255 name;*/
- /* short refNum;*/
- /**/
- /* switch (itemNr) {*/
- /* case AppleAbout:*/
- /* DoAbout ();*/
- /* break;*/
- /* */
- /* default:*/
- /* GetItem (AppleMenu, itemNr, name);*/
- /* refNum = OpenDeskAcc (name);*/
- /* break;*/
- /* } /*switch»*/
- /*}*/ /*DoApple*/
-
- /*----------*/
- void DoMenu (long menuChoice)
- {
- short menuID;
- short itemNr;
-
- menuID = HiWord (menuChoice);
- itemNr = LoWord (menuChoice);
-
- switch (menuID) {
- case 0:
- /*Do nothing*/;
- break;
- /* case AppleID:*/
- /* DoApple (itemNr);*/
- /* break;*/
- /* case FileID:*/
- /* DoFile (itemNr); /* FileM.c »*/
- /* break;*/
- case EditID:
- DoEdit (itemNr);
- break;
- /* case FormulasID:*/
- /* DoFormulas (itemNr); /* FormulasM.c »*/
- /* break;*/
- /* case OptionsID:*/
- /* DoOptions (itemNr);*/
- /* break;*/
- /* case ViewID:*/
- /* DoView (itemNr);*/
- /* break;*/
- /* */
- } /*switch*/
-
- HiliteMenu (0);
- } /*DoMenu*/
-
- /*----------*/
- MenuHandle menu;
- Boolean menuBarChanged;
-
- /*----------*/
- static void Enable (short itemNr,
- Boolean enabled)
- {
- if (enabled) {
- EnableItem (menu, itemNr);
- } else {
- DisableItem (menu, itemNr);
- }
- } /*Enable*/
-
- /*----------*/
- static void EnableTitle (MenuHandle menu,
- Boolean enabled)
- {
- if (enabled != ((**menu).enableFlags & 1)) {
- menuBarChanged = true;
- }
- if (enabled) {
- EnableItem (menu, 0);
- } else {
- DisableItem (menu, 0);
- }
- } /*EnableTitle*/
-
- /*----------*/
- void UpdateMenus (void)
- {
- WindowPeek frontPeek;
- Boolean isFront; /*is there a front window?*/
- Boolean isCur; /*is there a current window?*/
- Boolean isDirty; /*is it dirty?*/
- Boolean hasFile; /*does it have a file?*/
- Boolean isSelected; /*is anything selected?*/
- Boolean isDesk; /*is the front window a desk acc?*/
- Boolean isText; /*is there a current text field?*/
- Boolean isScrap; /*is there any scrap?*/
- menuBarChanged = false;
-
- isFront = (FrontWindow () != nil);
- isCur = (curWindow != nil);
- isDirty = false;
- hasFile = false;
- isSelected = false;
- if (isCur) {
- isDirty = cur->dirty;
- hasFile = (cur->fileNum != 0);
- }
-
- isDesk = false;
- if (isFront) {
- frontPeek = (WindowPeek) FrontWindow ();
- isDesk = (frontPeek->windowKind < 0);
- }
- isText = isCur;
- isScrap = false;
- if (isText) {
- /*if(cur->text != nil)*/
- /* {*/
- /* isSelected = ((**(cur->text)).selStart != (**(cur->text)).selEnd);*/
- /* isScrap = (TEGetScrapLen () > 0);*/
- /* }*/
- // if (cur->rText != nil)
- // {
- // isSelected = ((**(cur->rText)).selStart != (**(cur->rText)).selEnd);
- // isScrap = (TEGetScrapLen () > 0);
- // }
- }
-
- /* menu = FileMenu;*/
- /* Enable (FileClose, isFront);*/
- /* Enable (FileSave, isDirty);*/
- /* Enable (FileSaveAs, isCur);*/
- /* Enable (FileRevert, isDirty);*/
-
- menu = gEditMenu;
- if (isFront) {
- Enable (EditUndo, isDesk);
- Enable (EditCut, isDesk || isSelected);
- Enable (EditCopy, isDesk || isSelected);
- Enable (EditPaste, isDesk || isScrap);
- Enable (EditClear, isDesk || isSelected);
- /* Enable (EditSelectAll, isText);*/
- /* Enable (EditCreatePublisher, sysConfig.hasEditionMgr && isSelected);*/
- /* Enable (EditSubscribeTo, sysConfig.hasEditionMgr && (!isSelected));*/
- /* Enable (EditSubscriberOptions, false /* (publisherSelected || subscriberSelected) »);*/
-
- }
- EnableTitle (gEditMenu, isFront);
-
-
- if (menuBarChanged) {
- DrawMenuBar ();
- }
- } /*UpdateMenus*/
-
- /* MainMenu */
-