switch (event->eType) {
case frmOpenEvent:
if (!gAddRecord) {
Char title[32];
ReadProgramTitle(gEditProgRecord, title);
ReadProgramCode(gEditProgRecord, gProgramStr);
SetFieldText(fieldEditProgTitleID, title);
SetFieldText(fieldEditProgCodeID, gProgramStr);
// 'gProgramStr' is just used as a temporary buffer.
case fldChangedEvent:
UpdateScrollBar(fieldEditProgCodeID, scrollbarEditProgCodeID);
handled = true;
break;
case sclRepeatEvent:
ScrollLines(event->data.sclRepeat.newValue
- event->data.sclRepeat.value, fieldEditProgCodeID);
UpdateScrollBar(fieldEditProgCodeID, scrollbarEditProgCodeID);
break;
case ctlSelectEvent:
switch(event->data.ctlSelect.controlID) {
case buttonEditProgOkID:
{
CharPtr title = FldGetTextPtr(GetObjectPtr(fieldEditProgTitleID));
CharPtr code = FldGetTextPtr(GetObjectPtr(fieldEditProgCodeID));
if (CheckProgData(&title, &code)) {
if (gAddRecord) {
AddProgramRecord(gEditProgRecord, title, code);
} else {
ModifyProgramRecord(gEditProgRecord, title, code);
}
gLastExecProgRec = -1;
FrmUpdateForm(NULL, 0); // NULL means a dummy form pointer.
FrmReturnToForm(0); // '0' means the last form.
}
}
handled = true;
break;
case buttonEditProgCancelID:
FrmUpdateForm(NULL, 0); // NULL means a dummy form pointer.
FrmReturnToForm(0); // '0' means the last form.
handled = true;
break;
}
break;
case menuEvent:
switch (event->data.menu.itemID) {
case menuitemEditProgInsInpexprID:
FldInsert(GetObjectPtr(fieldEditProgCodeID), "@INPEXPR", 8);
handled = true;
break;
case menuitemEditProgInsDispID:
FldInsert(GetObjectPtr(fieldEditProgCodeID), "@DISP \"\"", 8);
handled = true;
break;
case menuitemEditProgInsSetexprID:
FldInsert(GetObjectPtr(fieldEditProgCodeID), "@SETEXPR \"\"", 11);
handled = true;
break;
case menuitemEditProgInsEvalID:
FldInsert(GetObjectPtr(fieldEditProgCodeID), "@EVAL", 5);
handled = true;
break;
case menuitemEditProgInsStmemID:
FldInsert(GetObjectPtr(fieldEditProgCodeID), "@STMEM ", 7);
handled = true;
break;
case menuitemEditProgHelpID:
FrmHelp(helpEditProgID);
handled = true;
default:
handled = HandleCommonEditMenu(event->data.menu.itemID);
}