source: src/advtabs/Torrent.hpp @ 259

Revision 259, 3.4 KB checked in by Eoin, 13 years ago (diff)

Overview Tab completely reworking.

Line 
1
2#pragma once
3
4#include "../stdAfx.hpp"
5#include "../global/string_conv.hpp"
6
7#include "../DdxEx.hpp"
8#include "../Halite.hpp"
9
10#include "../HaliteTabPage.hpp"
11#include "../HaliteEditCtrl.hpp"
12#include "../HaliteDialogBase.hpp"
13
14class AdvTorrentDialog :
15        public CHalTabPageImpl<AdvTorrentDialog>,
16        public CDialogResize<AdvTorrentDialog>,
17        public CHaliteDialogBase<AdvTorrentDialog>,
18        public CWinDataExchangeEx<AdvTorrentDialog>
19{
20protected:
21        typedef AdvTorrentDialog thisClass;
22        typedef CHalTabPageImpl<AdvTorrentDialog> baseClass;
23        typedef CDialogResize<AdvTorrentDialog> resizeClass;
24        typedef CHaliteDialogBase<AdvTorrentDialog> dialogBaseClass;
25
26public:
27        enum { IDD = IDD_ADVOVERVIEW };
28
29        AdvTorrentDialog(HaliteWindow& HalWindow) :
30                dialogBaseClass(HalWindow)
31        {}
32
33        BOOL PreTranslateMessage(MSG* pMsg)
34        {
35                return this->IsDialogMessage(pMsg);
36        }
37
38        BEGIN_MSG_MAP_EX(thisClass)
39                MSG_WM_INITDIALOG(onInitDialog)
40                MSG_WM_CLOSE(onClose)
41                COMMAND_RANGE_CODE_HANDLER_EX(IDC_EDITTLU, IDC_EDITRATIO, EN_KILLFOCUS, OnEditKillFocus)
42
43                if (uMsg == WM_FORWARDMSG)
44                        if (PreTranslateMessage((LPMSG)lParam)) return TRUE;
45
46                CHAIN_MSG_MAP(resizeClass)
47                CHAIN_MSG_MAP(baseClass)
48        END_MSG_MAP()
49
50        BEGIN_DDX_MAP(thisClass)
51        DDX_EX_INT_POSITIVE_LIMIT(IDC_EDITNCD, NoConnDown, 2, true)
52        DDX_EX_INT_POSITIVE_LIMIT(IDC_EDITNCU, NoConnUp, 2, true)
53        DDX_EX_INT_FLOAT_LIMIT(IDC_EDITTLD, TranLimitDown, 5, true)
54        DDX_EX_INT_FLOAT_LIMIT(IDC_EDITTLU, TranLimitUp, 5, true)
55        DDX_EX_INT_FLOAT_LIMIT(IDC_EDITRATIO, Ratio, 1, true)
56    END_DDX_MAP()
57
58        BEGIN_DLGRESIZE_MAP(thisClass)
59                DLGRESIZE_CONTROL(IDC_TL, (DLSZ_MOVE_X))
60                DLGRESIZE_CONTROL(IDC_NC, (DLSZ_MOVE_X))
61                DLGRESIZE_CONTROL(IDC_TLD, (DLSZ_MOVE_X))
62                DLGRESIZE_CONTROL(IDC_TLU, (DLSZ_MOVE_X))
63                DLGRESIZE_CONTROL(IDC_NCU, (DLSZ_MOVE_X))
64                DLGRESIZE_CONTROL(IDC_NCD, (DLSZ_MOVE_X))
65                DLGRESIZE_CONTROL(IDC_RATIOESTATIC, (DLSZ_MOVE_X))
66                DLGRESIZE_CONTROL(IDC_EDITRATIO, (DLSZ_MOVE_X))
67//              DLGRESIZE_CONTROL(IDC_RATIO, (DLSZ_MOVE_X))
68//              DLGRESIZE_CONTROL(IDC_RATIOSTAT, (DLSZ_MOVE_X))
69
70                DLGRESIZE_CONTROL(IDC_UPDATESTAT, (DLSZ_MOVE_X))
71                DLGRESIZE_CONTROL(IDC_UPDATE, (DLSZ_MOVE_X))
72
73                DLGRESIZE_CONTROL(IDC_EDITNCD, (DLSZ_MOVE_X))
74                DLGRESIZE_CONTROL(IDC_EDITTLD, (DLSZ_MOVE_X))
75                DLGRESIZE_CONTROL(IDC_EDITTLU, (DLSZ_MOVE_X))
76                DLGRESIZE_CONTROL(IDC_EDITNCU, (DLSZ_MOVE_X))
77
78                DLGRESIZE_CONTROL(IDC_GROUP_TORRENT, (DLSZ_SIZE_X))
79                DLGRESIZE_CONTROL(IDC_GROUP_TRACKER, (DLSZ_SIZE_X))
80                DLGRESIZE_CONTROL(TORRENTPROG, (DLSZ_SIZE_X))
81
82                DLGRESIZE_CONTROL(IDC_NAME_STATUS, (DLSZ_SIZE_X))
83//              DLGRESIZE_CONTROL(IDC_SECOND, (DLSZ_SIZE_X))
84                DLGRESIZE_CONTROL(IDC_TRANSFERED, (DLSZ_SIZE_X))
85                DLGRESIZE_CONTROL(IDC_REMAINING, (DLSZ_SIZE_X))
86                DLGRESIZE_CONTROL(IDC_RATE, (DLSZ_SIZE_X))
87               
88                DLGRESIZE_CONTROL(IDC_TRACKER, (DLSZ_SIZE_X))
89        END_DLGRESIZE_MAP()
90
91        LRESULT onInitDialog(HWND, LPARAM);
92        void onClose();
93
94        LRESULT OnEditKillFocus(UINT uCode, int nCtrlID, HWND hwndCtrl);
95
96        void uiUpdate(const hal::TorrentDetails& tD);
97        void uiUpdateMultiple(const hal::TorrentDetail_vec& torrents);
98        void uiUpdateSingle(const hal::TorrentDetail_ptr& torrent);
99        void uiUpdateNone();
100        void focusChanged(string& torrent_name);
101
102protected:
103        CProgressBarCtrl m_prog;
104
105        int NoConnDown, NoConnUp;
106        float TranLimitDown, TranLimitUp;
107        float Ratio;
108       
109        string current_torrent_name_;
110};
Note: See TracBrowser for help on using the repository browser.