mirror of https://github.com/minexew/Shrine.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
213 lines
5.6 KiB
213 lines
5.6 KiB
#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); |
|
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 |
|
|
|
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" |
|
"$$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$$" |
|
"$$CM+LX,1,3 $$$$BT,\"Cancel \",LE=DOCM_CANCEL$$\n", |
|
FILEMASK_TXT,FILEMASK_DD,FILEMASK_JIT,FILEMASK_GR); |
|
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_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; |
|
}
|
|
|