| 69 | }; |
| 70 | |
| 71 | class CMainFrame : |
| 72 | public CTabbedFrameImpl<CMainFrame, CDotNetTabCtrl<CLogViewTabItem>>, |
| 73 | public CUpdateUI<CMainFrame>, |
| 74 | public ExceptionHandler<CMainFrame, std::exception>, |
| 75 | public CMessageFilter, |
| 76 | public CIdleHandler |
| 77 | { |
| 78 | public: |
| 79 | typedef CTabbedFrameImpl<CMainFrame, CDotNetTabCtrl<CLogViewTabItem>> TabbedFrame; |
| 80 | |
| 81 | CMainFrame(); |
| 82 | ~CMainFrame(); |
| 83 | |
| 84 | DECLARE_FRAME_WND_CLASS(nullptr, IDR_MAINFRAME) |
| 85 | |
| 86 | BEGIN_UPDATE_UI_MAP(CMainFrame) |
| 87 | UPDATE_ELEMENT(ID_LOG_PAUSE, UPDUI_MENUPOPUP | UPDUI_TOOLBAR) |
| 88 | UPDATE_ELEMENT(ID_LOG_GLOBAL, UPDUI_MENUPOPUP) |
| 89 | UPDATE_ELEMENT(ID_VIEW_SCROLL, UPDUI_MENUPOPUP | UPDUI_TOOLBAR) |
| 90 | UPDATE_ELEMENT(ID_VIEW_SCROLL_STOP, UPDUI_MENUPOPUP | UPDUI_TOOLBAR) |
| 91 | UPDATE_ELEMENT(ID_VIEW_TIME, UPDUI_MENUPOPUP | UPDUI_TOOLBAR) |
| 92 | UPDATE_ELEMENT(ID_VIEW_PROCESSCOLORS, UPDUI_MENUPOPUP) |
| 93 | UPDATE_ELEMENT(ID_VIEW_BOOKMARK, UPDUI_MENUPOPUP | UPDUI_TOOLBAR) |
| 94 | UPDATE_ELEMENT(ID_VIEW_COLUMN_LINE, UPDUI_MENUPOPUP) |
| 95 | UPDATE_ELEMENT(ID_VIEW_COLUMN_DATE, UPDUI_MENUPOPUP) |
| 96 | UPDATE_ELEMENT(ID_VIEW_COLUMN_TIME, UPDUI_MENUPOPUP) |
| 97 | UPDATE_ELEMENT(ID_VIEW_COLUMN_PID, UPDUI_MENUPOPUP) |
| 98 | UPDATE_ELEMENT(ID_VIEW_COLUMN_PROCESS, UPDUI_MENUPOPUP) |
| 99 | UPDATE_ELEMENT(ID_OPTIONS_LINKVIEWS, UPDUI_MENUPOPUP | UPDUI_TOOLBAR) |
| 100 | UPDATE_ELEMENT(ID_OPTIONS_AUTONEWLINE, UPDUI_MENUPOPUP) |
| 101 | UPDATE_ELEMENT(ID_OPTIONS_ALWAYSONTOP, UPDUI_MENUPOPUP) |
| 102 | UPDATE_ELEMENT(ID_OPTIONS_HIDE, UPDUI_MENUPOPUP) |
| 103 | UPDATE_ELEMENT(ID_DEFAULT_PANE, UPDUI_STATUSBAR) |
| 104 | UPDATE_ELEMENT(ID_SELECTION_PANE, UPDUI_STATUSBAR) |
| 105 | UPDATE_ELEMENT(ID_VIEW_PANE, UPDUI_STATUSBAR) |
| 106 | UPDATE_ELEMENT(ID_LOGFILE_PANE, UPDUI_STATUSBAR) |
| 107 | UPDATE_ELEMENT(ID_MEMORY_PANE, UPDUI_STATUSBAR) |
| 108 | END_UPDATE_UI_MAP() |
| 109 | |
| 110 | void SetLogging(); |
| 111 | void LoadConfiguration(const std::wstring& fileName); |
| 112 | void SaveConfiguration(const std::wstring& fileName); |
| 113 | void Load(const std::wstring& fileName); |
| 114 | void LoadAsync(const std::wstring& fileName); |
| 115 | void Load(HANDLE hFile); |
| 116 | void Load(std::istream& is, const std::string& name, FILETIME fileTime); |
| 117 | void CapturePipe(HANDLE hPipe); |
| 118 | void FindNext(const std::wstring& text); |
| 119 | void FindPrevious(const std::wstring& text); |
| 120 | void OnDropFiles(HDROP hDropInfo); |
| 121 | |
| 122 | private: |
| 123 | enum |
| 124 | { |
| 125 | WM_FIRST = WM_APP, |
| 126 | WM_SYSTEMTRAYICON, |
| 127 | }; |
| 128 | |