123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141 |
- #ifndef __MAIN_FRAME_H
- #define __MAIN_FRAME_H
- #pragma once
- #include "resource.h"
- #include "ukeytask.h"
- class CMainFrame;
- //class CUkeyVerifyDlg : public ATL::CDialogImpl<CUkeyVerifyDlg>, ISysVarListener
- //{
- //public:
- // CUkeyVerifyDlg(UKEYTask *pTask): m_pUkeyTask(pTask){}
- // enum { IDD = IDD_VERIFYDLG};
- //
- // BEGIN_MSG_MAP_EX(CUkeyVerifyDlg)
- // MESSAGE_HANDLER_EX(WM_INITDIALOG, OnInitDialog)
- //
- // END_MSG_MAP()
- //private:
- // UKEYTask *m_pUkeyTask;
- //};
- class CCommandEdit : public ATL::CWindowImpl<CCommandEdit, WTL::CEdit>
- {
- public:
- enum { MAX_HISTORY = 50 };
- BEGIN_MSG_MAP_EX(CCommandEdit)
- MSG_WM_CHAR(OnChar)
- END_MSG_MAP()
- CCommandEdit() : m_nHistoryCursor(0), m_nHistorySize(0), m_nHistoryHead(0) {}
- void SetOwner(CMainFrame *frm) { m_frm = frm; }
- void OnChar(UINT nChar, UINT nRepCnt, UINT nFlags);
- private:
- int m_nHistoryCursor;
- int m_nHistorySize;
- int m_nHistoryHead;
- WTL::CString m_strHistoryList[MAX_HISTORY];
- CMainFrame *m_frm;
- };
- class CMainFrame : public WTL::CFrameWindowImpl<CMainFrame>,
- public WTL::CMessageFilter,
- public WTL::CIdleHandler,
- public WTL::CUpdateUI<CMainFrame>
- {
- public:
- DECLARE_FRAME_WND_CLASS(NULL, IDR_MAINFRAME)
- CMainFrame(IConsole *pConsole) : m_pConsole(pConsole), m_bOperationPending(FALSE), m_iSelectIdx(-1), m_nLineCount(0) {}
- virtual ~CMainFrame() {}
- virtual BOOL PreTranslateMessage(MSG* pMsg);
- virtual BOOL OnIdle();
- BEGIN_MSG_MAP_EX(CMainFrame)
- MSG_WM_CREATE(OnCreate)
- MSG_WM_TIMER(OnTimer)
- MSG_WM_CTLCOLOREDIT(OnCtlColorEdit)
- MSG_WM_CTLCOLORSTATIC(OnCtlColorStatic)
- COMMAND_RANGE_HANDLER_EX(ID_STARTMENU_BEGIN, ID_STARTMENU_END, OnStartMenuRange)
- COMMAND_CODE_HANDLER_EX(EN_CHANGE, OnOutputChanged)
- NOTIFY_HANDLER_EX(IDC_LIST1, LVN_ITEMCHANGED, OnListLeftItemchanged)
- NOTIFY_HANDLER_EX(IDC_LIST2, LVN_ITEMCHANGED, OnListRightItemchanged)
- NOTIFY_HANDLER_EX(IDC_LIST1, NM_CLICK, OnListLeftItemclicked)
- NOTIFY_HANDLER_EX(IDC_LIST2, NM_CLICK, OnListRightItemclicked)
- CHAIN_MSG_MAP(CUpdateUI<CMainFrame>)
- CHAIN_MSG_MAP(WTL::CFrameWindowImpl<CMainFrame>)
- END_MSG_MAP()
- BEGIN_UPDATE_UI_MAP(CMainFrame)
- UPDATE_ELEMENT(ID_START, UPDUI_TOOLBAR)
- UPDATE_ELEMENT(ID_STOP, UPDUI_TOOLBAR)
- UPDATE_ELEMENT(ID_PAUSE, UPDUI_TOOLBAR)
- UPDATE_ELEMENT(ID_CONTINUE, UPDUI_TOOLBAR)
- UPDATE_ELEMENT(ID_KILL, UPDUI_TOOLBAR)
- UPDATE_ELEMENT(ID_FILE_SUBSCRIBE, UPDUI_MENUPOPUP)
- UPDATE_ELEMENT(ID_FILE_UNSUBSCRIBE, UPDUI_MENUPOPUP)
- END_UPDATE_UI_MAP()
- int OnCreate(LPCREATESTRUCT lpCreateStruct);
- LRESULT OnListLeftItemchanged(NMHDR* phdr);
- LRESULT OnListRightItemchanged(NMHDR* phdr);
- LRESULT OnListLeftItemclicked(NMHDR* phdr);
- LRESULT OnListRightItemclicked(NMHDR* phdr);
- void OnTimer(UINT_PTR nIDEvent);
- HBRUSH OnCtlColorEdit(CDCHandle dc, CEdit edit);
- HBRUSH OnCtlColorStatic(CDCHandle dc, CStatic wndStatic);
- void OnOutputChanged(UINT uNotifyCode, int nID, CWindow wndCtl);
- void OnStartMenuRange(UINT uNotifyCode, int nID, CWindow wndCtl);
- WTL::CListViewCtrl m_left_list;
- WTL::CListViewCtrl m_right_list;
- WTL::CSplitterWindow m_verticalSplitter;
- WTL::CHorSplitterWindow m_splitter;
- WTL::CEdit m_output;
- CCommandEdit m_cmd;
- WTL::CFont m_output_font;
- WTL::CStatusBarCtrl m_status;
- WTL::CString m_strOuput;
- WTL::CButton m_OpenDoor;
- WTL::CButton m_OpenLocalconsole;
- WTL::CButton m_OpenKeyboard;
- WTL::CButton m_PasswordOk;
- WTL::CButton m_OpenLocalConsole;
- int m_nLineCount;
- BOOL m_bOperationPending;
- int m_iSelectIdx;
- //
- // IConsoleUISink
- void StartEntity(const char *entity_name, const char *cmdline);
- void StopEntity(const char *entity_name);
- void output_printf(const char *fmt, ...);
- void CheckOutputMaxLen();
- void OnEditEnter(const char *tmp);
- void Usage();
- private:
- int FindEntitylistItemIndex(int entity_id);
- int FindEntitylistItemIndex(const char *entity_name);
- void SetEntityState(int entity_id, int state, int pid);
- void SetEntityState(const char *entity_name, int state, int pid);
- void LoadEntity( int idx, EntityEntry &e);
- void SetEntity();
- private:
- IConsole *m_pConsole;
- };
- #endif // __MAIN_FRAME_H
|