#pragma once #include class CScriptsAutorunDlg : public CDialogImpl { public: enum { IDD = IDD_Debugger_ScriptsAutorun }; CScriptsAutorunDlg(); virtual ~CScriptsAutorunDlg(); INT_PTR DoModal(CDebuggerUI* debugger, stdstr selectedScriptName); LRESULT OnInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/); LRESULT OnDestroy(void); LRESULT OnOKCancel(WORD wNotifyCode, WORD wID, HWND hwnd, BOOL& bHandled); LRESULT OnAdd(WORD wNotifyCode, WORD wID, HWND hwnd, BOOL& bHandled); LRESULT OnRemove(WORD wNotifyCode, WORD wID, HWND hwnd, BOOL& bHandled); LRESULT OnScriptListDblClicked(NMHDR* pNMHDR); LRESULT OnAutorunListDblClicked(NMHDR* pNMHDR); LRESULT OnCtrlSetFocus(NMHDR* pNMHDR); LRESULT OnRefreshScriptList(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled); LRESULT OnRefreshAutorunList(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled); BEGIN_MSG_MAP_EX(CAddBreakpointDlg) MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog) MSG_WM_DESTROY(OnDestroy) COMMAND_HANDLER(IDOK, BN_CLICKED, OnOKCancel) COMMAND_HANDLER(IDCANCEL, BN_CLICKED, OnOKCancel) COMMAND_HANDLER(IDC_ADD_BTN, BN_CLICKED, OnAdd) COMMAND_HANDLER(IDC_REMOVE_BTN, BN_CLICKED, OnRemove) NOTIFY_HANDLER_EX(IDC_SCRIPT_LIST, NM_DBLCLK, OnScriptListDblClicked) NOTIFY_HANDLER_EX(IDC_AUTORUN_LIST, NM_DBLCLK, OnAutorunListDblClicked) NOTIFY_CODE_HANDLER_EX(NM_SETFOCUS, OnCtrlSetFocus) MESSAGE_HANDLER(WM_REFRESH_LIST, OnRefreshScriptList) MESSAGE_HANDLER(WM_REFRESH_AUTORUN_LIST, OnRefreshAutorunList) END_MSG_MAP() private: enum { WM_REFRESH_LIST = WM_USER + 1, WM_REFRESH_AUTORUN_LIST = WM_USER + 2 }; CDebuggerUI* m_Debugger; CScriptSystem* m_ScriptSystem; stdstr m_InitSelectedScriptName; //std::set m_AutorunSet; bool m_bScriptListNeedsRefocus; bool m_bAutorunListNeedsRefocus; CListViewCtrl m_ScriptListView; CListViewCtrl m_AutorunListView; HANDLE m_hQuitScriptDirWatchEvent; HANDLE m_hScriptDirWatchThread; static DWORD WINAPI ScriptDirWatchProc(void* ctx); void AddSelected(); void RemoveSelected(); void RefreshScriptList(); void RefreshAutorunList(); //void LoadAutorunSet(); //void SaveAutorunSet(); };