source: src/HaliteListView.hpp @ 237

Revision 237, 2.1 KB checked in by Eoin, 13 years ago (diff)
Line 
1
2#pragma once
3
4#include "stdAfx.hpp"
5#include "global/string_conv.hpp"
6
7#include <boost/array.hpp>
8#include <boost/signals.hpp>
9#include <boost/serialization/vector.hpp>
10
11#include "HaliteIni.hpp"
12#include "HaliteListViewCtrl.hpp"
13
14class HaliteWindow;
15
16class HaliteListViewCtrl :
17        public CHaliteListViewCtrl<HaliteListViewCtrl>,
18        public CHaliteIni<HaliteListViewCtrl>,
19        private boost::noncopyable
20{
21protected:
22        typedef CHaliteIni<HaliteListViewCtrl> iniClass;
23        typedef CHaliteListViewCtrl<HaliteListViewCtrl> listClass;
24
25        friend class listClass;
26
27public:
28        enum { 
29                LISTVIEW_ID_MENU = IDR_LISTVIEW_MENU,
30                LISTVIEW_ID_COLUMNNAMES = HAL_LISTVIEW_COLUMNS,
31                LISTVIEW_ID_COLUMNWIDTHS = HAL_LISTVIEW_DEFAULTS
32        };
33
34        HaliteListViewCtrl(HaliteWindow& HalWindow);
35
36        BEGIN_MSG_MAP_EX(HaliteListViewCtrl)
37                MSG_WM_SHOWWINDOW(OnShowWindow)
38                MSG_WM_DESTROY(OnDestroy)
39
40                COMMAND_ID_HANDLER(ID__LVM_PAUSE, OnPause)
41                COMMAND_ID_HANDLER(ID_LVM_STOP, OnStop)
42                COMMAND_ID_HANDLER(ID_LVM_RESUME, OnResume)
43                COMMAND_ID_HANDLER(ID_LVM_REMOVE_T, OnRemove)
44                COMMAND_ID_HANDLER(ID_LVM_REMOVE_TD, OnRemoveWipeFiles)
45
46                CHAIN_MSG_MAP(CHaliteListViewCtrl<HaliteListViewCtrl>)
47                DEFAULT_REFLECTION_HANDLER()
48        END_MSG_MAP()
49
50        void OnShowWindow(UINT, INT);
51        void OnDestroy();
52        void saveSettings();
53        void uiUpdate(const hal::TorrentDetails& allTorrents); 
54
55        LRESULT OnPause(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled);
56        LRESULT OnStop(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled);
57        LRESULT OnResume(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled);
58        LRESULT OnRemove(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled);
59        LRESULT OnRemoveWipeFiles(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled);
60
61    friend class boost::serialization::access;
62    template<class Archive>
63    void serialize(Archive& ar, const unsigned int version)
64    {
65                ar & boost::serialization::make_nvp("listview", boost::serialization::base_object<listClass>(*this));
66    }
67                               
68private:
69        void OnAttach();
70        void OnDetach();
71};
72
73typedef HaliteListViewCtrl::selection_manage_class ListViewManager;
Note: See TracBrowser for help on using the repository browser.