blob: 25bf442ed18e763197a2ee7cb3964d7f6f941468 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
#ifndef _LUA_OPTIONS_H_
#define _LUA_OPTIONS_H_
class CCtrlScriptList : public CCtrlListView
{
private:
typedef CCtrlListView CSuper;
protected:
BOOL OnNotify(int idCtrl, NMHDR *pnmh);
public:
CCtrlScriptList(CDlgBase* dlg, int ctrlId);
CCallback<TEventInfo> OnClick;
};
class CLuaOptions : public CDlgBase
{
private:
bool isScriptListInit;
CCtrlScriptList m_scripts;
CCtrlButton m_reload;
void LoadScripts();
protected:
void OnInitDialog();
void OnApply();
void OnScriptListClick(CCtrlListView::TEventInfo *evt);
void OnReload(CCtrlBase*);
INT_PTR DlgProc(UINT msg, WPARAM wParam, LPARAM lParam);
public:
CLuaOptions(int idDialog);
void CreateLink(CCtrlData& ctrl, const char *szSetting, BYTE type, DWORD iValue);
void CreateLink(CCtrlData& ctrl, const char *szSetting, TCHAR *szValue);
static int OnOptionsInit(WPARAM wParam, LPARAM);
template<class T>
__inline void CreateLink(CCtrlData &ctrl, CMOption<T> &option)
{
ctrl.CreateDbLink(new CMOptionLink<T>(option));
}
static CDlgBase *CreateOptionsPage() { return new CLuaOptions(IDD_OPTIONS); }
};
#endif //_LUA_OPTIONS_H_
|