source: trunk/src/NewTorrentDialog.hpp @ 383

Revision 383, 2.5 KB checked in by Eoin, 12 years ago (diff)

Mockup of New Torrent Dialog.

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 IDD_NEWTORRENT_BEGIN                    1950
10#define IDC_NEWTORRENT_SELECT_TEXT              IDD_NEWTORRENT_BEGIN+1
11#define IDC_NEWTORRENT_TRACKERS_TEXT    IDD_NEWTORRENT_BEGIN+2
12#define IDC_NEWTORRENT_CREATOR_TEXT             IDD_NEWTORRENT_BEGIN+3
13#define IDC_NEWTORRENT_CREATOR                  IDD_NEWTORRENT_BEGIN+4
14#define IDC_NEWTORRENT_COMMENT_TEXT             IDD_NEWTORRENT_BEGIN+5
15#define IDC_NEWTORRENT_COMMENT                  IDD_NEWTORRENT_BEGIN+6
16#define IDC_NEWTORRENT_PRIVATE                  IDD_NEWTORRENT_BEGIN+7
17//#define IDC_PROG_CANCEL                 IDD_NEWTORRENT_BEGIN + 2
18//#define IDC_PROG_PROGRESS               IDD_NEWTORRENT_BEGIN + 3
19
20#ifndef RC_INVOKED
21
22#include <boost/function.hpp>
23#include "halTorrent.hpp"
24#include "halIni.hpp"
25#include "halEvent.hpp"
26
27class NewTorrentDialog :
28        public CDialogImpl<NewTorrentDialog>,   
29        public hal::IniBase<NewTorrentDialog>,
30        public CAutoSizeWindow<NewTorrentDialog, false>
31{
32protected:
33        typedef NewTorrentDialog thisClass;
34        typedef CDialogImpl<thisClass> baseClass;
35        typedef hal::IniBase<NewTorrentDialog> iniClass;
36        typedef CAutoSizeWindow<thisClass, false> autosizeClass;
37
38public:
39        NewTorrentDialog() :
40                iniClass("NewTorrents", "Dialog"),
41                rect_(50,50,400,500)
42        {               
43                Load();
44        }
45
46        ~NewTorrentDialog()
47        {}
48       
49        enum { IDD = IDD_NEWTORRENT };
50
51    BEGIN_MSG_MAP_EX(thisClass)
52                MSG_WM_INITDIALOG(onInitDialog)
53                MSG_WM_CLOSE(OnClose)
54                MSG_WM_SIZE(OnSize)
55                MSG_WM_DESTROY(OnDestroy)
56
57                COMMAND_ID_HANDLER_EX(IDCANCEL, onCancel)
58                COMMAND_ID_HANDLER_EX(IDOK, onCancel)
59
60                CHAIN_MSG_MAP(autosizeClass)
61                REFLECT_NOTIFICATIONS()
62    END_MSG_MAP()
63
64        friend class boost::serialization::access;
65    template<class Archive>
66    void serialize(Archive& ar, const unsigned int version)
67        {
68                ar & BOOST_SERIALIZATION_NVP(rect_);
69        }
70
71        LRESULT onInitDialog(HWND, LPARAM);
72        static CWindowMapStruct* GetWindowMap();
73
74        void ProgressThread()
75        {
76//              fn_(bind(&ProgressDialog::Callback, this, _1));
77               
78//              EndDialog(0);
79        }
80       
81        bool Callback(size_t progress)
82        {
83//              prog_.SetPos(progress);
84               
85                return true;
86        }
87       
88        BOOL PreTranslateMessage(MSG* pMsg)
89        {
90//              return this->IsDialogMessage(pMsg);
91        }
92       
93        void onCancel(UINT, int, HWND hWnd);
94        void OnClose();
95        void OnSize(UINT, CSize);
96        void OnDestroy();
97       
98private:
99        CRect rect_;
100};
101
102#endif // RC_INVOKED
Note: See TracBrowser for help on using the repository browser.