00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00020
00025 #pragma once
00026
00027 #include <dbstate.h>
00028 #include <DockingFrame.h>
00029 #include <TabbedDockingWindow.h>
00030
00031 #define CWM_INITIALIZE (WMDF_LAST+1)
00032
00034
00035 #include <PlainTextView.h>
00036
00037 #include "ChildFrm.h"
00038
00039 #include "FoldersTree.h"
00040 #include "BuildOutputView.h"
00041
00042 #include "SCompiler.h"
00043
00045
00046 class CIdleHandlerPump;
00047
00049
00074 class CMainFrame :
00075 public dockwins::CMDIDockingFrameImpl<CMainFrame>,
00076 public CUpdateUI<CMainFrame>,
00077 public CMessageFilter,
00078 public CIdleHandlerPump
00079 {
00080 friend CChildFrame;
00081 protected:
00082 typedef CMainFrame thisClass;
00083 typedef dockwins::CMDIDockingFrameImpl<CMainFrame> baseClass;
00084
00085 protected:
00086 CTabbedMDIClient<CDotNetTabCtrl<CTabViewTabItem> > m_tabbedClient;
00087 sstate::CWindowStateMgr m_stateMgr;
00088
00089 CSimpleArray<CChildFrame*> m_ChildList;
00090
00091
00092 CMultiPaneStatusBarCtrl m_wndStatusBar;
00093
00094 CTabbedMDICommandBarCtrl m_CmdBar;
00095
00096
00097 CTabbedDockingWindow m_InfoFrame;
00098
00100 CFoldersTree m_foldersDockWnd;
00101
00102 CPlainTextView m_TaskListView;
00103 CPlainTextView m_DescriptionView;
00104 CBuildOutputView m_OutputView;
00106 SCompiler m_SmallCompiler;
00107 public:
00108 DECLARE_FRAME_WND_CLASS(NULL, IDR_MAINFRAME)
00109
00110 virtual BOOL PreTranslateMessage(MSG* pMsg);
00111 virtual BOOL OnIdle();
00112
00113 BEGIN_UPDATE_UI_MAP(CMainFrame)
00114 UPDATE_ELEMENT ( ID_FILE_RELOAD, UPDUI_MENUPOPUP )
00115 UPDATE_ELEMENT ( ID_FILE_SAVE, UPDUI_MENUPOPUP | UPDUI_TOOLBAR )
00116 UPDATE_ELEMENT ( ID_FILE_SAVE_ALL, UPDUI_MENUPOPUP | UPDUI_TOOLBAR )
00117 UPDATE_ELEMENT ( ID_FILE_SAVE_AS, UPDUI_MENUPOPUP )
00118 UPDATE_ELEMENT ( ID_FILE_PRINT, UPDUI_MENUPOPUP | UPDUI_TOOLBAR )
00119 UPDATE_ELEMENT ( ID_FILE_PRINT_SETUP, UPDUI_MENUPOPUP )
00120
00121 UPDATE_ELEMENT ( ID_EDIT_UNDO, UPDUI_MENUPOPUP | UPDUI_TOOLBAR )
00122 UPDATE_ELEMENT ( ID_EDIT_REDO, UPDUI_MENUPOPUP | UPDUI_TOOLBAR )
00123 UPDATE_ELEMENT ( ID_EDIT_CUT, UPDUI_MENUPOPUP | UPDUI_TOOLBAR )
00124 UPDATE_ELEMENT ( ID_EDIT_COPY, UPDUI_MENUPOPUP | UPDUI_TOOLBAR )
00125 UPDATE_ELEMENT ( ID_EDIT_PASTE, UPDUI_MENUPOPUP | UPDUI_TOOLBAR )
00126 UPDATE_ELEMENT ( ID_EDIT_CLEAR, UPDUI_MENUPOPUP | UPDUI_TOOLBAR )
00127
00128 UPDATE_ELEMENT ( ID_EDIT_READ_ONLY, UPDUI_MENUPOPUP )
00129
00130 UPDATE_ELEMENT ( ID_EDIT_TAB, UPDUI_MENUPOPUP | UPDUI_TOOLBAR )
00131 UPDATE_ELEMENT ( ID_EDIT_UNTAB, UPDUI_MENUPOPUP | UPDUI_TOOLBAR )
00132
00133 UPDATE_ELEMENT ( ID_EDIT_FIND_SELECTION, UPDUI_MENUPOPUP )
00134
00135 UPDATE_ELEMENT ( ID_EDIT_UPPERCASE, UPDUI_MENUPOPUP )
00136 UPDATE_ELEMENT ( ID_EDIT_LOWERCASE, UPDUI_MENUPOPUP )
00137 UPDATE_ELEMENT ( ID_EDIT_TABIFY, UPDUI_MENUPOPUP )
00138 UPDATE_ELEMENT ( ID_EDIT_UNTABIFY, UPDUI_MENUPOPUP )
00139 UPDATE_ELEMENT ( ID_EDIT_SHOW_WHITE_SPACE, UPDUI_MENUPOPUP )
00140
00141 UPDATE_ELEMENT ( ID_EDIT_TOGGLE_BOOKMARK, UPDUI_MENUPOPUP )
00142 UPDATE_ELEMENT ( ID_EDIT_GOTO_NEXT_BOOKMARK, UPDUI_MENUPOPUP )
00143 UPDATE_ELEMENT ( ID_EDIT_GOTO_PREV_BOOKMARK, UPDUI_MENUPOPUP )
00144 UPDATE_ELEMENT ( ID_EDIT_CLEAR_ALL_BOOKMARKS, UPDUI_MENUPOPUP )
00145
00146 UPDATE_ELEMENT(ID_VIEW_TOOLBAR, UPDUI_MENUPOPUP)
00147 UPDATE_ELEMENT(ID_VIEW_STATUS_BAR, UPDUI_MENUPOPUP)
00148
00149 UPDATE_ELEMENT(ID_VIEW_INFO, UPDUI_MENUPOPUP)
00150 UPDATE_ELEMENT(ID_VIEW_PROP, UPDUI_MENUPOPUP)
00151
00152 END_UPDATE_UI_MAP()
00153
00154 BEGIN_MSG_MAP(CMainFrame)
00155 MESSAGE_HANDLER(WM_CREATE, OnCreate)
00156 MESSAGE_HANDLER(WM_DESTROY, OnDestroy)
00157 MESSAGE_HANDLER(CWM_INITIALIZE, OnInitialize)
00158
00159 COMMAND_ID_HANDLER(ID_APP_EXIT, OnFileExit)
00160 COMMAND_ID_HANDLER(ID_FILE_NEW, OnFileNew)
00161 COMMAND_ID_HANDLER(ID_FILE_OPEN, OnFileOpen)
00162 COMMAND_ID_HANDLER(ID_VIEW_TOOLBAR, OnViewToolBar)
00163 COMMAND_ID_HANDLER(ID_VIEW_STATUS_BAR, OnViewStatusBar)
00164 COMMAND_ID_HANDLER(ID_VIEW_INFO, OnViewInfoWindow)
00165
00166 COMMAND_ID_HANDLER(ID_BUILD, OnBuildProject)
00167
00168 MESSAGE_HANDLER(WMQD_MESSAGE, m_OutputView.OnWriteMsg)
00169
00170
00171 COMMAND_TOGGLE_MEMBER_HANDLER(ID_VIEW_INFO, m_InfoFrame)
00172
00173 COMMAND_ID_HANDLER(ID_APP_ABOUT, OnAppAbout)
00174 COMMAND_ID_HANDLER(ID_WINDOW_CASCADE, OnWindowCascade)
00175 COMMAND_ID_HANDLER(ID_WINDOW_TILE_HORZ, OnWindowTile)
00176 COMMAND_ID_HANDLER(ID_WINDOW_ARRANGE, OnWindowArrangeIcons)
00177
00178
00179 CHAIN_MDI_CHILD_COMMANDS()
00180 CHAIN_MSG_MAP(CUpdateUI<CMainFrame>)
00181 CHAIN_MSG_MAP(baseClass)
00182
00183 END_MSG_MAP()
00184
00185
00186
00187
00188
00189
00190 LRESULT OnCreate(UINT , WPARAM , LPARAM , BOOL& );
00191 void InitializeDefaultPanes(void);
00192 LRESULT OnInitialize(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
00193 LRESULT OnDestroy(UINT , WPARAM , LPARAM , BOOL& );
00194
00195 LRESULT OnFileExit(WORD , WORD , HWND , BOOL& );
00196 LRESULT OnFileNew(WORD , WORD , HWND , BOOL& );
00197 LRESULT OnFileOpen(WORD , WORD , HWND , BOOL& );
00198 LRESULT OnViewToolBar(WORD , WORD , HWND , BOOL& );
00199 LRESULT OnViewStatusBar(WORD , WORD , HWND , BOOL& );
00200 LRESULT OnViewInfoWindow(WORD , WORD , HWND , BOOL& );
00201 LRESULT OnAppAbout(WORD , WORD , HWND , BOOL& );
00202 LRESULT OnWindowCascade(WORD , WORD , HWND , BOOL& );
00203 LRESULT OnWindowTile(WORD , WORD , HWND , BOOL& );
00204 LRESULT OnWindowArrangeIcons(WORD , WORD , HWND , BOOL& );
00205
00206 LRESULT OnBuildProject(WORD , WORD , HWND , BOOL& );
00207
00208 public:
00209 int Select(LPCTSTR szFilename, LPARAM lParam);
00210 int FileOpen(LPCTSTR szFilename, LPARAM lParam=0, BOOL bReadOnly=FALSE);
00211
00212 void UIUpdateMenuItems();
00213
00214 };