static void releaseObjRecords(void); static Boolean ObjectsEventHandler(EventPtr event); static void initObjRecords( FormPtr frm ); static void freeObjRecords(void); static void redrawObjFields( void ); static int currentObjRecord = DBObjRecordsStart; static Boolean ObjectsEventHandler(EventPtr event) { FormPtr frm; Err error; VoidHand RecHandle; Ptr RecPointer; switch (event->eType) { case frmOpenEvent: WinEraseWindow(); frm = FrmGetActiveForm(); currentObjRecord = DBObjRecordsStart; initObjRecords(frm); FrmDrawForm (frm); break; case ctlSelectEvent: if (event->data.ctlEnter.controlID== buttonID_objGet1) { StrCopy(&text_rakoor[0],(const char *)FldGetTextPtr(fieldptr_objRa1)); RecHandle = DmGetRecord(eldobDB,28); RecPointer = MemHandleLock(RecHandle); DmWrite(RecPointer, 0, &text_rakoor[0], 10); MemPtrUnlock(RecPointer); DmReleaseRecord(eldobDB, 28, true); StrCopy(&text_deckoor[0],(const char *)FldGetTextPtr(fieldptr_objDec1)); RecHandle = DmGetRecord(eldobDB,29); RecPointer = MemHandleLock(RecHandle); DmWrite(RecPointer, 0, &text_deckoor[0], 10); MemPtrUnlock(RecPointer); DmReleaseRecord(eldobDB, 29, true); freeObjRecords(); releaseObjRecords(); FrmGotoForm(formID_MainMenu); } if (event->data.ctlEnter.controlID== buttonID_objGet2) { StrCopy(&text_rakoor[0],(const char *)FldGetTextPtr(fieldptr_objRa2)); RecHandle = DmGetRecord(eldobDB,28); RecPointer = MemHandleLock(RecHandle); DmWrite(RecPointer, 0, &text_rakoor[0], 10); MemPtrUnlock(RecPointer); DmReleaseRecord(eldobDB, 28, true); StrCopy(&text_deckoor[0],(const char *)FldGetTextPtr(fieldptr_objDec2)); RecHandle = DmGetRecord(eldobDB,29); RecPointer = MemHandleLock(RecHandle); DmWrite(RecPointer, 0, &text_deckoor[0], 10); MemPtrUnlock(RecPointer); DmReleaseRecord(eldobDB, 29, true); freeObjRecords(); releaseObjRecords(); FrmGotoForm(formID_MainMenu); } if (event->data.ctlEnter.controlID== buttonID_objGet3) { StrCopy(&text_rakoor[0],(const char *)FldGetTextPtr(fieldptr_objRa3)); RecHandle = DmGetRecord(eldobDB,28); RecPointer = MemHandleLock(RecHandle); DmWrite(RecPointer, 0, &text_rakoor[0], 10); MemPtrUnlock(RecPointer); DmReleaseRecord(eldobDB, 28, true); StrCopy(&text_deckoor[0],(const char *)FldGetTextPtr(fieldptr_objDec3)); RecHandle = DmGetRecord(eldobDB,29); RecPointer = MemHandleLock(RecHandle); DmWrite(RecPointer, 0, &text_deckoor[0], 10); MemPtrUnlock(RecPointer); DmReleaseRecord(eldobDB, 29, true); freeObjRecords(); releaseObjRecords(); FrmGotoForm(formID_MainMenu); } if (event->data.ctlEnter.controlID== buttonID_objGet4) { StrCopy(&text_rakoor[0],(const char *)FldGetTextPtr(fieldptr_objRa4)); RecHandle = DmGetRecord(eldobDB,28); RecPointer = MemHandleLock(RecHandle); DmWrite(RecPointer, 0, &text_rakoor[0], 10); MemPtrUnlock(RecPointer); DmReleaseRecord(eldobDB, 28, true); StrCopy(&text_deckoor[0],(const char *)FldGetTextPtr(fieldptr_objDec4)); RecHandle = DmGetRecord(eldobDB,29); RecPointer = MemHandleLock(RecHandle); DmWrite(RecPointer, 0, &text_deckoor[0], 10); MemPtrUnlock(RecPointer); DmReleaseRecord(eldobDB, 29, true); freeObjRecords(); releaseObjRecords(); FrmGotoForm(formID_MainMenu); } if (event->data.ctlEnter.controlID== buttonID_objPrev) { frm = FrmGetActiveForm(); freeObjRecords(); releaseObjRecords(); currentObjRecord = currentObjRecord - DBObjRecordsView; if(currentObjRecord < DBObjRecordsStart){ currentObjRecord = DBObjRecordsStart; } initObjRecords(frm); redrawObjFields(); return true; } if (event->data.ctlEnter.controlID== buttonID_objNext) { frm = FrmGetActiveForm(); freeObjRecords(); releaseObjRecords(); currentObjRecord = currentObjRecord + DBObjRecordsView; if(currentObjRecord >= DBObjRecordsEnd){ currentObjRecord = DBObjRecordsEnd - DBObjRecordsView; } initObjRecords(frm); redrawObjFields(); return true; } break; default: return false; } return true; } static void releaseObjRecords(void) { DmReleaseRecord(eldobDB,currentObjRecord,true); DmReleaseRecord(eldobDB,currentObjRecord + 1,true); DmReleaseRecord(eldobDB,currentObjRecord + 2,true); DmReleaseRecord(eldobDB,currentObjRecord + 3,true); DmReleaseRecord(eldobDB,currentObjRecord + 4,true); DmReleaseRecord(eldobDB,currentObjRecord + 5,true); DmReleaseRecord(eldobDB,currentObjRecord + 6,true); DmReleaseRecord(eldobDB,currentObjRecord + 7,true); DmReleaseRecord(eldobDB,currentObjRecord + 8,true); DmReleaseRecord(eldobDB,currentObjRecord + 9,true); DmReleaseRecord(eldobDB,currentObjRecord + 10,true); DmReleaseRecord(eldobDB,currentObjRecord + 11,true); } static void initObjRecords( FormPtr frm ) { fieldptr_objName1 = FrmGetObjectPtr(frm, FrmGetObjectIndex(frm, fieldID_objName1)); FldSetTextHandle (fieldptr_objName1, (Handle) DmGetRecord(eldobDB, currentObjRecord + 0)); fieldptr_objRa1 = FrmGetObjectPtr(frm, FrmGetObjectIndex(frm, fieldID_objRa1)); FldSetTextHandle (fieldptr_objRa1, (Handle) DmGetRecord(eldobDB, currentObjRecord + 1)); fieldptr_objDec1 = FrmGetObjectPtr(frm, FrmGetObjectIndex(frm, fieldID_objDec1)); FldSetTextHandle (fieldptr_objDec1, (Handle) DmGetRecord(eldobDB, currentObjRecord + 2)); fieldptr_objName2 = FrmGetObjectPtr(frm, FrmGetObjectIndex(frm, fieldID_objName2)); FldSetTextHandle (fieldptr_objName2, (Handle) DmGetRecord(eldobDB, currentObjRecord + 3)); fieldptr_objRa2 = FrmGetObjectPtr(frm, FrmGetObjectIndex(frm, fieldID_objRa2)); FldSetTextHandle (fieldptr_objRa2, (Handle) DmGetRecord(eldobDB, currentObjRecord + 4)); fieldptr_objDec2 = FrmGetObjectPtr(frm, FrmGetObjectIndex(frm, fieldID_objDec2)); FldSetTextHandle (fieldptr_objDec2, (Handle) DmGetRecord(eldobDB, currentObjRecord + 5)); fieldptr_objName3 = FrmGetObjectPtr(frm, FrmGetObjectIndex(frm, fieldID_objName3)); FldSetTextHandle (fieldptr_objName3, (Handle) DmGetRecord(eldobDB, currentObjRecord + 6)); fieldptr_objRa3 = FrmGetObjectPtr(frm, FrmGetObjectIndex(frm, fieldID_objRa3)); FldSetTextHandle (fieldptr_objRa3, (Handle) DmGetRecord(eldobDB, currentObjRecord + 7)); fieldptr_objDec3 = FrmGetObjectPtr(frm, FrmGetObjectIndex(frm, fieldID_objDec3)); FldSetTextHandle (fieldptr_objDec3, (Handle) DmGetRecord(eldobDB, currentObjRecord + 8)); fieldptr_objName4 = FrmGetObjectPtr(frm, FrmGetObjectIndex(frm, fieldID_objName4)); FldSetTextHandle (fieldptr_objName4, (Handle) DmGetRecord(eldobDB, currentObjRecord + 9)); fieldptr_objRa4 = FrmGetObjectPtr(frm, FrmGetObjectIndex(frm, fieldID_objRa4)); FldSetTextHandle (fieldptr_objRa4, (Handle) DmGetRecord(eldobDB, currentObjRecord + 10)); fieldptr_objDec4 = FrmGetObjectPtr(frm, FrmGetObjectIndex(frm, fieldID_objDec4)); FldSetTextHandle (fieldptr_objDec4, (Handle) DmGetRecord(eldobDB, currentObjRecord + 11)); } static void freeObjRecords(void) { FldSetTextHandle(fieldptr_objName1, NULL); FldSetTextHandle(fieldptr_objRa1, NULL); FldSetTextHandle(fieldptr_objDec1, NULL); FldSetTextHandle(fieldptr_objName2, NULL); FldSetTextHandle(fieldptr_objRa2, NULL); FldSetTextHandle(fieldptr_objDec2, NULL); FldSetTextHandle(fieldptr_objName3, NULL); FldSetTextHandle(fieldptr_objRa3, NULL); FldSetTextHandle(fieldptr_objDec3, NULL); FldSetTextHandle(fieldptr_objName4, NULL); FldSetTextHandle(fieldptr_objRa4, NULL); FldSetTextHandle(fieldptr_objDec4, NULL); } static void redrawObjFields( void ) { FldDrawField(fieldptr_objName1); FldDrawField(fieldptr_objRa1); FldDrawField(fieldptr_objDec1); FldDrawField(fieldptr_objName2); FldDrawField(fieldptr_objRa2); FldDrawField(fieldptr_objDec2); FldDrawField(fieldptr_objName3); FldDrawField(fieldptr_objRa3); FldDrawField(fieldptr_objDec3); FldDrawField(fieldptr_objName4); FldDrawField(fieldptr_objRa4); FldDrawField(fieldptr_objDec4); }