/* 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); } }