Develop and Download Open Source Software

Browse Subversion Repository

Contents of /CopalPro/Main.cpp

Parent Directory Parent Directory | Revision Log Revision Log


Revision 6 - (show annotations) (download) (as text)
Mon Aug 1 01:48:58 2011 UTC (12 years, 9 months ago) by kaityo
File MIME type: text/x-c++src
File size: 23557 byte(s)
Release Ver 2.86
1 //---------------------------------------------------------------------------
2 // Copal メインフォーム
3 //---------------------------------------------------------------------------
4 #include <windows.h>
5 #include <vcl.h>
6 #include <dir.h>
7 #pragma hdrstop
8
9 const char *Version = "Copal Ver 2.86"; //バージョン情報
10
11 AnsiString DefaultPath;
12
13 #include "KExecProc.h"
14 #include "KCopalConfig.h"
15 //---------------------------------------------------------------------------
16 #include "Main.h"
17 #include "Editor.h"
18 #include "Version.h"
19 #include "KRegexp.h"
20
21 //---------------------------------------------------------------------------
22 #pragma package(smart_init)
23 #pragma resource "*.dfm"
24 TFMain *FMain;
25 //---------------------------------------------------------------------------
26 /**
27 * コンストラクタ
28 */
29 __fastcall
30 TFMain::TFMain(TComponent* Owner)
31 : TForm(Owner) {
32 //メッセージのフック
33 Application->HookMainWindow(Hook);
34
35 //ドラッグを受け取る
36 DragAcceptFiles(this->Handle,true);
37
38 //ヒストリ情報
39 Classes::TNotifyEvent temp = &OnHistoryClick;
40 FileHistory = new KFileHistory(MMReload,temp);
41
42 //デフォルトパスの作成
43 DefaultPath = ExtractFilePath(Application->ExeName);
44
45 //コンフィグ情報を読み込む
46 CopalConfig = new KCopalConfig(DefaultPath);
47
48 CopalConfig->SearchDefFiles();
49
50 CopalConfig->Load();
51
52 MakeLanguageMenu();
53
54 htmlhelp = Htmlhelp::GetInstance();
55 }
56 //---------------------------------------------------------------------------
57 /**
58 * プログラムの初期化
59 */
60 void
61 TFMain::Init(AnsiString FileName) {
62
63 FScript->SetCopalConfig(CopalConfig);
64 CurrentForm = FScript;
65 CloseError();
66 PageControl->SelectNextPage(true);
67 PageControl->SelectNextPage(true);
68 if(CopalConfig->isMaximized()) {
69 WindowState = wsMaximized;
70 }
71
72 //ファイルが指定されていたら開く
73 if(FileName != "") {
74 FScript->LoadFromFile(FileName);
75 }
76
77 //NKF32.DLLがあるかチェック
78 if(!KCodeConv::CheckNKF32()) {
79 MMEncode->Enabled = false;
80 }
81
82 //BREGEXP.DLLのロード
83 KRegexp::Init();
84
85 //環境変数エディタを最前面に表示するか
86 CopalConfig->SetFEditorStayOnTop();
87
88 FScript->SetCode(CopalConfig->GetCodeMode());
89
90 UpdateAll();
91 }
92 //---------------------------------------------------------------------------
93 /**
94 * フォームクローズ時の処理
95 * デストラクタとして使っている
96 */
97 void __fastcall
98 TFMain::FormClose(TObject *Sender, TCloseAction &Action) {
99 //現在の情報の保存
100 CONFIGSAVEPARAM csp;
101
102 csp.Maximized = (WindowState==wsMaximized);
103
104 WindowState =wsNormal;
105
106 csp.Width = Width;
107 csp.Height = Height;
108
109 CopalConfig->Save(csp);
110
111 //メッセージのアンフック
112 Application->UnhookMainWindow(Hook);
113
114 //片付け
115 delete CopalConfig;
116 delete FileHistory;
117
118 KRegexp::Free();
119 KCodeConv::FreeNKF32();
120 }
121 //---------------------------------------------------------------------------
122 /**
123 * メッセージのフック
124 */
125 bool __fastcall
126 TFMain::Hook(TMessage &Message) {
127 if (Message.Msg == CM_APPKEYDOWN) {
128 return true;
129 } else {
130 return false;
131 }
132 }
133 //---------------------------------------------------------------------------
134 /**
135 * ファイルのドロップを処理する
136 */
137 void
138 TFMain::WMDropFiles(TWMDropFiles &Msg) {
139 //とりあえずドロップを禁止
140 DragAcceptFiles(this->Handle,false);
141 SetForegroundWindow(this->Handle);
142 SetFocus();
143
144 //ドロップファイルを得る
145 char filename[MAXPATH];
146
147 AnsiString Files;
148 AnsiString HintText;//ツールボタンに表示するヒント
149
150 int files = DragQueryFile((void*)Msg.Drop,-1,NULL,0);
151 for(int i=0;i<files;i++) {
152 DragQueryFile((void*)Msg.Drop,i,filename,sizeof(filename));
153 AnsiString f2 = filename;
154 if(f2.AnsiPos(" ")!=0) {
155 f2 = "\""+f2 + "\"";
156 }
157 Files += f2;
158 Files += " ";
159 HintText = HintText + "\n" + filename;
160 }
161
162 if(files==1 && CopalConfig->SearchByExt(Files)) {
163 //拡張子が検索にかかったらロード
164 if(SaveQuery()) {
165 FScript->LoadFromFile(Files);
166 }
167 }else{
168 //そうでなければ引数として実行
169 ExecuteOnDrop(Files,HintText);
170 }
171
172 DragAcceptFiles(this->Handle,true);
173 }
174 //---------------------------------------------------------------------------
175 /**
176 * ホットキーを押されたときの処理
177 */
178 void __fastcall
179 TFMain::WMHotKey(TMessage) {
180
181 //もし設定メニューを開いていたら無視
182 if(FConfig->Visible || FLangConfig->Visible || FNewLang->Visible) {
183 return;
184 }
185 Application->Restore();
186 SetForegroundWindow(this->Handle);
187 SetFocus();
188 Show();
189 }
190 //---------------------------------------------------------------------------
191 /**
192 * 保存するか聞く
193 * 返り値
194 * true 処理を進めてOK
195 * false 処理を進めてはいけない
196 */
197 bool
198 TFMain::SaveQuery(void) {
199 ChangeWindow(SCRIPT_WINDOW);
200 return FScript->SaveQuery();
201 }
202 //---------------------------------------------------------------------------
203 /**
204 * WM_FILEPOSTの処理
205 */
206 void
207 TFMain::FilePost(AnsiString FileName) {
208 ChangeWindow(SCRIPT_WINDOW);
209 if(WindowState == wsMinimized){
210 WindowState = wsNormal;
211 }
212 Show();
213 SetForegroundWindow(this->Handle);
214 if(FileName !="") {
215 if(!SaveQuery()) {
216 return;
217 }
218 FScript->LoadFromFile(FileName);
219 }
220 }
221 //---------------------------------------------------------------------------
222 /**
223 * 言語の選択
224 */
225 void __fastcall
226 TFMain::OnLanguageClick(TObject *Sender) {
227 TMenuItem *mi = (TMenuItem*)Sender;
228 KDefConfig *df = (KDefConfig*)mi->Tag;
229 CopalConfig->ChangeLanguage(df);
230 mi->Checked = true;
231 UpdateAll();
232 }
233 //---------------------------------------------------------------------------
234 /**
235 * ファイルヒストリをクリック
236 */
237 void __fastcall
238 TFMain::OnHistoryClick(TObject *Sender) {
239 TMenuItem *mi = (TMenuItem*)Sender;
240 AnsiString FileName = FileHistory->GetFileName(mi->Tag);
241 ChangeWindow(SCRIPT_WINDOW);
242 if(!SaveQuery()) {
243 return;
244 }
245 FScript->LoadFromFile(FileName);
246 }
247 //---------------------------------------------------------------------------
248 // メニューの実行
249 //---------------------------------------------------------------------------
250 /**
251 * 新規作成
252 */
253 void __fastcall
254 TFMain::MMNewClick(TObject *Sender) {
255 if(!SaveQuery()) {
256 return;
257 }
258 FScript->New();
259 }
260 //---------------------------------------------------------------------------
261 /**
262 * ファイルを開く
263 */
264 void __fastcall
265 TFMain::MMOpenClick(TObject *Sender) {
266
267 ChangeWindow(SCRIPT_WINDOW);
268 if(!SaveQuery()) {
269 return;
270 }
271
272 FScript->Load();
273 }
274 //---------------------------------------------------------------------------
275 /**
276 * 保存
277 */
278 void __fastcall
279 TFMain::MMSaveClick(TObject *Sender) {
280 if(CurrentForm == NULL) {
281 return;
282 }
283 CurrentForm->Save();
284 }
285 //---------------------------------------------------------------------------
286 /**
287 * 名前を付けて保存
288 */
289 void __fastcall
290 TFMain::MMSaveAsClick(TObject *Sender) {
291 if(CurrentForm == NULL) {
292 return;
293 }
294 CurrentForm->SaveAs();
295 }
296 //---------------------------------------------------------------------------
297 void __fastcall
298 TFMain::MMAutoClick(TObject *Sender) {
299 CopalConfig->SetCodeMode(CM_AUTOSELECT);
300 UpdateAll();
301 }
302 //---------------------------------------------------------------------------
303 void __fastcall
304 TFMain::MMSHIFTJISClick(TObject *Sender) {
305 CopalConfig->SetCodeMode(CM_SJIS);
306 UpdateAll();
307 }
308 //---------------------------------------------------------------------------
309 void __fastcall
310 TFMain::MMEUCClick(TObject *Sender) {
311 CopalConfig->SetCodeMode(CM_EUC);
312 UpdateAll();
313 }
314 //---------------------------------------------------------------------------
315 void __fastcall
316 TFMain::MMJISClick(TObject *Sender) {
317 CopalConfig->SetCodeMode(CM_JIS);
318 UpdateAll();
319 }
320 //---------------------------------------------------------------------------
321 void __fastcall
322 TFMain::MMUTF8Click(TObject *Sender) {
323 CopalConfig->SetCodeMode(CM_UTF8);
324 UpdateAll();
325 }
326 //---------------------------------------------------------------------------
327 /**
328 * アンドゥ
329 */
330 void __fastcall
331 TFMain::MMUndoClick(TObject *Sender) {
332 if(CurrentForm == NULL) {
333 return;
334 }
335 CurrentForm->Undo();
336 }
337 //---------------------------------------------------------------------------
338 /**
339 * 切り取り
340 */
341 void __fastcall
342 TFMain::MMCutClick(TObject *Sender) {
343 if(CurrentForm == NULL) {
344 return;
345 }
346 CurrentForm->Cut();
347 }
348 //---------------------------------------------------------------------------
349 /**
350 * コピー
351 */
352 void __fastcall
353 TFMain::MMCopyClick(TObject *Sender) {
354 if(CurrentForm == NULL) {
355 return;
356 }
357 CurrentForm->Copy();
358 }
359 //---------------------------------------------------------------------------
360 /**
361 * 貼り付け
362 */
363 void __fastcall
364 TFMain::MMPasteClick(TObject *Sender) {
365 if(CurrentForm == NULL) {
366 return;
367 }
368 CurrentForm->Paste();
369 }
370 //---------------------------------------------------------------------------
371 /**
372 * 読み込み専用
373 */
374 void __fastcall
375 TFMain::MMReadOnlyClick(TObject *Sender) {
376 CopalConfig->SetReadOnly(!CopalConfig->IsReadOnly());
377 UpdateAll();
378 }
379 //---------------------------------------------------------------------------
380 // 検索関係
381 //---------------------------------------------------------------------------
382 /**
383 * 検索
384 */
385 void __fastcall
386 TFMain::MMFindClick(TObject *Sender) {
387 if(CurrentForm == NULL) {
388 return;
389 }
390 CurrentForm->Find();
391 }
392 //---------------------------------------------------------------------------
393 /**
394 * 次を検索
395 */
396 void __fastcall
397 TFMain::MMFindNextClick(TObject *Sender) {
398 if(CurrentForm == NULL) {
399 return;
400 }
401 CurrentForm->FindNext();
402 }
403 //---------------------------------------------------------------------------
404 /**
405 * 上を検索
406 */
407 void __fastcall
408 TFMain::MMFindPrevClick(TObject *Sender) {
409 if(CurrentForm == NULL) {
410 return;
411 }
412 CurrentForm->FindPrev();
413 }
414 //---------------------------------------------------------------------------
415 // 表示
416 //---------------------------------------------------------------------------
417 void __fastcall
418 TFMain::MMScriptWindowClick(TObject *Sender) {
419 ChangeWindow(SCRIPT_WINDOW);
420 }
421 //---------------------------------------------------------------------------
422 void __fastcall
423 TFMain::MMResultWindowClick(TObject *Sender) {
424 ChangeWindow(RESULT_WINDOW);
425 }
426 //---------------------------------------------------------------------------
427 void __fastcall
428 TFMain::MMErrorWindowClick(TObject *Sender) {
429 ChangeWindow(ERROR_WINDOW);
430 }
431 //---------------------------------------------------------------------------
432 void __fastcall
433 TFMain::MMSwichWindowClick(TObject *Sender) {
434 ChangeWindow(NEXT_WINDOW);
435 }
436 //---------------------------------------------------------------------------
437 /**
438 * CGIフォームエディタの表示
439 */
440 void __fastcall
441 TFMain::MMFormEditorClick(TObject *Sender) {
442 CopalConfig->UseCGI = true;
443 UpdateAll();
444 FEditor->Show();
445 }
446 //---------------------------------------------------------------------------
447 // 実行
448 //---------------------------------------------------------------------------
449 /**
450 * スクリプトを実行
451 */
452 void __fastcall
453 TFMain::MMExecuteScriptClick(TObject *Sender) {
454 if(!CopalConfig->CheckPath()) {
455 if(IDYES ==
456 Application->MessageBox(
457 "実行可能ファイルが見つかりません。\n"
458 "Copalはスクリプトを実行するのに、処理系が必要です。\n"
459 "実行ファイルのパスの設定をしますか?。","Copal - Error",
460 MB_YESNO)) {
461 FLangConfig->Execute(CopalConfig);
462 }
463 return;
464 }
465
466 if(MMMemoryDroppedFiles->Checked) {
467 Execute(CopalConfig->LastDroppedFiles);
468 } else {
469 Execute("");
470 }
471
472 if(MMSaveAll->Checked) {
473 SaveResultToFile();
474 }
475 if(MMToBrowserAll->Checked) {
476 ToBrowser();
477 }
478 }
479 //---------------------------------------------------------------------------
480 /**
481 * ブラウザへ出力
482 */
483 void __fastcall
484 TFMain::MMExecToBrowserClick(TObject *Sender) {
485 ExecToBrowser();
486 }
487 //---------------------------------------------------------------------------
488 /**
489 * クリップボードの内容に実行
490 */
491 void __fastcall
492 TFMain::MMExecToClipClick(TObject *Sender) {
493 ExecToClip();
494 }
495 //---------------------------------------------------------------------------
496 /**
497 * DOS窓で実行
498 */
499 void __fastcall
500 TFMain::MMExecDOSClick(TObject *Sender) {
501 ExecDOS();
502 }
503 //---------------------------------------------------------------------------
504 /**
505 * 常に結果をファイルに保存
506 */
507 void __fastcall
508 TFMain::MMSaveAllClick(TObject *Sender) {
509 MMSaveAll->Checked = !MMSaveAll->Checked;
510 TBSaveAll->Down = MMSaveAll->Checked;
511 if(MMSaveAll->Checked) {
512 FOpenFile->SetCaption("Copal - 常に結果をファイルに保存");
513 if(FOpenFile->Execute()) {
514 TBSaveAll->Hint = "常に結果をファイルに保存\n\n"+FOpenFile->FileName;
515 CopalConfig->SaveResultFile = FOpenFile->FileName;
516 TBSaveAll->Hint = "常に結果をファイルに保存\n" + FOpenFile->FileName;
517 } else {
518 MMSaveAll->Checked = false;
519 TBSaveAll->Down = false;
520 }
521 }
522 }
523 //---------------------------------------------------------------------------
524 /**
525 * クリップボードに出力しない
526 */
527 void __fastcall
528 TFMain::MMNotClipClick(TObject *Sender) {
529 MMNotClip->Checked = !MMNotClip->Checked;
530 TBNotClip->Down = MMNotClip->Checked;
531 }
532 //---------------------------------------------------------------------------
533 /**
534 * ドロップファイルを記憶
535 */
536 void __fastcall
537 TFMain::MMMemoryDroppedFilesClick(TObject *Sender) {
538 MMMemoryDroppedFiles->Checked = !MMMemoryDroppedFiles->Checked;
539 TBMemoryDroppedFiles->Down = MMMemoryDroppedFiles->Checked;
540 }
541 //---------------------------------------------------------------------------
542 /**
543 * 常にブラウザへ
544 */
545 void __fastcall
546 TFMain::MMToBrowserAllClick(TObject *Sender) {
547 MMToBrowserAll->Checked = !MMToBrowserAll->Checked;
548 TBToBrowserAll->Down = MMToBrowserAll->Checked;
549 }
550 //---------------------------------------------------------------------------
551 /**
552 * CGIデータを使う
553 */
554 void __fastcall
555 TFMain::MMUseCGIClick(TObject *Sender) {
556 CopalConfig->UseCGI = !CopalConfig->UseCGI;
557 UpdateAll();
558 if(CopalConfig->UseCGI) {
559 FEditor->Show();
560 }
561 }
562 //---------------------------------------------------------------------------
563 void __fastcall
564 TFMain::MMAutoRefreshClick(TObject *Sender) {
565 CopalConfig->AutoRefresh = !CopalConfig->AutoRefresh;
566 UpdateAll();
567 }
568 //---------------------------------------------------------------------------
569 /**
570 * 外部エディタの実行
571 */
572 void __fastcall
573 TFMain::MMExecuteEditorClick(TObject *Sender) {
574 if (!FScript->ExecuteEditor()) {
575 return;
576 }
577 //「オートリフレッシュ時に編集禁止」がセットされていたら編集禁止とする
578 if (CopalConfig->AutoRefresh && CopalConfig->ReadOnlyWhenAutoRefresh) {
579 CopalConfig->SetReadOnly(true);
580 UpdateAll();
581 }
582
583 }
584 //---------------------------------------------------------------------------
585 /**
586 * カレントディレクトリの変更
587 */
588 void __fastcall
589 TFMain::MMChangeDirClick(TObject *Sender) {
590 if(!FOpenDir->Execute()) {
591 return;
592 }
593 //両方変更する
594 FScript->SetMyCurrentDir(FOpenDir->GetDir());
595 FResult->SetMyCurrentDir(FOpenDir->GetDir());
596 UpdateAll();
597 }
598 //---------------------------------------------------------------------------
599 // 設定
600 //---------------------------------------------------------------------------
601 /**
602 * 環境設定
603 */
604 void __fastcall
605 TFMain::MMEnvironmentSettingsClick(TObject *Sender) {
606 FConfig->Execute(CopalConfig);
607 }
608 //---------------------------------------------------------------------------
609 /**
610 * 言語別の設定
611 */
612 void __fastcall
613 TFMain::MMLanguageSettingsClick(TObject *Sender) {
614 FLangConfig->Execute(CopalConfig);
615 }
616 //---------------------------------------------------------------------------
617 /**
618 * 新しい言語を追加
619 */
620 void __fastcall
621 TFMain::MMNewLangClick(TObject *Sender) {
622 if(!FNewLang->Execute(CopalConfig)){
623 return;
624 }
625 CopalConfig->CreateDefConfig(FNewLang->LangName,FNewLang->LangPath);
626 MakeLanguageMenu();
627 UpdateAll();
628 }
629 //---------------------------------------------------------------------------
630 /**
631 * 終了
632 */
633 void __fastcall
634 TFMain::MMExitClick(TObject *Sender) {
635 Close();
636 }
637 //---------------------------------------------------------------------------
638 /**
639 * 目次の表示
640 */
641 void __fastcall
642 TFMain::MMContentsClick(TObject *Sender) {
643 if(FileExists(CopalConfig->HelpFile)){
644 WinHelp(Application->Handle,CopalConfig->HelpFile.c_str(),HELP_CONTENTS,0);
645 }else{
646 AnsiString HtmlHelp = ChangeFileExt(CopalConfig->HelpFile,".chm");
647 if(FileExists(HtmlHelp)){
648 htmlhelp->ShowHtmlHelp(this->Handle,HtmlHelp.c_str());
649 }else{
650 ShowMessage("ヘルプファイル(copalpro.chm)が見つかりません");
651 }
652 }
653 }
654 //---------------------------------------------------------------------------
655 /**
656 * キーワード検索
657 */
658 void __fastcall
659 TFMain::MMSearchKeywordClick(TObject *Sender) {
660
661 if(CopalConfig->GetUseHelp()) {
662 if(!FileExists(CopalConfig->GetHelpFile())) {
663 ShowMessage(CopalConfig->GetHelpFile() + "が見つかりません。");
664 return;
665 }
666
667 if(ExtractFileExt(CopalConfig->GetHelpFile()).LowerCase()==".chm"){
668 htmlhelp->ShowHtmlHelpSearch(Application->Handle,CopalConfig->GetHelpFile().c_str(),FScript->GetHelpKeyWord().c_str());
669 } else {
670 WinHelp(Application->Handle,CopalConfig->GetHelpFile().c_str(),HELP_KEY,(DWORD)FScript->GetHelpKeyWord().c_str());
671 }
672 } else {
673 MMContents->Click();
674 }
675 }
676 //---------------------------------------------------------------------------
677 /**
678 * バージョン情報の表示
679 */
680 void __fastcall
681 TFMain::MMVersionClick(TObject *Sender) {
682 if(FVersion==NULL) {
683 FVersion = new TFVersion(this);
684 }
685 FVersion->ShowModal();
686 delete FVersion;
687 FVersion = NULL;
688 }
689 //---------------------------------------------------------------------------
690 // ツールボタンの実行
691 //---------------------------------------------------------------------------
692 void __fastcall
693 TFMain::TBNewClick(TObject *Sender) {
694 MMNew->Click();
695 }
696 //---------------------------------------------------------------------------
697 void __fastcall
698 TFMain::TBOpenClick(TObject *Sender) {
699 MMOpen->Click();
700 }
701 //---------------------------------------------------------------------------
702 void __fastcall
703 TFMain::TBSaveClick(TObject *Sender) {
704 MMSave->Click();
705 }
706 //---------------------------------------------------------------------------
707 void __fastcall
708 TFMain::TBCutClick(TObject *Sender) {
709 MMCut->Click();
710 }
711 //---------------------------------------------------------------------------
712 void __fastcall
713 TFMain::TBCopyClick(TObject *Sender) {
714 MMCopy->Click();
715 }
716 //---------------------------------------------------------------------------
717 void __fastcall
718 TFMain::TBPasteClick(TObject *Sender) {
719 MMPaste->Click();
720 }
721 //---------------------------------------------------------------------------
722 void __fastcall
723 TFMain::TBReadOnlyClick(TObject *Sender) {
724 MMReadOnly->Click();
725 }
726 //---------------------------------------------------------------------------
727 void __fastcall
728 TFMain::TBExecuteScriptClick(TObject *Sender) {
729 MMExecuteScript->Click();
730 }
731 //---------------------------------------------------------------------------
732 void __fastcall
733 TFMain::TBExecToBrowserClick(TObject *Sender) {
734 MMExecToBrowser->Click();
735 }
736 //---------------------------------------------------------------------------
737 void __fastcall
738 TFMain::TBExecToClipClick(TObject *Sender) {
739 MMExecToClip->Click();
740 }
741 //---------------------------------------------------------------------------
742 void __fastcall
743 TFMain::TBExecDOSClick(TObject *Sender) {
744 MMExecDOS->Click();
745 }
746 //---------------------------------------------------------------------------
747 void __fastcall
748 TFMain::TBToBrowserAllClick(TObject *Sender) {
749 MMToBrowserAll->Click();
750 }
751 //---------------------------------------------------------------------------
752 void __fastcall
753 TFMain::TBSaveAllClick(TObject *Sender) {
754 MMSaveAll->Click();
755 }
756 //---------------------------------------------------------------------------
757 void __fastcall
758 TFMain::TBNotClipClick(TObject *Sender) {
759 MMNotClip->Click();
760 }
761 //---------------------------------------------------------------------------
762 void __fastcall
763 TFMain::TBMemoryDroppedFilesClick(TObject *Sender) {
764 MMMemoryDroppedFiles->Click();
765 }
766 //---------------------------------------------------------------------------
767 void __fastcall
768 TFMain::TBUseCGIClick(TObject *Sender) {
769 MMUseCGI->Click();
770 }
771 //---------------------------------------------------------------------------
772 void __fastcall
773 TFMain::TBAutoRefreshClick(TObject *Sender) {
774 MMAutoRefresh->Click();
775 }
776 //---------------------------------------------------------------------------
777 void __fastcall
778 TFMain::TBExecuteEditorClick(TObject *Sender) {
779 MMExecuteEditor->Click();
780 }
781 //---------------------------------------------------------------------------
782 void __fastcall
783 TFMain::TBSeachKeywordClick(TObject *Sender) {
784 MMSearchKeyword->Click();
785 }
786 //---------------------------------------------------------------------------
787 /**
788 * スプリッターの処理
789 */
790 void __fastcall
791 TFMain::SplitterMoved(TObject *Sender) {
792 if(!PStdError->Visible) {
793 return;
794 }
795 }
796 //---------------------------------------------------------------------------
797 void __fastcall
798 TFMain::FormCloseQuery(TObject *Sender, bool &CanClose) {
799 if(!SaveQuery()) {
800 CanClose = false;
801 }
802 }
803 //---------------------------------------------------------------------------
804 void __fastcall
805 TFMain::On_WM_Activate(TWMActivate &Msg) {
806 if(Msg.Active != WA_INACTIVE){
807 FScript->CheckFileDate();
808 }
809 UpdateCaption();
810 }
811 //---------------------------------------------------------------------------
812 void __fastcall
813 TFMain::OnFileUpdated(TMessage &Msg) {
814 if(MessageBox(this->Handle,"スクリプトが変更されています。読み込み直しますか?","Copal", MB_YESNO) == ID_YES) {
815 FScript->Reload();
816 }
817 }
818 //---------------------------------------------------------------------------
819 void __fastcall
820 TFMain::PageControlMouseDown(TObject *Sender,
821 TMouseButton Button, TShiftState Shift, int X, int Y) {
822 if(PageControl->ActivePage==PageControl->Pages[0]) {
823 ChangeWindow(SCRIPT_WINDOW);
824 } else {
825 ChangeWindow(RESULT_WINDOW);
826 }
827 }
828 //---------------------------------------------------------------------------
829 // ポップアップメニュー
830 //---------------------------------------------------------------------------
831 void __fastcall
832 TFMain::PMCutClick(TObject *Sender) {
833 MMCut->Click();
834 }
835 //---------------------------------------------------------------------------
836 void __fastcall
837 TFMain::PMCopyClick(TObject *Sender) {
838 MMCopy->Click();
839 }
840 //---------------------------------------------------------------------------
841 void __fastcall
842 TFMain::PMPasteClick(TObject *Sender) {
843 MMPaste->Click();
844 }
845 //---------------------------------------------------------------------------
846 /**
847 * エラーのUndockを禁止する
848 */
849 void __fastcall
850 TFMain::PStdErrorUnDock(TObject *Sender, TControl *Client,
851 TWinControl *NewTarget, bool &Allow) {
852 Allow = false;
853 }
854 //---------------------------------------------------------------------------
855

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26