#help_index "DolDoc/Task;StdOut/Task" public CDoc *DocBorderNew(CDoc *pdoc) {//Make new std border doc. CDocEntry *doc_e; CDoc *bdoc; bdoc=DocNew; bdoc->flags|=DOCF_BORDER_DOC; if (pdoc) { DocPrint(bdoc,"$CM+H+BY+RX+NC,-7,1$"); doc_e=DocPrint(bdoc,"$TX+H+BD+TC,\" \"$"); doc_e->user_data=pdoc; doc_e->tag_cb=&EdFilterCB; doc_e=DocPrint(bdoc,"$TX+H+BD+TC,\" \"$"); doc_e->user_data=pdoc; doc_e->tag_cb=&EdOverStrikeCB; doc_e=DocPrint(bdoc,"$TX+H+BD+TC,\" \"$"); doc_e->user_data=pdoc; doc_e->tag_cb=&EdDollarCB; DocPrint(bdoc,"$CM+H+BY+RX+NC,-18,1$"); doc_e=DocPrint(bdoc,"$TX+BD+TC,\" \"$"); doc_e->user_data=pdoc; doc_e->tag_cb=&EdMoreCB; doc_e=DocPrint(bdoc,"$TX+H+BD+TC,\" \"$"); doc_e->user_data=pdoc; doc_e->tag_cb=&EdDollarTypeCB; } DocPrint(bdoc,"$CM+H+TY+NC,0,-1$"); doc_e=DocPrint(bdoc,"$DA+H-TRM-P+BD+RD+CX+IV,LEN=STR_LEN-1," "A=\"%%s...\",SCX=15$"); doc_e->data=&Fs->task_title; DocDataFmt(bdoc,doc_e); DocPrint(bdoc,"$CM+H+NC,1,0$$TX+H+BD+IV,\"%X\"$",Fs); DocPrint(bdoc,"$TX+H+RX+BD,\"[X]\"$"); DocPrint(bdoc,"$BK,1$$TX+H+LX+BD,\"MENU\"$$BK,0$"); return bdoc; } public U0 DocTermNew() {//Make into term win task with Put/Display/Border docs. CDoc *pdoc=DocNew; pdoc->right_click_link=&TermRightClickLink; pdoc->max_entries=4096; Fs->border_src=BDS_CUR_DRV; pdoc->desc='Term'; Fs->put_doc=Fs->display_doc=pdoc; Fs->border_doc=DocBorderNew(pdoc); Fs->cur_menu=MenuFile("::/Doc/EdPullDown.DD"); WinScrollsInit(Fs); StrCpy(Fs->task_name,"DocTerm"); Raw(OFF); } #help_index "DolDoc" #define RIGHT_INCLUDE 0 #define RIGHT_AINCLUDE 1 #define RIGHT_COPY 2 #define RIGHT_MOVE 3 #define RIGHT_DELETE 4 #define RIGHT_TYPE 5 #define RIGHT_ED 6 #define RIGHT_MOUNT 7 #define RIGHT_PLAIN 8 #define RIGHT_INFILE 9 #define RIGHT_VIEW 10 I64 PopUpTermRight(U8 *header) { I64 i; CDoc *doc=DocNew; if (header) DocPrint(doc,"%s",header); DocPrint(doc,"\n\n" "TXT=%s\nDD =%s\nJIT=%s\nGR =%s", FILEMASK_TXT,FILEMASK_DD,FILEMASK_JIT,FILEMASK_GR); DocPrint(doc, "$CM+LX,1,3 $$BT,\"Include JIT\",LE=RIGHT_INCLUDE$" "$CM+LX,25,0$$BT,\"Adam Include JIT\",LE=RIGHT_AINCLUDE$" "$CM+LX,1,3 $$BT,\"Copy \",LE=RIGHT_COPY$" "$CM+LX,25,0$$BT,\"Move or Rename \",LE=RIGHT_MOVE$" "$CM+LX,1,3 $$BT,\"Delete \",LE=RIGHT_DELETE$" "$CM+LX,25,0$$BT,\"Type TXT;GR\",LE=RIGHT_TYPE$" "$CM+LX,1,3 $$BT,\"DolDoc Edit DD\",LE=RIGHT_ED$" "$CM+LX,25,0$$BT,\"Mount ISO.C\",LE=RIGHT_MOUNT$" "$CM+LX,1,3 $$BT,\"Plain Text Edit TXT\",LE=RIGHT_PLAIN$" "$CM+LX,25,0$$BT,\"Infile IN\",LE=RIGHT_INFILE$"); if (StrNCmp(".GR",FileExtDot(header),3)) DocPrint(doc,"$CM+LX,1,3 $$BT,\"Cancel \",LE=DOCM_CANCEL$\n"); else { DocPrint(doc,"$CM+LX,1,3 $$BT,\"View \",LE=RIGHT_VIEW$"); DocPrint(doc,"$CM+LX,25,0 $$BT,\"Cancel \",LE=DOCM_CANCEL$\n"); } i=PopUpMenu(doc); DocDel(doc); return i; } I64 EdLeftClickLink(CDoc *doc,CDocEntry *doc_e) {//Called with doc locked, exit unlocked Bool res; U8 *st; if (st=DocEntryLink(doc,doc_e)) { DocUnlock(doc); if (doc_e->de_flags & DOCEF_POPUP) res=PopUpEd(st); else res=Ed(st); Free(st); return res; } } I64 TermRightClickLink(CDoc *doc,CDocEntry *doc_e) {//Called with doc locked, exit unlocked Bool send_new_line=FALSE,res=FALSE; U8 *st,*st2; I64 i; CEdFileName fn; if (st2=DocEntryLink(doc,doc_e)) { if (st=DocLinkFile(st2)) { DocUnlock(doc); if ((i=PopUpTermRight(st))>=0) { DocBottom(doc); switch (i) { case RIGHT_INCLUDE: if (FileExtDot(st) && !FilesFindMatch(st,FILEMASK_JIT)) { if (!PopUpCancelOk(ST_WARN_ST "Not .HC File\n\n")) { send_new_line=TRUE; break; } } "#include \"%s\";\n$PT$$FG$$BG$",st; WinZBufUpdate; ExeFile(st,CCF_CMD_LINE); res=TRUE; break; case RIGHT_AINCLUDE: if (FileExtDot(st) && !FilesFindMatch(st,FILEMASK_JIT)) { if (!PopUpCancelOk(ST_WARN_ST "Not .HC File\n\n")) { send_new_line=TRUE; break; } } "Adam(\"#include \\\"%s\\\"\" );\n$PT$$FG$$BG$",st; WinZBufUpdate; AdamFile(st,FALSE); res=TRUE; break; case RIGHT_COPY: StrCpy(fn.name,st); if (DocForm(&fn)) { res=ToBool(Copy(st,fn.name)); } else send_new_line=TRUE; break; case RIGHT_MOVE: StrCpy(fn.name,st); if (DocForm(&fn)) res=Move(st,fn.name); else send_new_line=TRUE; break; case RIGHT_DELETE: res=ToBool(Del(st)); break; case RIGHT_TYPE: res=Type(st); break; case RIGHT_VIEW: res=0; GrView(st); break; case RIGHT_ED: if (FileExtDot(st) && !FilesFindMatch(st,FILEMASK_DD)) { if (!PopUpCancelOk(ST_WARN_ST "Not DolDoc File\n\n")) { send_new_line=TRUE; break; } } "Ed(\"%s\");\n$PT$$FG$$BG$",st; res=Ed(st); break; case RIGHT_MOUNT: if (FileExtDot(st) && !FilesFindMatch(st,"*.ISO.C")) { if (!PopUpCancelOk(ST_WARN_ST "Not .ISO.C File\n\n")) { send_new_line=TRUE; break; } } "MountFile(\"%s\");\n$PT$$FG$$BG$",st; WinZBufUpdate; MountFile(st); res=TRUE; break; case RIGHT_PLAIN: "Plain(\"%s\");\n$PT$$FG$$BG$" ,st; res=Plain(st); break; case RIGHT_INFILE: if (FileExtDot(st) && !FilesFindMatch(st,"*.IN*")) { if (!PopUpCancelOk(ST_WARN_ST "Not .IN File\n\n")) { send_new_line=TRUE; break; } } "InFile(\"%s\");\n$PT$$FG$$BG$",st; WinZBufUpdate; InFile(st); res=TRUE; break; } } else send_new_line=TRUE; Free(st); } else send_new_line=TRUE; Free(st2); } else send_new_line=TRUE; DocBottom(doc); "$PT$$FG$$BG$"; if (send_new_line) '\n'; return res; }