📄 sbpad.c
字号:
file[0] = '\0'; *lastPos = 0; *font = 0; } tmp_free(buff); dbClose(f); return found;}Boolean FSVFormHandleEventSEG(EventPtr e) SEC(IDE);Boolean FSVFormHandleEventSEG(EventPtr e){ Boolean handled = false; FormPtr frm; ListPtr list; int i; switch (e->eType) { case frmOpenEvent: frm = FrmGetActiveForm(); FrmDrawForm(frm); buildUserFileList(); if ( !FSVLoadStatus(curFSVName, &lastDocPos, &lastDocFont) ) { lastDocPos = 0; lastDocFont = 0; lastFSV = 0; } else { lastFSV = 0; for ( i = 0; i < ufstCount; i ++ ) { if ( StrCompare(curFSVName, ufstTable[i]) == 0 ) { lastFSV = i; break; } } } FldSetFont(GetFieldPtr(fldTEXT), lastDocFont); if ( lastDocFont == HK40CustomFont ) lastDocPageSize = 20; else if ( lastDocFont == SM10CustomFont ) lastDocPageSize = 13; else if ( lastDocFont == DOSCustomFont ) lastDocPageSize = 13; else if ( lastDocFont == DOS4CustomFont ) lastDocPageSize = 13; else if ( lastDocFont == 0 || lastDocFont == 1 ) lastDocPageSize = 10; else if ( lastDocFont == 2 ) lastDocPageSize = 8; else lastDocPageSize = 7; list = GetListPtr(lstSection); LstSetListChoices(list, ufstTable, ufstCount); UpdatePopup(trgSection, lstSection, lastFSV, ufstTable); StrCopy(curFSVName, ufstTable[lastFSV]); dispFSV(curFSVName); setTextPos(lastDocPos); autoReturnToForm = 0; FrmSetFocus(frm, FrmGetObjectIndex(frm, fldTEXT)); handled = true; break; case popSelectEvent: switch (e->data.popSelect.controlID) { case trgSection: if ( lastFSV != e->data.popSelect.selection ) { UpdatePopup(trgSection, lstSection, e->data.popSelect.selection, ufstTable); lastFSV = e->data.popSelect.selection; StrCopy(curFSVName, ufstTable[lastFSV]); dispFSV(curFSVName); setTextPos(0); } handled = 1; break; } break; case menuEvent: switch(e->data.menu.itemID) { case mnuNew: lastDocPos = getTextPos(); FSVSaveStatus(curFSVName, lastDocPos, lastDocFont); if ( BasicInputBox("New FileName:", temp, 255) ) { checkSaveFSV(); if ( createNewFSV(temp) ) { lastFSV = 0; for ( i = 0; i < ufstCount; i ++ ) { if ( StrCompare(curFSVName, ufstTable[i]) == 0 ) { lastFSV = i; break; } } list = GetListPtr(lstSection); LstSetListChoices(list, ufstTable, ufstCount); UpdatePopup(trgSection, lstSection, lastFSV, ufstTable); StrCopy(curFSVName, ufstTable[lastFSV]); dispFSV(curFSVName); setTextPos(lastDocPos); } } break; case mnuBeam: lastDocPos = getTextPos(); FSVSaveStatus(curFSVName, lastDocPos, lastDocFont); checkSaveFSV(); beamSendDB(curFSVName); break; case mnuEdit: lastDocPos = getTextPos(); FSVSaveStatus(curFSVName, lastDocPos, lastDocFont); checkSaveFSV(); closeFSV(); FrmGotoForm(MainForm); break; case mnuSave: lastDocPos = getTextPos(); FSVSaveStatus(curFSVName, lastDocPos, lastDocFont); saveFSV(curFSVName); FldSetDirty(fld_ptr(fldTEXT), 0); break; case mnuSaveAs: lastDocPos = getTextPos(); FSVSaveStatus(curFSVName, lastDocPos, lastDocFont); if ( BasicInputBox("New FileName:", temp, 255) ) { frm = FrmGetActiveForm(); saveFSV(temp); lastFSV = 0; for ( i = 0; i < ufstCount; i ++ ) { if ( StrCompare(curFSVName, ufstTable[i]) == 0 ) { lastFSV = i; break; } } list = GetListPtr(lstSection); LstSetListChoices(list, ufstTable, ufstCount); UpdatePopup(trgSection, lstSection, lastFSV, ufstTable); StrCopy(curFSVName, ufstTable[lastFSV]); dispFSV(curFSVName); setTextPos(lastDocPos); } break; case mnuClose: lastDocPos = getTextPos(); FSVSaveStatus(curFSVName, lastDocPos, lastDocFont); checkSaveFSV(); closeFSV(); FrmGotoForm(MainForm); break; case mnuGoto: if ( BasicInputBox("Go to line...", temp, 64) ) { gotoLine(xstrtol(temp)); lastDocPos = getTextPos(); } break; case mnuSearch: if ( BasicInputBox("Search for:", temp, 255) ) { searchFor(temp); lastDocPos = getTextPos(); } break; case mnuSearchAgain: searchAgain(); lastDocPos = getTextPos(); break; case mnuAbout: DoAboutForm(); break; case mnuFileInfo: break; case mnuFSVHelp:// GPlmAlert(HelpFSVStrTID, HelpFSVStringID); break; case mnuUndo: FldUndo(fld_ptr(fldTEXT)); break; case mnuCut: FldCut(fld_ptr(fldTEXT)); break; case mnuCopy: FldCopy(fld_ptr(fldTEXT)); break; case mnuSelAll: FldSetSelection(fld_ptr(fldTEXT), 0, 0xFFFF); break; case mnuPaste: FldPaste(fld_ptr(fldTEXT)); break; case mnuKeyboard: SysKeyboardDialog(kbdDefault); break; case mnuGraffiti: SysGraffitiReferenceDialog(referenceDefault); break; case mnuFont0: FldSetFont(fld_ptr(fldTEXT), (lastDocFont = stdFont)); lastDocPageSize = 10; break; case mnuFont1: FldSetFont(fld_ptr(fldTEXT), (lastDocFont = boldFont)); lastDocPageSize = 10; break; case mnuFont2: FldSetFont(fld_ptr(fldTEXT), (lastDocFont = largeFont)); lastDocPageSize = 8; break; case mnuFont7: FldSetFont(fld_ptr(fldTEXT), (lastDocFont = largeBoldFont)); lastDocPageSize = 7; break; case mnuFontHK: if ( os_charset == enc_utf8 ) { FldSetFont(fld_ptr(fldTEXT), (lastDocFont = HK40CustomFont)); lastDocPageSize = 20; } else FrmAlert(AlertCFontMB); break; case mnuFontSM10: if ( os_charset == enc_utf8 ) { FldSetFont(fld_ptr(fldTEXT), (lastDocFont = SM10CustomFont)); lastDocPageSize = 13; } else FrmAlert(AlertCFontMB); break; case mnuFontDOS: if ( os_charset == enc_utf8 ) { FldSetFont(fld_ptr(fldTEXT), (lastDocFont = DOSCustomFont)); lastDocPageSize = 15; } else FrmAlert(AlertCFontMB); break; case mnuFontDOS4: if ( os_charset == enc_utf8 ) { FldSetFont(fld_ptr(fldTEXT), (lastDocFont = DOS4CustomFont)); lastDocPageSize = 15; } else FrmAlert(AlertCFontMB); break; case mnuDelete: FileDelete(0, curFSVName); lastFSV = 0; for ( i = 0; i < ufstCount; i ++ ) { if ( StrCompare(curFSVName, ufstTable[i]) == 0 ) { lastFSV = i; break; } } list = GetListPtr(lstSection); LstSetListChoices(list, ufstTable, ufstCount); UpdatePopup(trgSection, lstSection, lastFSV, ufstTable); StrCopy(curFSVName, ufstTable[lastFSV]); dispFSV(curFSVName); setTextPos(lastDocPos); break; }; handled = true; break; case keyDownEvent: switch ( e->data.keyDown.chr ) { case pageUpChr: /* Prev */ if ( FldScrollable(fld_ptr(fldTEXT), winUp) ) FldScrollField(fld_ptr(fldTEXT), lastDocPageSize, winUp); handled = true; break; case pageDownChr: /* next */ if ( FldScrollable(fld_ptr(fldTEXT), winDown) ) FldScrollField(fld_ptr(fldTEXT), lastDocPageSize, winDown); handled = 1; break; }; break; case ctlSelectEvent: switch(e->data.ctlSelect.controlID) { case btnSFT: FldInsert(fld_ptr(fldTEXT), "\t", 1); handled = true; break; case btnCLOSE: lastDocPos = getTextPos(); FSVSaveStatus(curFSVName, lastDocPos, lastDocFont); checkSaveFSV(); closeFSV(); FrmGotoForm(MainForm); handled = true; break; case btnUP: if ( FldScrollable(fld_ptr(fldTEXT), winUp) ) FldScrollField(fld_ptr(fldTEXT), 1, winUp); handled = true; break; case btnDOWN: if ( FldScrollable(fld_ptr(fldTEXT), winDown) ) FldScrollField(fld_ptr(fldTEXT), 1, winDown); handled = true; break; case btnPGUP: if ( FldScrollable(fld_ptr(fldTEXT), winUp) ) FldScrollField(fld_ptr(fldTEXT), lastDocPageSize, winUp); handled = true; break; case btnPGDN: if ( FldScrollable(fld_ptr(fldTEXT), winDown) ) FldScrollField(fld_ptr(fldTEXT), lastDocPageSize, winDown); handled = true; break; case btnSAVE: lastDocPos = getTextPos(); FSVSaveStatus(curFSVName, lastDocPos, lastDocFont); saveFSV(curFSVName); FldSetDirty(fld_ptr(fldTEXT), 0); handled = true; break; } break; default: break; } return handled;}Boolean FSViewFormHandleEvent(EventPtr e){ return FSVFormHandleEventSEG(e);}//// OUTPUT //////////////////////////////////////////////////////////////////////////////** CALLED FROM BRUN*/int BRUNHandleEvent(EventPtr e){ int rv = 0; switch (e->eType) { case frmCloseEvent: if ( brun_status() == BRUN_RUNNING ) brun_stop(); break; case menuEvent: switch(e->data.menu.itemID) { case mnuRun: brun_stop(); EvtAddEventToQueue(e); rv = 1; break; case mnuBreak: brun_break(); rv = 1; break; case mnuClose: brun_stop(); EvtAddEventToQueue(e); rv = 1; break; case mnuAbout: DoAboutForm(); break; case mnuHelpFS: GPlmAlert(HelpFSStrTID, HelpFSStringID); break; case mnuHelpMisc: GPlmAlert(HelpMiscStrTID, HelpMiscStringID); break; case mnuHelpSys: GPlmAlert(HelpSysStrTID, HelpSysStringID); break; case mnuHelp: GPlmAlert(HelpStrTID, HelpStringID); break; case mnuHelpMS: GPlmAlert(HelpMSStrTID, HelpMSStringID); break; case mnuHelpCon: GPlmAlert(HelpConStrTID, HelpConStringID); break; case mnuHelpGraf: GPlmAlert(HelpGrafStrTID, HelpGrafStringID); break; } break; default: break; } return rv;}//Boolean OutFormHandleEventSEG(EventPtr e) SEC(IDE);Boolean OutFormHandleEventSEG(EventPtr e){ Boolean handled = false; switch (e->eType) { case frmOpenEvent: dev_cls(); brun(curFileName); handled = true; break; case frmCloseEvent: if ( brun_status() == BRUN_RUNNING ) brun_stop(); handled = true; break; case menuEvent: switch(e->data.menu.itemID) { case mnuRun: brun(curFileName); handled = true; break; case mnuClose: if ( autoReturnToForm ) FrmGotoForm(autoReturnToForm); else FrmGotoForm(MainForm); handled = true; break; case mnuAbout: DoAboutForm(); handled = true; break; case mnuHelpFS: GPlmAlert(HelpFSStrTID, HelpFSStringID); handled = true; break; case mnuHelpMisc: GPlmAlert(HelpMiscStrTID, HelpMiscStringID); handled = true; break; case mnuHelpSys: GPlmAlert(HelpSysStrTID, HelpSysStringID); handled = true; break; case mnuHelp: GPlmAlert(HelpStrTID, HelpStringID); handled = true; break; case mnuHelpMS: GPlmAlert(HelpMSStrTID, HelpMSStringID); handled = true; break; case mnuHelpCon: GPlmAlert(HelpConStrTID, HelpConStringID); handled = true; break; case mnuHelpGraf: GPlmAlert(HelpGrafStrTID, HelpGrafStringID); handled = true; break; } break; default: break; } return handled;}Boolean OutFormHandleEvent(EventPtr e){ return OutFormHandleEventSEG(e);}//// MAIN/SELECT /////////////////////////////////////////////////////////////////////////////static void refreshDocList() SEC(IDE);static void refreshDocList(){ ListPtr list; buildDocList(); list = GetListPtr(lstBROWSE); LstSetListChoices(list, docTable, docCount); LstDrawList(list);}static int doFileDetails(char *file) SEC(IDE);static int doFileDetails(char *file){ FormPtr frmPrev, frmDet; ListPtr list; ControlPtr popup; int hit; frmPrev = FrmGetActiveForm(); frmDet = FrmInitForm(DetForm); FrmSetActiveForm(frmDet); FrmSetTitle(frmDet, file); list = GetListPtr(lstCat); LstSetListChoices(list, catList, catCount); LstSetSelection(list, curCat); popup = (ControlPtr) FrmGetObjectPtr(frmDet, FrmGetObjectIndex(frmDet, trgCat)); CtlSetLabel(popup, catList[curCat]); hit = FrmDoDialog(frmDet); if ( hit == btnOK ) { // get vals updateDocCat(file, LstGetSelection(list)); } if ( frmPrev ) FrmSetActiveForm(frmPrev); FrmDeleteForm(frmDet); return ( hit == btnOK );}static int doCatEdit() SEC(IDE);static int doCatEdit(){ FormPtr frmPrev, frmDet; ListPtr list; int hit; frmPrev = FrmGetActiveForm(); frmDet = FrmInitForm(EditCatForm); FrmSetActiveForm(frmDet); list = GetListPtr(lstCat); LstSetListChoices(list, catList, catCount); LstSetSelection(list, curCat); hit = FrmDoDialog(frmDet); if ( hit == btnOK ) { // get vals ; } if ( frmPrev ) FrmSetActiveForm(frmPrev); FrmDeleteForm(frmDet); return ( hit == btnOK );}static Boolean MainFormHandleEventSEG(EventPtr e) SEC(IDE);static Boolean MainFormHandleEventSEG(EventPtr e){ Boolean handled = false; FormPtr frm = NULL; FormPtr frmpop = NULL; ListPtr list; char *fileName; static int lastFile; LocalID LID; FormActiveStateType stateP; switch (e->eType) { case frmOpenEvent: frm = FrmGetActiveForm(); FrmDrawForm(frm); curCat = sbpref.lastCat; buildDocList(); sbpref.lastDocForm = MainForm;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -