00001
00002 #ifndef __FILE_TRANS_PROG_H
00003 #define __FILE_TRANS_PROG_H
00004
00005 #include "GProgressStatusPane.h"
00006
00007
00008 #define _STATUS_THROTTLE 0
00009 #define _STATUS_HISTORY 1
00010 #define _STATUS_INFO 2
00011 #define _STATUS_POSITION 3
00012 #define _STATUS_PROGRESS 4
00013 #define _STATUS_RATE 5
00014 #define _STATUS_TIME_LEFT 6
00015 #define _STATUS_MAX 7
00016
00017
00018 #define PARM_START_VALUE 10
00019
00020
00021 #define OPT_Throttle "Throttle" // (int)
00022 #define OPT_PipeSize "PipsSize" // (int)
00023
00024
00025 class FileTransferWindow
00026 {
00027 public:
00028 virtual ObjProperties *GetOptions() = 0;
00029 virtual void SetDataRate(int Percent) = 0;
00030 };
00031
00032 class FileTransferProgress : public Progress
00033 {
00034 int StartTime;
00035 int StartPos;
00036 GProgressStatusPane *ProgressPane;
00037 GStatusPane **StatusInfo;
00038 DoEvery Timer;
00039
00040 public:
00041 FileTransferProgress(FileTransferWindow *App,
00042 GStatusBar *Status,
00043 GStatusPane *StatusInfo[_STATUS_MAX],
00044 bool Limit = false);
00045
00046 void SetLimits(int l, int h);
00047 void Value(int v);
00048 void SetParameter(int Which, int What);
00049 };
00050
00051 #endif