source: dev/trunk/ab5.0/abdev/abdev/include/MainFrame.h

Last change on this file was 829, checked in by イグトランス (egtra), 12 years ago

svn:eol-styleとsvn:mime-type(文字コード指定含む)の設定

  • Property svn:eol-style set to native
  • Property svn:mime-type set to text/plain; charset=Shift_JIS
File size: 14.9 KB
Line 
1#pragma once
2
3#include <boost/shared_ptr.hpp>
4
5//サイズ変更枠の太さ
6#define LEVER_THICK 5
7
8#define WM_SHOWERROR            WM_USER+70  //エラー表示メッセージ
9
10#define WM_SETCOMPILEVIEW       WM_USER+71  //コンパイラウィンドウが表示されたとき
11#define WM_DESTROYCOMPILEVIEW   WM_USER+72  //コンパイラウィンドウが破棄されたとき
12
13#define WM_SETDEBUGGERBASE      WM_USER+73  //デバッガベースウィンドウが表示されたとき
14#define WM_DESTROYDEBUGGERBASE  WM_USER+74  //デバッガベースウィンドウが破棄されたとき
15
16#define WM_SETDEBUGGERVIEW      WM_USER+75  //デバッガウィンドウが表示されたとき
17#define WM_DESTROYDEBUGGERVIEW  WM_USER+76  //デバッガウィンドウが表示されたとき
18
19class TaskbarList;
20
21namespace ActiveBasic{ namespace IDE{
22
23
24class MainFrame
25    : public WindowComponents::MdiWindow
26{
27    WindowAreaManager wam;
28    UINT TaskbarButtonCreated;
29    std::shared_ptr<TaskbarList> taskbarList;
30
31public:
32    MainFrame();
33
34    // リサイズ時のリフレッシュ
35    void Resized();
36
37    // WebブラウザでURLを開く
38    void OpenWebBrowser( const std::string &url );
39
40    // Explorerでパスを開く
41    void OpenExplorer( const std::string &filepath );
42
43    // 生成された
44    ::LRESULT OnCreate( ::CREATESTRUCT const* );
45
46    // OSが終了する
47    BOOL OnQueryEndSession(UINT nSource, UINT uLogOff);
48
49    // 「閉じる」ボタンがクリックされた
50    void OnClose();
51
52    // リサイズされた
53    void OnSize(UINT nType, CSize size);
54
55    // 破棄された
56    void OnDestroy();
57
58    // タイマーイベント
59    void OnTimer( UINT_PTR id );
60
61    // クリップボード内のデータが変更した
62    void OnDrawClipboard();
63
64    // メニューが選択された
65    void OnMenuSelect( UINT nItemID, UINT nFlags, HMENU menu );
66
67    // メニューがアクティブになる直前に送られる
68    void OnInitMenu( HMENU menu );
69
70    // メニューアイテムのサイズが要求された
71    void OnMeasureItem( int nIDCtl, LPMEASUREITEMSTRUCT lpMeasureItemStruct );
72
73    // メニューアイテムの描画が要求された
74    void OnDrawItem( int nIDCtl, LPDRAWITEMSTRUCT lpDrawItemStruct );
75
76    // 拡張コントロールからメッセージが通知された
77    LRESULT OnNotify( int idCtrl, LPNMHDR pnmh );
78
79    // ファイルがドロップされた
80    void OnDropFiles( HDROP hDropInfo );
81
82    // 再描画
83    void OnPaint( HDC dummy );
84
85    // ソースコード表示メッセージ
86    ::LRESULT OnShowSourceLine( ::UINT msg, ::WPARAM wParam, ::LPARAM lParam, ::BOOL& handled );
87
88    // タスクバーボタンが生成された
89    ::LRESULT OnTaskbarButtonCreated(::UINT msg, ::WPARAM wParam, ::LPARAM lParam);
90
91    // 子ウィンドウが生成された
92    void AddChildWindow( HWND hwndChild );
93
94    // 子ウィンドウが破棄された
95    void DeleteChildWindow( HWND hwndChild );
96
97    // 子ウィンドウがアクティブになった
98    void ActivateChildWindow( HWND hwndChild );
99
100    // タブの順序が変更になった
101    void SetTabOrder( HWND hwndChild, HWND hwndInsertBefore );
102
103    // サムネイル画像が古くなった(ので更新したい)
104    void InvalidateBitmap( HWND hwndChild );
105
106    // 「新規作成」メニューがクリックされた
107    void OnCmdNew( UINT uNotifyCode, int nID, CWindow wndCtl );
108
109    // 「開く」メニューがクリックされた
110    void OnCmdOpen( UINT uNotifyCode, int nID, CWindow wndCtl );
111
112    // 「閉じる」メニューがクリックされた
113    void OnCmdClose( UINT uNotifyCode, int nID, CWindow wndCtl );
114
115    // 「プロジェクトを開く」メニューがクリックされた
116    void OnCmdProjectOpen( UINT uNotifyCode, int nID, CWindow wndCtl );
117
118    // 「プロジェクトを保存」メニューがクリックされた
119    void OnCmdProjectSave( UINT uNotifyCode, int nID, CWindow wndCtl );
120
121    // 「プロジェクトを閉じる」メニューがクリックされた
122    void OnCmdProjectClose( UINT uNotifyCode, int nID, CWindow wndCtl );
123
124    // 「プロジェクト フォルダを開く」メニューがクリックされた
125    void OnCmdProjectFolderOpen( UINT uNotifyCode, int nID, CWindow wndCtl );
126
127    // 「保存」メニューがクリックされた
128    void OnCmdSave( UINT uNotifyCode, int nID, CWindow wndCtl );
129
130    // 「名前を付けて保存」メニューがクリックされた
131    void OnCmdNewSave( UINT uNotifyCode, int nID, CWindow wndCtl );
132
133    // 「文字コードを指定して保存」メニューがクリックされた
134    void OnCmdCodeSave( UINT uNotifyCode, int nID, CWindow wndCtl );
135
136    // 「すべて保存」メニューがクリックされた
137    void OnCmdAllSave( UINT uNotifyCode, int nID, CWindow wndCtl );
138
139    // 「ページ設定」メニューがクリックされた
140    void OnCmdPageSet( UINT uNotifyCode, int nID, CWindow wndCtl );
141
142    // 「印刷プレビュー」メニューがクリックされた
143    void OnCmdPreview( UINT uNotifyCode, int nID, CWindow wndCtl );
144
145    // 「印刷」メニューがクリックされた
146    void OnCmdPrintOut( UINT uNotifyCode, int nID, CWindow wndCtl );
147
148    // 「終了」メニューがクリックされた
149    void OnCmdExit( UINT uNotifyCode, int nID, CWindow wndCtl );
150
151    // 「元に戻す」メニューがクリックされた
152    void OnCmdUndo( UINT uNotifyCode, int nID, CWindow wndCtl );
153
154    // 「やり直し」メニューがクリックされた
155    void OnCmdRedo( UINT uNotifyCode, int nID, CWindow wndCtl );
156
157    // 「切り取り」メニューがクリックされた
158    void OnCmdCut( UINT uNotifyCode, int nID, CWindow wndCtl );
159
160    // 「コピー」メニューがクリックされた
161    void OnCmdCopy( UINT uNotifyCode, int nID, CWindow wndCtl );
162
163    // 「貼り付け」メニューがクリックされた
164    void OnCmdPaste( UINT uNotifyCode, int nID, CWindow wndCtl );
165
166    // 「削除」メニューがクリックされた
167    void OnCmdDelete( UINT uNotifyCode, int nID, CWindow wndCtl );
168
169    // 「すべて選択」メニューがクリックされた
170    void OnCmdAllSelect( UINT uNotifyCode, int nID, CWindow wndCtl );
171
172    // 「検索」メニューがクリックされた
173    void OnCmdFind( UINT uNotifyCode, int nID, CWindow wndCtl );
174
175    // 「置換」メニューがクリックされた
176    void OnCmdPermutation( UINT uNotifyCode, int nID, CWindow wndCtl );
177
178    // 変換メニューのいずれかがクリックされた
179    void OnCmdConvertX( UINT uNotifyCode, int nID, CWindow wndCtl );
180
181    // 「文字カウント」メニューがクリックされた
182    void OnCmdStringCount( UINT uNotifyCode, int nID, CWindow wndCtl );
183
184    // 「選択範囲の文字カウント」メニューがクリックされた
185    void OnCmdSelStringCount( UINT uNotifyCode, int nID, CWindow wndCtl );
186
187    // 「プロジェクトビュー」メニューがクリックされた
188    void OnCmdProjectView( UINT uNotifyCode, int nID, CWindow wndCtl );
189
190    // 「プロジェクトオプション」メニューがクリックされた
191    void OnCmdProjectOption( UINT uNotifyCode, int nID, CWindow wndCtl );
192
193    // 「最前面表示」メニューがクリックされた
194    void OnCmdTopMost( UINT uNotifyCode, int nID, CWindow wndCtl );
195
196    // 「右端で折り返す」メニューがクリックされた
197    void OnCmdRightTurn( UINT uNotifyCode, int nID, CWindow wndCtl );
198
199    // 「オプション」メニューがクリックされた
200    void OnCmdSet( UINT uNotifyCode, int nID, CWindow wndCtl );
201
202    // 「デバッグ実行」メニューがクリックされた
203    void OnCmdDebug( UINT uNotifyCode, int nID, CWindow wndCtl );
204
205    // 「デバッグビルド」メニューがクリックされた
206    void OnCmdDebugCompile( UINT uNotifyCode, int nID, CWindow wndCtl );
207
208    // 「アタッチ」メニューがクリックされた
209    void OnCmdAttach( UINT uNotifyCode, int nID, CWindow wndCtl );
210
211    // 「リリースビルド」メニューがクリックされた
212    void OnCmdReleaseCompile( UINT uNotifyCode, int nID, CWindow wndCtl );
213
214    // 「リリース実行」メニューがクリックされた
215    void OnCmdReleaseRun( UINT uNotifyCode, int nID, CWindow wndCtl );
216
217    // 「ステップイン」メニューがクリックされた
218    void OnCmdStepIn( UINT uNotifyCode, int nID, CWindow wndCtl );
219
220    // 「ステップオーバー」メニューがクリックされた
221    void OnCmdStepOver( UINT uNotifyCode, int nID, CWindow wndCtl );
222
223    // 「カーソル行まで実行」メニューがクリックされた
224    void OnCmdStepCursor( UINT uNotifyCode, int nID, CWindow wndCtl );
225
226    // 「ブレークポイント」メニューがクリックされた
227    void OnCmdBreakPoint( UINT uNotifyCode, int nID, CWindow wndCtl );
228
229    // 「デバッグの停止」メニューがクリックされた
230    void OnCmdDebugStop( UINT uNotifyCode, int nID, CWindow wndCtl );
231
232    // 「デバッグの一時停止」メニューがクリックされた
233    void OnCmdDebugPause( UINT uNotifyCode, int nID, CWindow wndCtl );
234
235    // Webリンクメニューがクリックされた
236    void OnCmdWebLink( UINT uNotifyCode, int nID, CWindow wndCtl );
237
238    // 「トピックス」メニューがクリックされた
239    void OnCmdTopics( UINT uNotifyCode, int nID, CWindow wndCtl );
240
241    // 「バージョン情報」メニューがクリックされた
242    void OnCmdAbout( UINT uNotifyCode, int nID, CWindow wndCtl );
243
244    // レバーの「ドキュメントセレクト」メニューがクリックされた
245    void OnCmdDocSelectBand( UINT uNotifyCode, int nID, CWindow wndCtl );
246
247    // レバーの「標準」メニューがクリックされた
248    void OnCmdStandardBand( UINT uNotifyCode, int nID, CWindow wndCtl );
249
250    // レバーの「リリース」メニューがクリックされた
251    void OnCmdReleaseBand( UINT uNotifyCode, int nID, CWindow wndCtl );
252
253    // レバーの「デバッグ」メニューがクリックされた
254    void OnCmdDebugBand( UINT uNotifyCode, int nID, CWindow wndCtl );
255
256    // レバーの「プラットフォーム選択」メニューがクリックされた
257    void OnCmdSelectCompilerBand( UINT uNotifyCode, int nID, CWindow wndCtl );
258
259    // レバーの「レバーを固定」メニューがクリックされた
260    void OnCmdNoGripper( UINT uNotifyCode, int nID, CWindow wndCtl );
261
262    // レバーの「レバーをリセット」メニューがクリックされた
263    void OnCmdResetRebar( UINT uNotifyCode, int nID, CWindow wndCtl );
264
265    // タブの「自分以外のウィンドウを閉じる」メニューがクリックされた
266    void OnCmdAllCloseOmitMyself( UINT uNotifyCode, int nID, CWindow wndCtl );
267
268    // タブの「絶対パスをコピー」メニューがクリックされた
269    void OnCmdPathCopy( UINT uNotifyCode, int nID, CWindow wndCtl );
270
271    // タブの「フォルダを開く」メニューがクリックされた
272    void OnCmdFolderOpen( UINT uNotifyCode, int nID, CWindow wndCtl );
273
274    // タブの「ファイルを削除」メニューがクリックされた
275    void OnCmdDeleteFile( UINT uNotifyCode, int nID, CWindow wndCtl );
276
277    // タブの「タブの色」メニューがクリックされた
278    void OnCmdColor( UINT uNotifyCode, int nID, CWindow wndCtl );
279
280private:
281    // メッセージマップ
282    BEGIN_MSG_MAP( MainFrame )
283        MSG_WM_CREATE( OnCreate )
284        MSG_WM_SIZE( OnSize )
285        MSG_WM_QUERYENDSESSION( OnQueryEndSession )
286        MSG_WM_CLOSE( OnClose )
287        MSG_WM_DESTROY( OnDestroy )
288        MSG_WM_TIMER( OnTimer )
289        MSG_WM_DRAWCLIPBOARD( OnDrawClipboard )
290        MSG_WM_MENUSELECT( OnMenuSelect )
291        MSG_WM_INITMENU( OnInitMenu )
292        MSG_WM_MEASUREITEM( OnMeasureItem )
293        MSG_WM_DRAWITEM( OnDrawItem )
294        MSG_WM_NOTIFY( OnNotify );
295        MSG_WM_DROPFILES( OnDropFiles )
296        MSG_WM_PAINT( OnPaint )
297        MESSAGE_HANDLER( WM_SHOWERROR, OnShowSourceLine )
298        MESSAGE_HANDLER_EX( TaskbarButtonCreated, OnTaskbarButtonCreated )
299        COMMAND_ID_HANDLER_EX( IDM_NEW, OnCmdNew )
300        COMMAND_ID_HANDLER_EX( IDM_OPEN, OnCmdOpen )
301        COMMAND_ID_HANDLER_EX( IDM_CLOSE, OnCmdClose )
302#ifndef THETEXT
303        COMMAND_ID_HANDLER_EX( IDM_PROJECT_OPEN, OnCmdProjectOpen )
304        COMMAND_ID_HANDLER_EX( IDM_PROJECT_SAVE, OnCmdProjectSave )
305        COMMAND_ID_HANDLER_EX( IDM_PROJECT_CLOSE, OnCmdProjectClose )
306        COMMAND_ID_HANDLER_EX( IDM_PROJECT_FOLDER_OPEN, OnCmdProjectFolderOpen )
307#endif
308        COMMAND_ID_HANDLER_EX( IDM_SAVE, OnCmdSave )
309        COMMAND_ID_HANDLER_EX( IDM_NEWSAVE, OnCmdNewSave )
310        COMMAND_ID_HANDLER_EX( IDM_CODE_SAVE, OnCmdCodeSave )
311        COMMAND_ID_HANDLER_EX( IDM_ALLSAVE, OnCmdAllSave )
312        COMMAND_ID_HANDLER_EX( IDM_PAGESET, OnCmdPageSet )
313        COMMAND_ID_HANDLER_EX( IDM_PREVIEW, OnCmdPreview )
314        COMMAND_ID_HANDLER_EX( IDM_PRINTOUT, OnCmdPrintOut )
315        COMMAND_ID_HANDLER_EX( IDM_EXIT, OnCmdExit )
316        COMMAND_ID_HANDLER_EX( IDM_UNDO, OnCmdUndo )
317        COMMAND_ID_HANDLER_EX( (WORD)IDM_ACCEL_UNDO, OnCmdUndo )
318        COMMAND_ID_HANDLER_EX( IDM_REDO, OnCmdRedo )
319        COMMAND_ID_HANDLER_EX( (WORD)IDM_ACCEL_REDO, OnCmdRedo )
320        COMMAND_ID_HANDLER_EX( IDM_CUT, OnCmdCut )
321        COMMAND_ID_HANDLER_EX( IDM_COPY, OnCmdCopy )
322        COMMAND_ID_HANDLER_EX( IDM_PASTE, OnCmdPaste )
323        COMMAND_ID_HANDLER_EX( IDM_DELETE, OnCmdDelete )
324        COMMAND_ID_HANDLER_EX( IDM_ALLSELECT, OnCmdAllSelect )
325        COMMAND_ID_HANDLER_EX( IDM_FIND, OnCmdFind )
326        COMMAND_ID_HANDLER_EX( IDM_PERMUTATION, OnCmdPermutation )
327        COMMAND_ID_HANDLER_EX( IDM_CONV_ALPHA_SMALL, OnCmdConvertX )
328        COMMAND_ID_HANDLER_EX( IDM_CONV_ALPHA_BIG, OnCmdConvertX )
329        COMMAND_ID_HANDLER_EX( IDM_CONV_HALF, OnCmdConvertX )
330        COMMAND_ID_HANDLER_EX( IDM_CONV_MULTI, OnCmdConvertX )
331        COMMAND_ID_HANDLER_EX( IDM_CONV_KATAKANA, OnCmdConvertX )
332        COMMAND_ID_HANDLER_EX( IDM_CONV_HIRAGANA, OnCmdConvertX )
333        COMMAND_ID_HANDLER_EX( IDM_CONV_SPACE, OnCmdConvertX )
334        COMMAND_ID_HANDLER_EX( IDM_CONV_TAB, OnCmdConvertX )
335#ifdef THETEXT
336        COMMAND_ID_HANDLER_EX( IDM_CONV_HASRETURN, OnCmdConvertX )
337        COMMAND_ID_HANDLER_EX( IDM_CONV_QUOTE, OnCmdConvertX )
338        COMMAND_ID_HANDLER_EX( IDM_STRING_COUNT, OnCmdStringCount )
339        COMMAND_ID_HANDLER_EX( IDM_SEL_STRING_COUNT, OnCmdSelStringCount )
340#else
341        COMMAND_ID_HANDLER_EX( IDM_CODEFORMAT, OnCmdConvertX )
342#endif
343        COMMAND_ID_HANDLER_EX( IDM_PROJECTVIEW, OnCmdProjectView )
344        COMMAND_ID_HANDLER_EX( IDM_PROJECT_OPTION, OnCmdProjectOption )
345        COMMAND_ID_HANDLER_EX( IDM_TOPMOST, OnCmdTopMost )
346#ifdef THETEXT
347        COMMAND_ID_HANDLER_EX( IDM_RIGHT_TURN, OnCmdRightTurn )
348#endif
349        COMMAND_ID_HANDLER_EX( IDM_SET, OnCmdSet )
350#ifndef THETEXT
351        COMMAND_ID_HANDLER_EX( IDM_DEBUG, OnCmdDebug )
352        COMMAND_ID_HANDLER_EX( IDM_DEBUGCOMPILE, OnCmdDebugCompile )
353        COMMAND_ID_HANDLER_EX( IDM_ATTACH, OnCmdAttach )
354        COMMAND_ID_HANDLER_EX( IDM_RELEASECOMPILE, OnCmdReleaseCompile )
355        COMMAND_ID_HANDLER_EX( IDM_RELEASERUN, OnCmdReleaseRun )
356        COMMAND_ID_HANDLER_EX( IDM_STEP_IN, OnCmdStepIn )
357        COMMAND_ID_HANDLER_EX( IDM_STEP_OVER, OnCmdStepOver )
358        COMMAND_ID_HANDLER_EX( IDM_STEP_CURSOR, OnCmdStepCursor )
359        COMMAND_ID_HANDLER_EX( IDM_BREAKPOINT, OnCmdBreakPoint )
360        COMMAND_ID_HANDLER_EX( IDM_DEBUG_STOP, OnCmdDebugStop )
361        COMMAND_ID_HANDLER_EX( IDM_DEBUG_PAUSE, OnCmdDebugPause )
362        COMMAND_ID_HANDLER_EX( IDM_COMMUNITY, OnCmdWebLink )
363        COMMAND_ID_HANDLER_EX( IDM_COMMU_SEARCH, OnCmdWebLink )
364        COMMAND_ID_HANDLER_EX( IDM_COMMU_PM, OnCmdWebLink )
365        COMMAND_ID_HANDLER_EX( ID_COMMU_FORUM1, OnCmdWebLink )
366        COMMAND_ID_HANDLER_EX( ID_COMMU_FORUM2, OnCmdWebLink )
367        COMMAND_ID_HANDLER_EX( ID_COMMU_FORUM3, OnCmdWebLink )
368        COMMAND_ID_HANDLER_EX( ID_COMMU_FORUM4, OnCmdWebLink )
369        COMMAND_ID_HANDLER_EX( ID_COMMU_FORUM5, OnCmdWebLink )
370        COMMAND_ID_HANDLER_EX( ID_COMMU_FORUM6, OnCmdWebLink )
371        COMMAND_ID_HANDLER_EX( ID_COMMU_FORUM7, OnCmdWebLink )
372        COMMAND_ID_HANDLER_EX( ID_COMMU_FORUM8, OnCmdWebLink )
373        COMMAND_ID_HANDLER_EX( IDM_AB_WEBSITE, OnCmdWebLink )
374        COMMAND_ID_HANDLER_EX( IDM_ACTBDL, OnCmdWebLink )
375#else
376        COMMAND_ID_HANDLER_EX( IDM_DSHOMEPAGE, OnCmdWebLink )
377#endif
378        COMMAND_ID_HANDLER_EX( IDM_TOPIC, OnCmdTopics )
379        COMMAND_ID_HANDLER_EX( IDM_ABOUT, OnCmdAbout )
380        COMMAND_ID_HANDLER_EX( IDM_DOCSELECTBAND, OnCmdDocSelectBand )
381        COMMAND_ID_HANDLER_EX( IDM_STANDARDBAND, OnCmdStandardBand )
382#ifndef THETEXT
383        COMMAND_ID_HANDLER_EX( IDM_RELEASEBAND, OnCmdReleaseBand )
384        COMMAND_ID_HANDLER_EX( IDM_DEBUGBAND, OnCmdDebugBand )
385        COMMAND_ID_HANDLER_EX( IDM_SELECTCOMPILERBAND, OnCmdSelectCompilerBand )
386#endif
387        COMMAND_ID_HANDLER_EX( IDM_NOGRIPPER, OnCmdNoGripper )
388        COMMAND_ID_HANDLER_EX( IDM_RESET_REBAR, OnCmdResetRebar )
389        COMMAND_ID_HANDLER_EX( IDM_ALLCLOSE_OMIT_MYSELF, OnCmdAllCloseOmitMyself )
390        COMMAND_ID_HANDLER_EX( IDM_PATH_COPY, OnCmdPathCopy )
391        COMMAND_ID_HANDLER_EX( IDM_FOLDER_OPEN, OnCmdFolderOpen )
392        COMMAND_ID_HANDLER_EX( IDM_DELETE_FILE, OnCmdDeleteFile )
393        COMMAND_ID_HANDLER_EX( IDM_USER_COLOR, OnCmdColor )
394        COMMAND_ID_HANDLER_EX( IDM_GRAY, OnCmdColor )
395        COMMAND_ID_HANDLER_EX( IDM_WHITE, OnCmdColor )
396        COMMAND_ID_HANDLER_EX( IDM_RED, OnCmdColor )
397        COMMAND_ID_HANDLER_EX( IDM_GREEN, OnCmdColor )
398        COMMAND_ID_HANDLER_EX( IDM_BLUE, OnCmdColor )
399        COMMAND_ID_HANDLER_EX( IDM_YELLOW, OnCmdColor )
400
401        CHAIN_MSG_MAP(CUpdateUI<WindowComponents::MdiWindow>)
402        CHAIN_MSG_MAP(CMDIFrameWindowImpl<WindowComponents::MdiWindow>)
403    END_MSG_MAP()
404};
405
406
407}}
Note: See TracBrowser for help on using the repository browser.