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

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

エディタの2重オープンチェックの厳密化。abdevからコンパイラへのHWNDの受け渡しを64ビット対応へ。

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