home *** CD-ROM | disk | FTP | other *** search
- /* prf_swd.c */
- /* V1.1 9-3-92 */
-
- #include "prf.h"
-
-
- struct TextAttr topaz8 = {
- ( STRPTR )"topaz.font", 8, 0x00, 0x01 };
-
- struct TagItem SwdTags[] = {
- WA_Left, 10,
- WA_Top, 15,
- WA_Width, 338,
- WA_Height, 180,
- WA_IDCMP, IDCMP_MOUSEBUTTONS|IDCMP_MOUSEMOVE|IDCMP_GADGETDOWN|IDCMP_GADGETUP|IDCMP_CLOSEWINDOW|IDCMP_VANILLAKEY|IDCMP_REFRESHWINDOW,
- WA_Flags, WFLG_DRAGBAR|WFLG_DEPTHGADGET|WFLG_CLOSEGADGET|WFLG_SMART_REFRESH|WFLG_ACTIVATE,
- WA_Gadgets, 0l,
- WA_Title, (ULONG)SWD_TITLE,
- WA_ScreenTitle, (ULONG)SCREEN_TITLE,
- WA_MinWidth, 67,
- WA_MinHeight, 21,
- WA_MaxWidth, 640,
- WA_MaxHeight, 256,
- WA_AutoAdjust, 1l,
- TAG_DONE };
-
- long OpenSwd(struct prf_info *info)
- {
- struct NewGadget ng;
- struct Gadget *g;
- if(info->Swd) return (1L);
- if ( NOT( g = CreateContext( &info->SGlist ))) return( 0L );
- ng.ng_LeftEdge = 6;
- ng.ng_TopEdge = info->BarHeight + 2;
- ng.ng_Width = 100;
- ng.ng_Height = 17;
- ng.ng_GadgetText = GAD_PwdButton;
- ng.ng_TextAttr = &topaz8;
- ng.ng_GadgetID = GD_PwdButton;
- ng.ng_Flags = PLACETEXT_IN;
- ng.ng_VisualInfo = info->VisualInfo;
-
- g = CreateGadget( BUTTON_KIND, g, &ng, GT_Underscore, '_', TAG_DONE );
-
- info->SGadgets[ 0 ] = g;
-
- ng.ng_LeftEdge = 232;
- ng.ng_GadgetText = GAD_About;
- ng.ng_GadgetID = GD_About;
-
- g = CreateGadget( BUTTON_KIND, g, &ng, GT_Underscore, '_', TAG_DONE );
-
- info->SGadgets[ 1 ] = g;
-
- ng.ng_LeftEdge = 102;
- ng.ng_TopEdge = info->BarHeight + 22;
- ng.ng_Width = 230;
- ng.ng_Height = 16;
- ng.ng_GadgetText = GAD_Headline;
- ng.ng_GadgetID = GD_Headline;
- ng.ng_Flags = PLACETEXT_LEFT;
-
- g = CreateGadget( STRING_KIND, g, &ng, GTST_String,info->Headline,GTST_MaxChars, 256, GT_Underscore, '_', TAG_DONE );
-
- info->SGadgets[ 2 ] = g;
-
- ng.ng_TopEdge = info->BarHeight + 38;
- ng.ng_GadgetText = GAD_Footline;
- ng.ng_GadgetID = GD_Footline;
-
- g = CreateGadget( STRING_KIND, g, &ng, GTST_String,info->Footline,GTST_MaxChars, 256, GT_Underscore, '_', TAG_DONE );
-
- info->SGadgets[ 3 ] = g;
-
- ng.ng_LeftEdge = 6;
- ng.ng_TopEdge = info->BarHeight + 56;
- ng.ng_GadgetText = GAD_Date;
- ng.ng_GadgetID = GD_Date;
- ng.ng_Flags = PLACETEXT_RIGHT;
-
- g = CreateGadget( CHECKBOX_KIND, g, &ng, GT_Underscore, '_', TAG_DONE );
-
- info->SGadgets[ 4 ] = g;
-
- ng.ng_LeftEdge = 102;
- ng.ng_GadgetText = GAD_Time;
- ng.ng_GadgetID = GD_Time;
-
- g = CreateGadget( CHECKBOX_KIND, g, &ng, GT_Underscore, '_', TAG_DONE );
-
- info->SGadgets[ 5 ] = g;
-
- ng.ng_LeftEdge = 175;
- ng.ng_GadgetText = GAD_Filename;
- ng.ng_GadgetID = GD_Filename;
-
- g = CreateGadget( CHECKBOX_KIND, g, &ng, GT_Underscore, '_', TAG_DONE );
-
- info->SGadgets[ 6 ] = g;
-
- ng.ng_LeftEdge = 6;
- ng.ng_TopEdge = info->BarHeight + 70;
- ng.ng_GadgetText = GAD_Pagenumber;
- ng.ng_GadgetID = GD_Pagenumber;
-
- g = CreateGadget( CHECKBOX_KIND, g, &ng, GT_Underscore, '_', TAG_DONE );
-
- info->SGadgets[ 7 ] = g;
-
- ng.ng_LeftEdge = 175;
- ng.ng_GadgetText = GAD_Linenumber;
- ng.ng_GadgetID = GD_Linenumber;
-
- g = CreateGadget( CHECKBOX_KIND, g, &ng, GT_Underscore, '_', TAG_DONE );
-
- info->SGadgets[ 8 ] = g;
-
- ng.ng_LeftEdge = 6;
- ng.ng_TopEdge = info->BarHeight + 82;
- ng.ng_GadgetText = GAD_CRLF;
- ng.ng_GadgetID = GD_CRLF;
-
- g = CreateGadget( CHECKBOX_KIND, g, &ng, GT_Underscore, '_', TAG_DONE );
-
- info->SGadgets[ 9 ] = g;
-
- ng.ng_LeftEdge = 175;
- ng.ng_GadgetText = GAD_FF;
- ng.ng_GadgetID = GD_FF;
-
- g = CreateGadget( CHECKBOX_KIND, g, &ng, GT_Underscore, '_', TAG_DONE );
-
- info->SGadgets[ 10 ] = g;
-
- ng.ng_Width = 323;
- ng.ng_Height = 15;
- ng.ng_GadgetText = 0l;
- ng.ng_GadgetID = GD_Gadget11;
- ng.ng_Flags = 0;
-
- g = CreateGadget( STRING_KIND, g,&ng,GTST_String,info->Insertline, GTST_MaxChars, 256, TAG_DONE );
-
- info->SGadgets[ 11 ] = g;
-
- ng.ng_LeftEdge = 6;
- ng.ng_TopEdge = info->BarHeight + 94;
- ng.ng_Height = 48;
- ng.ng_GadgetText = 0l;
- ng.ng_GadgetID = GD_List;
-
- g = CreateGadget( LISTVIEW_KIND, g, &ng,GTLV_Labels,&info->FileList, GTLV_ShowSelected, info->SGadgets[11], TAG_DONE );
-
- info->SGadgets[ 12 ] = g;
-
- ng.ng_LeftEdge = 6;
- ng.ng_TopEdge = info->BarHeight + 146;
- ng.ng_Width = 148;
- ng.ng_Height = 14;
- ng.ng_GadgetText = GAD_Filereq;
- ng.ng_GadgetID = GD_Filereq;
- ng.ng_Flags = PLACETEXT_IN;
-
- g = CreateGadget( BUTTON_KIND, g, &ng, GT_Underscore, '_', TAG_DONE );
-
- info->SGadgets[ 13 ] = g;
-
- ng.ng_LeftEdge = 181;
- ng.ng_GadgetText = GAD_Remove;
- ng.ng_GadgetID = GD_Remove;
-
- g = CreateGadget( BUTTON_KIND, g, &ng, GT_Underscore, '_', TAG_DONE );
-
- info->SGadgets[ 14 ] = g;
-
- ng.ng_LeftEdge = 6;
- ng.ng_TopEdge = info->BarHeight + 162;
- ng.ng_GadgetText = GAD_Print;
- ng.ng_GadgetID = GD_Print;
-
- g = CreateGadget( BUTTON_KIND, g, &ng, GT_Underscore, '_', TAG_DONE );
-
- info->SGadgets[ 15 ] = g;
-
- ng.ng_LeftEdge = 182;
- ng.ng_GadgetText = GAD_quit;
- ng.ng_GadgetID = GD_quit;
-
- g = CreateGadget( BUTTON_KIND, g, &ng, GT_Underscore, '_', TAG_DONE );
-
- info->SGadgets[ 16 ] = g;
-
- if ( NOT g ) return(0L);
-
- SwdTags[ 6 ].ti_Data = (ULONG)info->SGlist;
-
- if ( NOT( info->Swd = OpenWindowTagList( 0l,SwdTags )))
- return(0L);
-
- GT_RefreshWindow( info->Swd,0l);
- SetPrfSignals(info);
- RefreshSwd(info);
- return( 1L );
- }
-
- void CloseSwd(struct prf_info *info)
- {
- if (info->Swd)
- {
- SwdTags[0].ti_Data = (ULONG)info->Swd->LeftEdge;
- SwdTags[1].ti_Data = (ULONG)info->Swd->TopEdge;
- CloseWindow(info->Swd);
- info->Swd = NULL;
- }
- if(info->SGlist)
- {
- FreeGadgets(info->SGlist);
- info->SGlist = NULL;
- }
- SetPrfSignals(info);
- }
-
- /* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
-
-
- UBYTE *QualityLabels[] = {
- GAD_Quality1,
- GAD_Quality2,
- 0l };
-
- UBYTE *PitchLabels[] = {
- GAD_Pitch1,
- GAD_Pitch2,
- 0L};
-
- UBYTE *cpiLabels[] = {
- GAD_CPI10,
- GAD_CPI12,
- GAD_CPI15,
- 0l };
-
- struct TagItem PwdTags[] = {
- WA_Left, 261,
- WA_Top, 11,
- WA_Width, 368,
- WA_Height, 100,
- WA_IDCMP, IDCMP_VANILLAKEY|IDCMP_GADGETDOWN|IDCMP_GADGETUP|IDCMP_CLOSEWINDOW|IDCMP_REFRESHWINDOW,
- WA_Flags, WFLG_DRAGBAR|WFLG_DEPTHGADGET|WFLG_CLOSEGADGET|WFLG_SMART_REFRESH|WFLG_ACTIVATE,
- WA_Gadgets, 0l,
- WA_Title, (ULONG)PWD_TITLE,
- WA_ScreenTitle, (ULONG)SCREEN_TITLE,
- WA_MinWidth, 67,
- WA_MinHeight, 21,
- WA_MaxWidth, 640,
- WA_MaxHeight, 256,
- WA_AutoAdjust, 1l,
- TAG_DONE };
-
-
- long OpenPwd(struct prf_info *info)
- {
- struct NewGadget ng;
- struct Gadget *g;
- if(info->Pwd) return (1L);
-
- if ( NOT( g = CreateContext( &info->PGlist )))
- return(0L);
- ng.ng_LeftEdge = 19;
- ng.ng_TopEdge = info->BarHeight + 2;
- ng.ng_Width = 17;
- ng.ng_Height = 9;
- ng.ng_GadgetText = 0l;
- ng.ng_TextAttr = &topaz8;
- ng.ng_GadgetID = GD_Quality;
- ng.ng_Flags = PLACETEXT_RIGHT;
- ng.ng_VisualInfo = info->VisualInfo;
-
- g = CreateGadget( MX_KIND, g, &ng, GTMX_Labels, QualityLabels, GT_Underscore, '_', TAG_DONE );
-
- info->PGadgets[ 0 ] = g;
-
- ng.ng_LeftEdge = 187;
- ng.ng_GadgetText = 0l;
- ng.ng_GadgetID = GD_Pitch;
-
- g = CreateGadget( MX_KIND, g, &ng, GTMX_Labels, PitchLabels, GT_Underscore, '_', TAG_DONE );
-
- info->PGadgets[ 1 ] = g;
-
- ng.ng_LeftEdge = 20;
- ng.ng_TopEdge = info->BarHeight + 22;
- ng.ng_Width = 54;
- ng.ng_Height = 15;
- ng.ng_GadgetText = GAD_Linesperpage;
- ng.ng_GadgetID = GD_Linesperpage;
-
- g = CreateGadget( INTEGER_KIND, g, &ng, GTIN_Number, info->Lines, GTIN_MaxChars, 3, TAG_DONE );
-
- info->PGadgets[ 2 ] = g;
-
- ng.ng_LeftEdge = 188;
- ng.ng_TopEdge = info->BarHeight + 22;
- ng.ng_GadgetText = 0l;
- ng.ng_GadgetID = GD_cpi;
-
- g = CreateGadget( MX_KIND, g, &ng, GTMX_Labels, cpiLabels, GT_Underscore, '_', TAG_DONE );
-
- info->PGadgets[ 3 ] = g;
-
- ng.ng_LeftEdge = 21;
- ng.ng_TopEdge = info->BarHeight + 54;
- ng.ng_Width = 54;
- ng.ng_Height = 15;
- ng.ng_GadgetText = GAD_Lmargin;
- ng.ng_GadgetID = GD_Lmargin;
-
- g = CreateGadget( INTEGER_KIND, g, &ng, GTIN_Number, info->Lmargin, GTIN_MaxChars, 3, TAG_DONE );
-
- info->PGadgets[ 4 ] = g;
-
- ng.ng_LeftEdge = 189;
- ng.ng_TopEdge = info->BarHeight + 54;
- ng.ng_GadgetText = GAD_Rmargin;
- ng.ng_GadgetID = GD_Rmargin;
-
- g = CreateGadget( INTEGER_KIND, g, &ng, GTIN_Number, info->Rmargin, GTIN_MaxChars, 3, TAG_DONE );
-
- info->PGadgets[ 5 ] = g;
-
- ng.ng_LeftEdge = 23;
- ng.ng_TopEdge = info->BarHeight + 76;
- ng.ng_Width = 150;
- ng.ng_Height = 16;
- ng.ng_GadgetText = GAD_Saveprefs;
- ng.ng_GadgetID = GD_Saveprefs;
- ng.ng_Flags = PLACETEXT_IN;
-
- g = CreateGadget( BUTTON_KIND, g, &ng, TAG_DONE );
-
- info->PGadgets[ 6 ] = g;
-
- ng.ng_LeftEdge = 190;
- ng.ng_TopEdge = info->BarHeight + 76;
- ng.ng_GadgetText = GAD_PPrint;
- ng.ng_GadgetID = GD_PPrint;
-
- g = CreateGadget( BUTTON_KIND, g, &ng, GT_Underscore , '_',TAG_DONE );
-
- info->PGadgets[ 7 ] = g;
-
-
- if ( NOT g )
- return( 0L );
-
- PwdTags[ 6 ].ti_Data = (ULONG)info->PGlist;
-
- if ( NOT( info->Pwd = OpenWindowTagList( 0l, PwdTags )))
- return( 0L );
-
- GT_RefreshWindow( info->Pwd, 0l );
- SetPrfSignals(info);
- RefreshPwd(info);
- return(1L);
- }
-
- /* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
- void ClosePwd(struct prf_info *info)
- {
- if (info->Pwd)
- {
- PwdTags[0].ti_Data = (ULONG)info->Pwd->LeftEdge;
- PwdTags[1].ti_Data = (ULONG)info->Pwd->TopEdge;
- CloseWindow(info->Pwd);
- info->Pwd = NULL;
- }
- if(info->PGlist)
- {
- FreeGadgets(info->PGlist);
- info->PGlist = NULL;
- }
- SetPrfSignals(info);
- }
-
- void RefreshPwd(struct prf_info *info)
- {
- if(info->Pwd)
- {
- DoCommand(info,info->flags & FLAG_DRAFT ? CMD_DRAFT :
- info->flags & FLAG_LQ ? CMD_LQ : CMD_NEUTRAL);
- DoCommand(info,info->flags & FLAG_PITCH6 ? CMD_PITCH6 :
- info->flags & FLAG_PITCH8 ? CMD_PITCH8 : CMD_NEUTRAL);
- DoCommand(info,info->flags & FLAG_10CPI ? CMD_10CPI :
- info->flags & FLAG_12CPI ? CMD_12CPI :
- info->flags & FLAG_15CPI ? CMD_15CPI : CMD_NEUTRAL);
- GT_SetGadgetAttrs(info->PGadgets[GD_Rmargin - PGD],info->Pwd,NULL,GTIN_Number,info->Rmargin,TAG_DONE);
- GT_SetGadgetAttrs(info->PGadgets[GD_Lmargin - PGD],info->Pwd,NULL,GTIN_Number,info->Lmargin,TAG_DONE);
- GT_SetGadgetAttrs(info->PGadgets[GD_Linesperpage - PGD],info->Pwd,NULL,GTIN_Number,info->Lines,TAG_DONE);
- if(info->flags & FLAG_PRINT)
- GT_SetGadgetAttrs(info->PGadgets[GD_PPrint - PGD],info->Pwd,NULL,GA_Disabled,TRUE,TAG_DONE);
- }
- }
-
- void RefreshSwd(struct prf_info *info)
- {
- if(info->Swd)
- {
- GT_SetGadgetAttrs(info->SGadgets[GD_Headline],info->Swd,NULL,GTST_String,info->Headline,TAG_DONE);
- GT_SetGadgetAttrs(info->SGadgets[GD_Footline],info->Swd,NULL,GTST_String,info->Footline,TAG_DONE);
- if(info->flags & FLAG_PAGE)
- GT_SetGadgetAttrs(info->SGadgets[GD_Pagenumber],info->Swd,NULL,GTCB_Checked,TRUE,TAG_DONE);
- else
- GT_SetGadgetAttrs(info->SGadgets[GD_Pagenumber],info->Swd,NULL,GTCB_Checked,FALSE,TAG_DONE);
- if(info->flags & FLAG_LINE)
- GT_SetGadgetAttrs(info->SGadgets[GD_Linenumber],info->Swd,NULL,GTCB_Checked,TRUE,TAG_DONE);
- else
- GT_SetGadgetAttrs(info->SGadgets[GD_Linenumber],info->Swd,NULL,GTCB_Checked,FALSE,TAG_DONE);
- if(info->flags & FLAG_CRLF)
- GT_SetGadgetAttrs(info->SGadgets[GD_CRLF],info->Swd,NULL,GTCB_Checked,TRUE,TAG_DONE);
- else
- GT_SetGadgetAttrs(info->SGadgets[GD_CRLF],info->Swd,NULL,GTCB_Checked,FALSE,TAG_DONE);
- if(info->flags & FLAG_FF)
- GT_SetGadgetAttrs(info->SGadgets[GD_FF],info->Swd,NULL,GTCB_Checked,TRUE,TAG_DONE);
- else
- GT_SetGadgetAttrs(info->SGadgets[GD_FF],info->Swd,NULL,GTCB_Checked,FALSE,TAG_DONE);
- if(info->flags & FLAG_DATE)
- GT_SetGadgetAttrs(info->SGadgets[GD_Date],info->Swd,NULL,GTCB_Checked,TRUE,TAG_DONE);
- else
- GT_SetGadgetAttrs(info->SGadgets[GD_Date],info->Swd,NULL,GTCB_Checked,FALSE,TAG_DONE);
- if(info->flags & FLAG_TIME)
- GT_SetGadgetAttrs(info->SGadgets[GD_Time],info->Swd,NULL,GTCB_Checked,TRUE,TAG_DONE);
- else
- GT_SetGadgetAttrs(info->SGadgets[GD_Time],info->Swd,NULL,GTCB_Checked,FALSE,TAG_DONE);
- if(info->flags & FLAG_FILE)
- GT_SetGadgetAttrs(info->SGadgets[GD_Filename],info->Swd,NULL,GTCB_Checked,TRUE,TAG_DONE);
- else
- GT_SetGadgetAttrs(info->SGadgets[GD_Filename],info->Swd,NULL,GTCB_Checked,FALSE,TAG_DONE);
- if(info->flags & FLAG_PRINT)
- GT_SetGadgetAttrs(info->SGadgets[GD_Print],info->Swd,NULL,GA_Disabled,TRUE,TAG_DONE);
- AttachList(info);
- }
- }
-
-