summaryrefslogtreecommitdiff
path: root/plugins/MirLua/src/mlua_options.h
blob: 490a4653954212fa9db7c37e99a52d333a3cf114 (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
#ifndef _LUA_OPTIONS_H_
#define _LUA_OPTIONS_H_

class CLuaOptions : public CDlgBase
{
private:
	bool isScriptListInit;
	CCtrlListView m_scripts;
	CCtrlButton m_reload;

	void LoadScripts(const TCHAR *scriptDir, int iGroup = -1);

protected:
	void OnInitDialog();
	void OnApply();

	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);

	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_MAIN); }
};

#endif //_LUA_OPTIONS_H_