home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Fred Fish Collection 1.5
/
ffcollection-1-5-1992-11.iso
/
ff_progs
/
prt_util
/
printfls.lha
/
Source.lha
/
Source
/
prf_docommand.c
< prev
next >
Wrap
C/C++ Source or Header
|
1992-06-16
|
15KB
|
274 lines
/* prf_docommand.c */
/* V091 9-3-92 */
#include "prf.h"
struct EasyStruct AboutReq =
{
0L,0L,(UBYTE *)ABOUT_LINE1,
(UBYTE *)ABOUT_LINE2,
(UBYTE *)ABOUT_LINE3,
};
struct EasyStruct QuitReq =
{
0L,0L,(UBYTE *)QUIT_LINE1,
(UBYTE *)QUIT_LINE2,
(UBYTE *)QUIT_LINE3
};
struct EasyStruct StopReq =
{
0L,0L,(UBYTE *)STOP_LINE1,
(UBYTE *)STOP_LINE2,
(UBYTE *)STOP_LINE3,
};
struct EasyStruct FinalReq =
{
0L,0L,(UBYTE *)FINAL_LINE1,
(UBYTE *)FINAL_LINE2,
(UBYTE *)FINAL_LINE3,
};
long __regargs DoCommand(struct prf_info *info, long cmd)
{
struct StringInfo *s;
struct Node *n;
BOOL rc1;
long ins = CMD_INSERTTAIL;
long rc = CMD_NEUTRAL;
switch(cmd)
{
case CMD_CLOSEPRINTER : rc = CMD_CLOSEPRINTER;
break;
case CMD_ICONINFO : info->flags.icon = 2;
if(info->Pwd)GT_SetGadgetAttrs(info->PGadgets[GD_Icons - PGD],info->Pwd,NULL,GTMX_Active,2,TAG_DONE);
break;
case CMD_ICONGFX : info->flags.icon = 1;
if(info->Pwd)GT_SetGadgetAttrs(info->PGadgets[GD_Icons - PGD],info->Pwd,NULL,GTMX_Active,1,TAG_DONE);
break;
case CMD_ICONNONE : info->flags.icon = 0;
if(info->Pwd)GT_SetGadgetAttrs(info->PGadgets[GD_Icons - PGD],info->Pwd,NULL,GTMX_Active,0,TAG_DONE);
break;
case CMD_ICONALL : info->flags.icon = 3;
if(info->Pwd)GT_SetGadgetAttrs(info->PGadgets[GD_Icons - PGD],info->Pwd,NULL,GTMX_Active,3,TAG_DONE);
break;
case CMD_PROGALL : info->flags.prog = 3;
if(info->Pwd)GT_SetGadgetAttrs(info->PGadgets[GD_Progs - PGD],info->Pwd,NULL,GTMX_Active,3,TAG_DONE);
break;
case CMD_PROGINFO : info->flags.prog = 1;
if(info->Pwd)GT_SetGadgetAttrs(info->PGadgets[GD_Progs - PGD],info->Pwd,NULL,GTMX_Active,1,TAG_DONE);
break;
case CMD_PROGICON : info->flags.prog = 2;
if(info->Pwd)GT_SetGadgetAttrs(info->PGadgets[GD_Progs - PGD],info->Pwd,NULL,GTMX_Active,2,TAG_DONE);
break;
case CMD_PROGNONE : info->flags.prog = 0;
if(info->Pwd)GT_SetGadgetAttrs(info->PGadgets[GD_Progs - PGD],info->Pwd,NULL,GTMX_Active,0,TAG_DONE);
break;
case CMD_RESETALL : Prf_Reset(info);
break;
case CMD_CLEARLIST : DetachList(info);
while(n = (struct Node *)RemHead(&info->FileList))free((struct FileNameNode *)n);
AttachList(info);
break;
case CMD_SAVEPREFS : SavePreferences(info,NULL);
break;
case CMD_PRINT : PrintQueue(info);
break;
case CMD_OPENWD : ChangeApp(info);
break;
case CMD_CLOSEWD : ChangeApp(info);
break;
case CMD_LMARGIN : s = (struct StringInfo *)info->PGadgets[GD_Lmargin - PGD]->SpecialInfo;
if(s->LongInt < info->Rmargin )
{
info->Lmargin = (ULONG)s->LongInt;
info->Columns = info->Rmargin - info->Lmargin;
}
if(info->Pwd)GT_SetGadgetAttrs(info->PGadgets[GD_Lmargin - PGD],info->Pwd,NULL,GTIN_Number,info->Lmargin,TAG_DONE);
break;
case CMD_RMARGIN : s = (struct StringInfo *)info->PGadgets[GD_Rmargin- PGD]->SpecialInfo;
if(s->LongInt > info->Lmargin )
{
info->Rmargin = (ULONG)s->LongInt;
info->Columns = info->Rmargin - info->Lmargin;
}
if(info->Pwd)GT_SetGadgetAttrs(info->PGadgets[GD_Rmargin- PGD],info->Pwd,NULL,GTIN_Number,info->Rmargin,TAG_DONE);
break;
case CMD_LINES : s = (struct StringInfo *)info->PGadgets[GD_Linesperpage- PGD]->SpecialInfo;
info->Lines = (ULONG)s->LongInt;
case CMD_OPENPWD : OpenPwd(info);
break;
case CMD_CLOSEPWD : ClosePwd(info);
break;
case CMD_STR_INSERT: s = (struct StringInfo *)info->SGadgets[GD_Gadget11]->SpecialInfo;
info->Special1 = (APTR)s->Buffer;
info->Special2 = (APTR)&ins;
InsertName(info);
info->Special1 = NULL;
info->Special2 = NULL;
break;
case CMD_REMOVE : s = (struct StringInfo *)info->SGadgets[GD_Gadget11]->SpecialInfo;
info->Special1 = (APTR)s->Buffer;
info->Special2 = (APTR)&ins;
RemoveName(info);
info->Special1 = NULL;
info->Special2 = NULL;
break;
break;
case CMD_CHANGEAPP : ChangeApp(info);
break;
case CMD_FILEREQ : Prf_FileReq(info);
break;
case CMD_RXQUIT : rc = CMD_QUIT;
break;
case CMD_QUIT : if(info->flags.print)
{
rc1 = EasyRequestArgs(info->Swd,&StopReq,NULL,NULL);
if(rc1 == 1) rc = CMD_QUIT;
}
else
{
rc1 = EasyRequestArgs(info->Swd,&QuitReq,NULL,NULL);
switch(rc1)
{
case 1 : rc1 = EasyRequestArgs(info->Swd,&FinalReq,NULL,NULL);
if(rc1 == 0)rc = CMD_QUIT;
break;
case 2 : ChangeApp(info);
break;
default : break;
}
}
break;
case CMD_ABOUT : (void)EasyRequestArgs(info->Swd,&AboutReq,NULL,NULL);
break;
case CMD_HEAD : if(info->Swd)ActivateGadget(info->SGadgets[GD_Headline],info->Swd,NULL);
break;
case CMD_FOOT : if(info->Swd)ActivateGadget(info->SGadgets[GD_Footline],info->Swd,NULL);
break;
case CMD_HEADL : strncpy(info->Headline,((struct StringInfo *)info->SGadgets[GD_Headline]->SpecialInfo)->Buffer,STR_SIZE);
info->Headline[STR_SIZE - 2] = '\0';
case CMD_FOOTL : strncpy(info->Footline,((struct StringInfo *)info->SGadgets[GD_Footline]->SpecialInfo)->Buffer,STR_SIZE);
info->Footline[STR_SIZE - 2] = '\0';
break;
case CMD_DATE_ON : info->flags.date = 1;
if(info->Swd)GT_SetGadgetAttrs(info->SGadgets[GD_Date],info->Swd,NULL,GTCB_Checked,TRUE,TAG_DONE);
break;
case CMD_DATE_OFF : info->flags.date = 0;
if(info->Swd)GT_SetGadgetAttrs(info->SGadgets[GD_Date],info->Swd,NULL,GTCB_Checked,FALSE,TAG_DONE);
break;
case CMD_TIME_ON : info->flags.time = 1;
if(info->Swd)GT_SetGadgetAttrs(info->SGadgets[GD_Time],info->Swd,NULL,GTCB_Checked,TRUE,TAG_DONE);
break;
case CMD_TIME_OFF : info->flags.time = 0;
if(info->Swd)GT_SetGadgetAttrs(info->SGadgets[GD_Time],info->Swd,NULL,GTCB_Checked,FALSE,TAG_DONE);
break;
case CMD_NAME_ON : info->flags.file = 1;
if(info->Swd)GT_SetGadgetAttrs(info->SGadgets[GD_Filename],info->Swd,NULL,GTCB_Checked,TRUE,TAG_DONE);
break;
case CMD_NAME_OFF : info->flags.file = 0;
if(info->Swd)GT_SetGadgetAttrs(info->SGadgets[GD_Filename],info->Swd,NULL,GTCB_Checked,FALSE,TAG_DONE);
break;
case CMD_FF_ON : info->flags.ff = 1;
if(info->Swd)GT_SetGadgetAttrs(info->SGadgets[GD_FF],info->Swd,NULL,GTCB_Checked,TRUE,TAG_DONE);
break;
case CMD_FF_OFF : info->flags.ff = 0;
if(info->Swd)GT_SetGadgetAttrs(info->SGadgets[GD_FF],info->Swd,NULL,GTCB_Checked,FALSE,TAG_DONE);
break;
case CMD_FFPAGE_ON : info->flags.ffpage = 1;
if(info->Swd)GT_SetGadgetAttrs(info->SGadgets[GD_FFPAGE],info->Swd,NULL,GTCB_Checked,TRUE,TAG_DONE);
break;
case CMD_FFPAGE_OFF : info->flags.ffpage = 0;
if(info->Swd)GT_SetGadgetAttrs(info->SGadgets[GD_FFPAGE],info->Swd,NULL,GTCB_Checked,FALSE,TAG_DONE);
break;
case CMD_PAGE_ON : info->flags.page = 1;
if(info->Swd)GT_SetGadgetAttrs(info->SGadgets[GD_Pagenumber],info->Swd,NULL,GTCB_Checked,TRUE,TAG_DONE);
break;
case CMD_PAGE_OFF : info->flags.page = 0;
if(info->Swd)GT_SetGadgetAttrs(info->SGadgets[GD_Pagenumber],info->Swd,NULL,GTCB_Checked,FALSE,TAG_DONE);
break;
case CMD_LINE_ON : info->flags.line = 1;
if(info->Swd)GT_SetGadgetAttrs(info->SGadgets[GD_Linenumber],info->Swd,NULL,GTCB_Checked,TRUE,TAG_DONE);
break;
case CMD_LINE_OFF : info->flags.line = 0;
if(info->Swd)GT_SetGadgetAttrs(info->SGadgets[GD_Linenumber],info->Swd,NULL,GTCB_Checked,FALSE,TAG_DONE);
break;
case CMD_PITCH6 : info->flags.pitch = 1;
if(info->Pwd)GT_SetGadgetAttrs(info->PGadgets[GD_Pitch - PGD],info->Pwd,NULL,GTMX_Active,0,TAG_DONE);
break;
case CMD_PITCH8 : info->flags.pitch = 2;
if(info->Pwd)GT_SetGadgetAttrs(info->PGadgets[GD_Pitch - PGD],info->Pwd,NULL,GTMX_Active,1,TAG_DONE);
break;
case CMD_DRAFT : info->flags.draft = 1;
info->flags.lq = 0;
if(info->Pwd)GT_SetGadgetAttrs(info->PGadgets[GD_Quality - PGD],info->Pwd,NULL,GTMX_Active,0,TAG_DONE);
break;
case CMD_LQ : info->flags.lq = 1;
info->flags.draft = 0;
if(info->Pwd)GT_SetGadgetAttrs(info->PGadgets[GD_Quality - PGD],info->Pwd,NULL,GTMX_Active,1,TAG_DONE);
break;
case CMD_10CPI : info->flags.cpi = 1;
if(info->Pwd)GT_SetGadgetAttrs(info->PGadgets[GD_cpi - PGD],info->Pwd,NULL,GTMX_Active,0,TAG_DONE);
break;
case CMD_12CPI : info->flags.cpi = 2;
if(info->Pwd)GT_SetGadgetAttrs(info->PGadgets[GD_cpi - PGD],info->Pwd,NULL,GTMX_Active,1,TAG_DONE);
break;
case CMD_15CPI : info->flags.cpi = 3;
if(info->Pwd)GT_SetGadgetAttrs(info->PGadgets[GD_cpi - PGD],info->Pwd,NULL,GTMX_Active,2,TAG_DONE);
break;
case CMD_SP_FILES_ON : info->flags.sp_files = 1;
if(info->Pwd)GT_SetGadgetAttrs(info->PGadgets[GD_include_files - PGD],info->Pwd,NULL,GTCB_Checked,TRUE,TAG_DONE);
break;
case CMD_SP_FILES_OFF : info->flags.sp_files = 0;
if(info->Pwd)GT_SetGadgetAttrs(info->PGadgets[GD_include_files - PGD],info->Pwd,NULL,GTCB_Checked,FALSE,TAG_DONE);
break;
case CMD_SP_RESET_ON : info->flags.sp_reset = 1;
if(info->Pwd)GT_SetGadgetAttrs(info->PGadgets[GD_include_reset - PGD],info->Pwd,NULL,GTCB_Checked,TRUE,TAG_DONE);
break;
case CMD_SP_RESET_OFF : info->flags.sp_reset = 0;
if(info->Pwd)GT_SetGadgetAttrs(info->PGadgets[GD_include_reset - PGD],info->Pwd,NULL,GTCB_Checked,FALSE,TAG_DONE);
break;
case CMD_SP_WINDOW_ON : info->flags.sp_window = 1;
if(info->Pwd)GT_SetGadgetAttrs(info->PGadgets[GD_include_window - PGD],info->Pwd,NULL,GTCB_Checked,TRUE,TAG_DONE);
break;
case CMD_SP_WINDOW_OFF : info->flags.sp_window = 0;
if(info->Pwd)GT_SetGadgetAttrs(info->PGadgets[GD_include_window - PGD],info->Pwd,NULL,GTCB_Checked,FALSE,TAG_DONE);
break;
case CMD_SP_COMMENT_ON : info->flags.sp_comment = 1;
if(info->Pwd)GT_SetGadgetAttrs(info->PGadgets[GD_include_comment - PGD],info->Pwd,NULL,GTCB_Checked,TRUE,TAG_DONE);
break;
case CMD_SP_COMMENT_OFF: info->flags.sp_comment = 0;
if(info->Pwd)GT_SetGadgetAttrs(info->PGadgets[GD_include_comment - PGD],info->Pwd,NULL,GTCB_Checked,FALSE,TAG_DONE);
break;
case CMD_SP_PRINT_ON : info->flags.sp_print = 1;
if(info->Pwd)GT_SetGadgetAttrs(info->PGadgets[GD_include_print - PGD],info->Pwd,NULL,GTCB_Checked,TRUE,TAG_DONE);
break;
case CMD_SP_PRINT_OFF : info->flags.sp_print = 0;
if(info->Pwd)GT_SetGadgetAttrs(info->PGadgets[GD_include_print - PGD],info->Pwd,NULL,GTCB_Checked,FALSE,TAG_DONE);
break;
case CMD_SP_ICON_ON : info->flags.sp_icon = 1;
if(info->Pwd)GT_SetGadgetAttrs(info->PGadgets[GD_include_icon - PGD],info->Pwd,NULL,GTCB_Checked,TRUE,TAG_DONE);
break;
case CMD_SP_ICON_OFF : info->flags.sp_icon = 0;
if(info->Pwd)GT_SetGadgetAttrs(info->PGadgets[GD_include_icon - PGD],info->Pwd,NULL,GTCB_Checked,FALSE,TAG_DONE);
break;
case CMD_SP_START_ON : info->flags.sp_start = 1;
if(info->Pwd)GT_SetGadgetAttrs(info->PGadgets[GD_include_start - PGD],info->Pwd,NULL,GTCB_Checked,TRUE,TAG_DONE);
break;
case CMD_SP_START_OFF : info->flags.sp_start = 0;
if(info->Pwd)GT_SetGadgetAttrs(info->PGadgets[GD_include_start - PGD],info->Pwd,NULL,GTCB_Checked,FALSE,TAG_DONE);
break;
case CMD_SP_LINES_ON : info->flags.sp_lines = 1;
if(info->Pwd)GT_SetGadgetAttrs(info->PGadgets[GD_include_lines - PGD],info->Pwd,NULL,GTCB_Checked,TRUE,TAG_DONE);
break;
case CMD_SP_LINES_OFF : info->flags.sp_lines = 0;
if(info->Pwd)GT_SetGadgetAttrs(info->PGadgets[GD_include_lines - PGD],info->Pwd,NULL,GTCB_Checked,FALSE,TAG_DONE);
break;
default :
break;
}
return (rc);
}