source: trunk/src/advtabs/Torrent.hpp @ 697

Revision 697, 6.8 KB checked in by kavika, 11 years ago (diff)

Small tweak to EditHilight? and DdxEx?.hpp.

Line 
1
2//         Copyright Eóin O'Callaghan 2006 - 2008.
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#define HAL_PEER_INTERESTING                                    40037
10#define HAL_PEER_CHOKED                                     40038
11#define HAL_PEER_REMOTE_INTERESTING                                     40039
12#define HAL_PEER_REMOTE_CHOKED                                          40040
13#define HAL_PEER_SUPPORT_EXTENSIONS                                     40041
14#define HAL_PEER_LOCAL_CONNECTION                                       40042
15#define HAL_PEER_HANDSHAKE                                                      40043
16#define HAL_PEER_CONNECTING                                                     40044
17#define HAL_PEER_QUEUED                                                         40045
18#define HAL_PEER_RC4_ENCRYPTED                                          40046
19#define HAL_PEER_PLAINTEXT_ENCRYPTED                            40047
20#define HAL_TORRENT_QUEUED_CHECKING                                     40050
21#define HAL_TORRENT_CHECKING_FILES                                      40051
22#define HAL_TORRENT_CONNECTING                                          40052
23#define HAL_TORRENT_DOWNLOADING                                         40053
24#define HAL_TORRENT_FINISHED                                            40054
25#define HAL_TORRENT_SEEDING                                                     40055
26#define HAL_TORRENT_ALLOCATING                                          40056
27#define HAL_TORRENT_QUEUED                                                      40057
28#define HAL_TORRENT_STOPPED                                                     40058
29#define HAL_TORRENT_PAUSED                                                      40059
30#define HAL_TORRENT_STOPPING                                            50000
31#define HAL_TORRENT_PAUSING                                                     50001
32
33#ifndef RC_INVOKED
34
35#include "stdAfx.hpp"
36#include "Halite.hpp"
37
38#include "DdxEx.hpp"
39#include "global/string_conv.hpp"
40
41#include "../HaliteTabPage.hpp"
42#include "../HaliteEditCtrl.hpp"
43#include "../HaliteDialogBase.hpp"
44
45class AdvTorrentDialog :
46        public CHalTabPageImpl<AdvTorrentDialog>,
47        public ATL::CAutoSizeWindow<AdvTorrentDialog, false>,
48        public CHaliteDialogBase<AdvTorrentDialog>,
49        public WTLx::WinDataExchangeEx<AdvTorrentDialog>
50{
51protected:
52        typedef AdvTorrentDialog thisClass;
53        typedef CHalTabPageImpl<AdvTorrentDialog> baseClass;
54        typedef ATL::CAutoSizeWindow<AdvTorrentDialog, false> autosizeClass;
55        typedef CHaliteDialogBase<AdvTorrentDialog> dialogBaseClass;
56
57public:
58        enum { IDD = HAL_ADVOVERVIEW };
59
60        AdvTorrentDialog(HaliteWindow& HalWindow) :
61                dialogBaseClass(HalWindow)
62        {}
63       
64        virtual BOOL PreTranslateMessage(MSG* pMsg)
65        {
66                return this->IsDialogMessage(pMsg);
67        }
68       
69        BEGIN_MSG_MAP_EX(thisClass)
70                MSG_WM_INITDIALOG(onInitDialog)
71                MSG_WM_CLOSE(onClose)
72                MESSAGE_HANDLER_EX(WM_USER_HAL_EDITCHANGED, OnHalEditChanged)
73
74                if (uMsg == WM_FORWARDMSG)
75                        if (PreTranslateMessage((LPMSG)lParam)) return TRUE;
76
77                CHAIN_MSG_MAP(dialogBaseClass)
78                CHAIN_MSG_MAP(autosizeClass)
79                CHAIN_MSG_MAP(baseClass)
80                REFLECT_NOTIFICATIONS()
81        END_MSG_MAP()
82
83        BEGIN_DDX_MAP(thisClass)
84    END_DDX_MAP()
85       
86        TRANSPARENT_LIST(thisClass, HAL_GROUP_TORRENT, HAL_GROUP_TRACKER, HAL_TL, HAL_NAME_STATUS_LABEL)
87       
88        static CWindowMapStruct* GetWindowMap();
89       
90        LRESULT onInitDialog(HWND, LPARAM);
91        void onClose();
92
93        LRESULT OnHalEditChanged(UINT uMsg, WPARAM wParam, LPARAM lParam);
94
95        void uiUpdate(const hal::torrent_details_manager& tD);
96        void uiUpdateMultiple(const hal::torrent_details_vec& torrents);
97        void uiUpdateSingle(const hal::torrent_details_ptr& torrent);
98        void uiUpdateNone();
99        void focusChanged(const hal::torrent_details_ptr pT);
100
101protected:
102        WTL::CProgressBarCtrl m_prog;
103
104        CHaliteEditCtrl<int> totalConnections_;
105        CHaliteEditCtrl<int> uploadConnections_;
106        CHaliteEditCtrl<float> downloadRate_;
107        CHaliteEditCtrl<float> uploadRate_;
108        CHaliteEditCtrl<float> ratio_;
109       
110        string current_torrent_name_;
111};
112
113#endif // RC_INVOKED
Note: See TracBrowser for help on using the repository browser.