home *** CD-ROM | disk | FTP | other *** search
- /* $Revision Header * Header built automatically - do not edit! *************
- *
- * (C) Copyright 1990 by Olaf 'Olsen' Barthel & MXM
- *
- * Name .....: TransferPanel.c
- * Created ..: Monday 21-Jan-91 20:12
- * Revision .: 0
- *
- * Date Author Comment
- * ========= ======== ====================
- * 21-Jan-91 Olsen Created this file!
- *
- * $Revision Header ********************************************************/
-
- #include "TermGlobal.h"
-
- STATIC struct Gadget *GadgetList;
- STATIC struct Gadget *GadgetArray[3];
- STATIC BYTE LastStatus = -1;
- STATIC struct Menu *TransferMenu;
-
- STATIC SHORT PositionX = -1,PositionY = -1;
-
- #define WIDTH (70*8+20)
- #define HEIGHT (16*8+24+13)
-
- #define ORIGIN_X 10
- #define ORIGIN_Y 12
-
- enum { MEN_ABORT=1,MEN_SKIP,MEN_QUITPANEL };
-
- STATIC struct NewMenu NewTransferMenu[] =
- {
- { NM_TITLE, "Project", 0 , 0, 0, (APTR)0},
- { NM_ITEM, "Abort Entire Transfer", "A", 0, 0, (APTR)MEN_ABORT},
- { NM_ITEM, "Skip Current File", "S", 0, 0, (APTR)MEN_SKIP},
- { NM_ITEM, NM_BARLABEL, 0 , 0, 0, (APTR)0},
- { NM_ITEM, "Quit", "Q", 0, 0, (APTR)MEN_QUITPANEL},
- { NM_END, 0, 0 , 0, 0, (APTR)0}
- };
-
- STATIC struct Gadget *
- CreateAllGadgets(struct Gadget **GadgetArray,struct Gadget **GadgetList,APTR VisualInfo,UWORD TopEdge)
- {
- struct Gadget *Gadget;
- struct NewGadget NewGadget;
- UWORD Counter = 0;
-
- if(Gadget = CreateContext(GadgetList))
- {
- NewGadget . ng_TextAttr = &DefaultFont;
- NewGadget . ng_VisualInfo = VisualInfo;
-
- NewGadget . ng_Width = 208;
- NewGadget . ng_Height = 12;
- NewGadget . ng_GadgetText = "_Abort Entire Transfer";
- NewGadget . ng_GadgetID = Counter;
- NewGadget . ng_Flags = 0;
- NewGadget . ng_LeftEdge = 10;
- NewGadget . ng_TopEdge = HEIGHT - 3 - NewGadget . ng_Height;
-
- GadgetArray[Counter++] = Gadget = CreateGadget(BUTTON_KIND,Gadget,&NewGadget,
- GT_Underscore, '_',
- TAG_DONE);
-
- NewGadget . ng_GadgetText = "_Skip Current File";
- NewGadget . ng_GadgetID = Counter;
- NewGadget . ng_LeftEdge = WIDTH - 10 - NewGadget . ng_Width;
-
- GadgetArray[Counter++] = Gadget = CreateGadget(BUTTON_KIND,Gadget,&NewGadget,
- GT_Underscore, '_',
- TAG_DONE);
- }
-
- return(Gadget);
- }
-
- VOID
- TransferInfo(SHORT X,SHORT Y,BYTE *String,...)
- {
- if(String && TransferWindow)
- {
- va_list VarArgs;
-
- va_start(VarArgs,String);
- VSPrintf(SharedBuffer,String,VarArgs);
- va_end(VarArgs);
-
- if(String[0] == '%' && String[2] == 'd')
- {
- strcat(SharedBuffer," ");
- SharedBuffer[14] = 0;
- }
-
- Move(TransferWindow -> RPort,ORIGIN_X + X * 8,ORIGIN_Y + 6 + Y * 8);
- Text(TransferWindow -> RPort,SharedBuffer,strlen(SharedBuffer));
- }
- }
-
- BYTE
- TransferPanel(UBYTE *Title)
- {
- if(Status != STATUS_DOWNLOAD && Status != STATUS_UPLOAD)
- {
- LastStatus = Status;
-
- Status = STATUS_DOWNLOAD;
- }
- else
- LastStatus = -1;
-
- if(CreateAllGadgets(&GadgetArray[0],&GadgetList,VisualInfo,Screen -> WBorTop + Screen -> Font -> ta_YSize + 1))
- {
- if(TransferMenu = CreateMenus(NewTransferMenu,
- GTMN_FrontPen, 0,
- TAG_DONE))
- {
- if(LayoutMenus(TransferMenu,VisualInfo,
- GTMN_TextAttr,&DefaultFont,
- TAG_DONE))
- {
- if(PositionX == -1)
- PositionX = (Screen -> Width - WIDTH) >> 1;
-
- if(PositionY == -1)
- PositionY = (Screen -> Height - HEIGHT) >> 1;
-
- if(TransferWindow = OpenWindowTags(NULL,
- WA_Width, WIDTH,
- WA_Height, HEIGHT,
-
- WA_Left, PositionX,
- WA_Top, PositionY,
-
- WA_Activate, TRUE,
- WA_DragBar, TRUE,
- WA_DepthGadget, TRUE,
- WA_CloseGadget, TRUE,
- WA_RMBTrap, TRUE,
-
- WA_CustomScreen,Screen,
-
- WA_IDCMP, IDCMP_CLOSEWINDOW | BUTTONIDCMP | IDCMP_MENUPICK,
-
- WA_Title, Title,
- TAG_DONE))
- {
- BYTE Pen1,Pen2;
-
- switch(Config . ColourMode)
- {
- case COLOUR_AMIGA: Pen1 = 1;
- Pen2 = 3;
- break;
-
- case COLOUR_EIGHT: Pen1 = 4;
- Pen2 = 7;
- break;
-
- case COLOUR_SIXTEEN: Pen1 = 15;
- Pen2 = 8;
- break;
-
- case COLOUR_MONO: Pen1 = Pen2 = 1;
- break;
- }
-
- PushWindow(TransferWindow);
-
- AddGList(TransferWindow,GadgetList,(UWORD)-1,(UWORD)-1,NULL);
- RefreshGList(GadgetList,TransferWindow,NULL,(UWORD)-1);
- GT_RefreshWindow(TransferWindow,NULL);
-
- SetMenuStrip(TransferWindow,TransferMenu);
-
- TransferWindow -> Flags &= ~WFLG_RMBTRAP;
-
- SetAPen(TransferWindow -> RPort,Pen1);
- SetBPen(TransferWindow -> RPort,0);
- SetDrMd(TransferWindow -> RPort,JAM2);
-
- TransferInfo(0, 0,"Protocol..........:");
-
- TransferInfo(0, 2,"File..............:");
- TransferInfo(0, 3,"Size..............:");
-
- TransferInfo(0, 5,"Bytes Transferred.: Blocks Transferred:");
- TransferInfo(0, 6,"Block Check Type..: Block Size........:");
-
- TransferInfo(0, 8,"Estimated Time....: Elapsed Time......:");
-
- TransferInfo(0,10,"Message...........:");
- TransferInfo(0,11,"Last Error........:");
-
- TransferInfo(0,13,"Number Of Errors..: Number Of Timeouts:");
-
- TransferInfo(0,15,"Packet Type.......: Packet Delay......:");
- TransferInfo(0,16,"Characters/Second.: Character Delay...:");
-
- SetAPen(TransferWindow -> RPort,Pen2);
-
- TransferInfo(20, 0,"Unknown");
-
- TransferInfo(20, 2,"-");
- TransferInfo(20, 3,"-");
-
- TransferInfo(20, 5,"-");
- TransferInfo(55, 5,"-");
-
- TransferInfo(20, 6,"-");
- TransferInfo(55, 6,"-");
-
- TransferInfo(20, 8,"-");
- TransferInfo(55, 8,"-");
-
- TransferInfo(20,10,"-- None --");
- TransferInfo(20,11,"-- None --");
-
- TransferInfo(20,13,"-");
- TransferInfo(55,13,"-");
-
- TransferInfo(20,15,"-");
- TransferInfo(55,15,"-");
-
- TransferInfo(20,16,"-");
- TransferInfo(55,16,"-");
-
- return(TRUE);
- }
- }
- }
- }
-
- return(FALSE);
- }
-
- VOID
- DeleteTransferPanel()
- {
- if(FileMatch)
- MatchEnd(FileAnchor);
-
- if(LastStatus != -1)
- Status = LastStatus;
-
- LastStatus = -1;
-
- if(TransferWindow)
- {
- PositionX = TransferWindow -> LeftEdge;
- PositionY = TransferWindow -> TopEdge;
-
- TransferWindow -> Flags |= WFLG_RMBTRAP;
-
- ClearMenuStrip(TransferWindow);
-
- if(GadgetList)
- RemoveGList(TransferWindow,GadgetList,(UWORD)-1);
-
- PopWindow();
-
- CloseWindow(TransferWindow);
-
- TransferWindow = NULL;
- }
-
- if(TransferMenu)
- FreeMenus(TransferMenu);
-
- TransferMenu = NULL;
-
- if(GadgetList)
- FreeGadgets(GadgetList);
-
- GadgetList = NULL;
- }
-