source: src/advtabs/Torrent.hpp @ 268

Revision 268, 4.6 KB checked in by Eoin, 12 years ago (diff)

Added copyright eventually.

Line 
1
2//         Copyright Eóin O'Callaghan 2006 - 2007.
3// Distributed under the Boost Software License, Version 1.0.
4//    (See accompanying file LICENSE_1_0.txt or copy at
5//          http://www.boost.org/LICENSE_1_0.txt)
6
7#pragma once
8
9#include "../stdAfx.hpp"
10#include "../global/string_conv.hpp"
11
12#include "../DdxEx.hpp"
13#include "../Halite.hpp"
14
15#include "../HaliteTabPage.hpp"
16#include "../HaliteEditCtrl.hpp"
17#include "../HaliteDialogBase.hpp"
18
19class AdvTorrentDialog :
20        public CHalTabPageImpl<AdvTorrentDialog>,
21        public CDialogResize<AdvTorrentDialog>,
22        public CHaliteDialogBase<AdvTorrentDialog>,
23        public CWinDataExchangeEx<AdvTorrentDialog>
24{
25protected:
26        typedef AdvTorrentDialog thisClass;
27        typedef CHalTabPageImpl<AdvTorrentDialog> baseClass;
28        typedef CDialogResize<AdvTorrentDialog> resizeClass;
29        typedef CHaliteDialogBase<AdvTorrentDialog> dialogBaseClass;
30
31public:
32        enum { IDD = IDD_ADVOVERVIEW };
33
34        AdvTorrentDialog(HaliteWindow& HalWindow) :
35                dialogBaseClass(HalWindow)
36        {}
37
38        BOOL PreTranslateMessage(MSG* pMsg)
39        {
40                return this->IsDialogMessage(pMsg);
41        }
42
43        BEGIN_MSG_MAP_EX(thisClass)
44                MSG_WM_INITDIALOG(onInitDialog)
45                MSG_WM_CLOSE(onClose)
46                COMMAND_RANGE_CODE_HANDLER_EX(IDC_EDITTLU, IDC_EDITRATIO, EN_KILLFOCUS, OnEditKillFocus)
47
48                if (uMsg == WM_FORWARDMSG)
49                        if (PreTranslateMessage((LPMSG)lParam)) return TRUE;
50
51                CHAIN_MSG_MAP(resizeClass)
52                CHAIN_MSG_MAP(baseClass)
53        END_MSG_MAP()
54
55        BEGIN_DDX_MAP(thisClass)
56        DDX_EX_INT_POSITIVE_LIMIT(IDC_EDITNCD, NoConnDown, 2, true)
57        DDX_EX_INT_POSITIVE_LIMIT(IDC_EDITNCU, NoConnUp, 2, true)
58        DDX_EX_INT_FLOAT_LIMIT(IDC_EDITTLD, TranLimitDown, 5, true)
59        DDX_EX_INT_FLOAT_LIMIT(IDC_EDITTLU, TranLimitUp, 5, true)
60        DDX_EX_INT_FLOAT_LIMIT(IDC_EDITRATIO, Ratio, 1, true)
61    END_DDX_MAP()
62
63        BEGIN_DLGRESIZE_MAP(thisClass)
64//              BEGIN_DLGRESIZE_GROUP()
65                        DLGRESIZE_CONTROL(IDC_TL, (DLSZ_MOVE_X))
66                        DLGRESIZE_CONTROL(IDC_NC, (DLSZ_MOVE_X))
67                        DLGRESIZE_CONTROL(IDC_TLD, (DLSZ_MOVE_X))
68                        DLGRESIZE_CONTROL(IDC_TLU, (DLSZ_MOVE_X))
69                        DLGRESIZE_CONTROL(IDC_NCU, (DLSZ_MOVE_X))
70                        DLGRESIZE_CONTROL(IDC_NCD, (DLSZ_MOVE_X))
71                        DLGRESIZE_CONTROL(IDC_RATIOESTATIC, (DLSZ_MOVE_X))
72                        DLGRESIZE_CONTROL(IDC_EDITRATIO, (DLSZ_MOVE_X))
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//              END_DLGRESIZE_GROUP()
78               
79//              DLGRESIZE_CONTROL(IDC_RATIO, (DLSZ_MOVE_X))
80//              DLGRESIZE_CONTROL(IDC_RATIOSTAT, (DLSZ_MOVE_X))
81
82                DLGRESIZE_CONTROL(IDC_UPDATESTAT, (DLSZ_MOVE_X))
83                DLGRESIZE_CONTROL(IDC_UPDATE, (DLSZ_MOVE_X))
84
85
86                DLGRESIZE_CONTROL(IDC_GROUP_TORRENT, (DLSZ_SIZE_X))
87                DLGRESIZE_CONTROL(IDC_GROUP_TRACKER, (DLSZ_SIZE_X))
88                DLGRESIZE_CONTROL(TORRENTPROG, (DLSZ_SIZE_X))
89
90                DLGRESIZE_CONTROL(IDC_NAME_STATUS_LABEL, (0))
91                DLGRESIZE_CONTROL(IDC_NAME_STATUS, (DLSZ_SIZE_X))
92
93                BEGIN_DLGRESIZE_GROUP()                 
94                        DLGRESIZE_CONTROL(IDC_PEERS_LABEL, (0))
95                        DLGRESIZE_CONTROL(IDC_TRANSFERED_LABEL, (0))
96                        DLGRESIZE_CONTROL(IDC_REMAINING_LABEL, (0))
97                        DLGRESIZE_CONTROL(IDC_RATE_LABEL, (0))
98                       
99                        DLGRESIZE_CONTROL(IDC_SEEDS_LABEL, (DLSZ_MOVE_X))
100                        DLGRESIZE_CONTROL(IDC_OVERHEAD_LABEL, (DLSZ_MOVE_X))
101                        DLGRESIZE_CONTROL(IDC_ETA_LABEL, (DLSZ_MOVE_X))
102                        DLGRESIZE_CONTROL(IDC_RATIO_LABEL, (DLSZ_MOVE_X))
103                END_DLGRESIZE_GROUP()
104
105                BEGIN_DLGRESIZE_GROUP()                 
106                        DLGRESIZE_CONTROL(IDC_PEERS, (DLSZ_SIZE_X))
107                        DLGRESIZE_CONTROL(IDC_SEEDS, (DLSZ_MOVE_X|DLSZ_SIZE_X))
108                END_DLGRESIZE_GROUP()
109               
110                BEGIN_DLGRESIZE_GROUP()         
111                        DLGRESIZE_CONTROL(IDC_TRANSFERED, (DLSZ_SIZE_X))
112                        DLGRESIZE_CONTROL(IDC_OVERHEAD, (DLSZ_MOVE_X|DLSZ_SIZE_X))
113                END_DLGRESIZE_GROUP()
114               
115                BEGIN_DLGRESIZE_GROUP()         
116                        DLGRESIZE_CONTROL(IDC_REMAINING, (DLSZ_SIZE_X))
117                        DLGRESIZE_CONTROL(IDC_ETA, (DLSZ_MOVE_X|DLSZ_SIZE_X))
118                END_DLGRESIZE_GROUP()
119               
120                BEGIN_DLGRESIZE_GROUP()         
121                        DLGRESIZE_CONTROL(IDC_RATE, (DLSZ_SIZE_X))
122                        DLGRESIZE_CONTROL(IDC_RATIO, (DLSZ_MOVE_X|DLSZ_SIZE_X)) 
123                END_DLGRESIZE_GROUP()
124               
125                DLGRESIZE_CONTROL(IDC_TRACKER, (DLSZ_SIZE_X))
126        END_DLGRESIZE_MAP()
127
128        LRESULT onInitDialog(HWND, LPARAM);
129        void onClose();
130
131        LRESULT OnEditKillFocus(UINT uCode, int nCtrlID, HWND hwndCtrl);
132
133        void uiUpdate(const hal::TorrentDetails& tD);
134        void uiUpdateMultiple(const hal::TorrentDetail_vec& torrents);
135        void uiUpdateSingle(const hal::TorrentDetail_ptr& torrent);
136        void uiUpdateNone();
137        void focusChanged(string& torrent_name);
138
139protected:
140        CProgressBarCtrl m_prog;
141
142        int NoConnDown, NoConnUp;
143        float TranLimitDown, TranLimitUp;
144        float Ratio;
145       
146        string current_torrent_name_;
147};
Note: See TracBrowser for help on using the repository browser.