source: trunk/src/NewTorrentDialog.hpp @ 385

Revision 385, 2.9 KB checked in by Eoin, 12 years ago (diff)

Working on torrent creation.

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