#include "./resid.h" #include <Common.h> #include <System/SysAll.h> #include <UI/UIAll.h> static Word StartApplication(void); static void EventLoop(void); static Boolean MainFrmHandler(EventPtr p); DWord PilotMain(Word cmd, Ptr cmdPBP, Word launchflags) { Word error; if (cmd == sysAppLaunchCmdNormalLaunch) { error = StartApplication(); if (error) return error; EventLoop(); } return 0; } static Word StartApplication(void) { FrmGotoForm(MainFormId); return 0; } void EventLoop(void) { short err; int formID; FormPtr form; EventType event; do { EvtGetEvent(&event, 200); if (SysHandleEvent(&event)) continue; if (MenuHandleEvent((void *)0,&event, &err)) \ continue; if (event.eType == frmLoadEvent) { formID = event.data.frmLoad.formID; form = FrmInitForm(formID); FrmSetActiveForm(form); switch (formID) { case MainFormId: FrmSetEventHandler(form, &MainFrmHandler); break; } } FrmDispatchEvent(&event); } while(event.eType != appStopEvent); } static Boolean MainFrmHandler(EventPtr event) { int handled = 0; FormPtr form; int i; switch (event->eType) { case frmOpenEvent: form = FrmGetActiveForm(); FrmDrawForm(form); handled = 1; WinDrawChars((char *) "Hello World",11,100,50); break; case menuEvent: FrmAlert(alertID_about); handled = 1; break; } return handled; }