| 1 |
//--------------------------------------------------------------------------- |
| 2 |
// Copal メインフォーム |
| 3 |
//--------------------------------------------------------------------------- |
| 4 |
#ifndef MainH |
| 5 |
#define MainH |
| 6 |
//--------------------------------------------------------------------------- |
| 7 |
#include <Classes.hpp> |
| 8 |
#include <Controls.hpp> |
| 9 |
#include <StdCtrls.hpp> |
| 10 |
#include <Forms.hpp> |
| 11 |
#include <ComCtrls.hpp> |
| 12 |
#include <Menus.hpp> |
| 13 |
#include <ExtCtrls.hpp> |
| 14 |
//--------------------------------------------------------------------------- |
| 15 |
#include <ImgList.hpp> |
| 16 |
#include <ToolWin.hpp> |
| 17 |
#include <Dialogs.hpp> |
| 18 |
//--------------------------------------------------------------------------- |
| 19 |
#include "Script.h" |
| 20 |
#include "Result.h" |
| 21 |
#include "StdError.h" |
| 22 |
#include "LangConfig.h" |
| 23 |
#include "KFileHistory.h" |
| 24 |
#include "Config.h" |
| 25 |
#include "NewLang.h" |
| 26 |
#include "OpenFile.h" |
| 27 |
#include "OpenDir.h" |
| 28 |
#include "HHelp.h" |
| 29 |
//--------------------------------------------------------------------------- |
| 30 |
// 定数の宣言 |
| 31 |
//--------------------------------------------------------------------------- |
| 32 |
enum WindowMode {SCRIPT_WINDOW, RESULT_WINDOW,ERROR_WINDOW,NEXT_WINDOW}; |
| 33 |
|
| 34 |
const WPARAM WM_FILEPOST = WM_USER + 1; |
| 35 |
const WPARAM WM_FILEUPDATED = WM_USER + 2; |
| 36 |
|
| 37 |
//--------------------------------------------------------------------------- |
| 38 |
|
| 39 |
class TFMain : public TForm { |
| 40 |
__published: // IDE 管理のコンポーネント |
| 41 |
TMainMenu *MainMenu; |
| 42 |
TMenuItem *MMFile; |
| 43 |
TMenuItem *MMNew; |
| 44 |
TMenuItem *MMOpen; |
| 45 |
TMenuItem *Edit1; |
| 46 |
TMenuItem *MMUndo; |
| 47 |
TMenuItem *N1; |
| 48 |
TMenuItem *MMCopy; |
| 49 |
TMenuItem *N2; |
| 50 |
TMenuItem *MMExit; |
| 51 |
TMenuItem *Config1; |
| 52 |
TMenuItem *MMLanguage; |
| 53 |
TMenuItem *Execute1; |
| 54 |
TMenuItem *MMExecuteScript; |
| 55 |
TMenuItem *MMEnvironmentSettings; |
| 56 |
TPageControl *PageControl; |
| 57 |
TPanel *PStdError; |
| 58 |
TSplitter *Splitter; |
| 59 |
TMenuItem *Help1; |
| 60 |
TMenuItem *MMContents; |
| 61 |
TMenuItem *MMVersion; |
| 62 |
TMenuItem *MMCut; |
| 63 |
TMenuItem *MMPaste; |
| 64 |
TToolBar *ToolBar; |
| 65 |
TImageList *ILButtons; |
| 66 |
TToolButton *TBNew; |
| 67 |
TToolButton *TBOpen; |
| 68 |
TToolButton *TBSave; |
| 69 |
TToolButton *ToolButton4; |
| 70 |
TToolButton *TBCut; |
| 71 |
TToolButton *TBCopy; |
| 72 |
TToolButton *TBPaste; |
| 73 |
TMenuItem *MMSave; |
| 74 |
TSaveDialog *SaveDialog; |
| 75 |
TToolButton *ToolButton1; |
| 76 |
TToolButton *TBExecuteScript; |
| 77 |
TStatusBar *StatusBar; |
| 78 |
TMenuItem *MMView; |
| 79 |
TMenuItem *MMScriptWindow; |
| 80 |
TMenuItem *MMResultWindow; |
| 81 |
TMenuItem *MMErrorWindow; |
| 82 |
TMenuItem *MMSaveAs; |
| 83 |
TToolButton *ToolButton2; |
| 84 |
TToolButton *TBMemoryDroppedFiles; |
| 85 |
TMenuItem *N3; |
| 86 |
TMenuItem *MMMemoryDroppedFiles; |
| 87 |
TMenuItem *MMLanguageSettings; |
| 88 |
TMenuItem *MMSearchKeyword; |
| 89 |
TToolButton *ToolButton3; |
| 90 |
TToolButton *TBSeachKeyword; |
| 91 |
TMenuItem *MMRedo; |
| 92 |
TToolButton *TBExecuteEditor; |
| 93 |
TToolButton *ToolButton6; |
| 94 |
TMenuItem *N4; |
| 95 |
TMenuItem *MMExecuteEditor; |
| 96 |
TToolButton *TBAutoRefresh; |
| 97 |
TMenuItem *MMAutoRefresh; |
| 98 |
TMenuItem *MMExecDOS; |
| 99 |
TToolButton *TBExecDOS; |
| 100 |
TToolButton *TBExecToClip; |
| 101 |
TToolButton *TBNotClip; |
| 102 |
TMenuItem *MMExecToClip; |
| 103 |
TMenuItem *MMNotClip; |
| 104 |
TToolButton *TBExecToBrowser; |
| 105 |
TMenuItem *MMExecToBrowser; |
| 106 |
TMenuItem *N5; |
| 107 |
TMenuItem *MMNewLang; |
| 108 |
TMenuItem *MMToBrowserAll; |
| 109 |
TToolButton *TBToBrowserAll; |
| 110 |
TMenuItem *MMReload; |
| 111 |
TMenuItem *MMEncode; |
| 112 |
TMenuItem *MMSHIFTJIS; |
| 113 |
TMenuItem *MMEUC; |
| 114 |
TMenuItem *MMJIS; |
| 115 |
TMenuItem *MMAuto; |
| 116 |
TMenuItem *MMChangeDir; |
| 117 |
TPopupMenu *PopupMenu; |
| 118 |
TMenuItem *PMCut; |
| 119 |
TMenuItem *PMCopy; |
| 120 |
TMenuItem *PMPaste; |
| 121 |
TMenuItem *N7; |
| 122 |
TMenuItem *MMFormEditor; |
| 123 |
TToolButton *TBUseCGI; |
| 124 |
TMenuItem *MMUseCGI; |
| 125 |
TToolButton *TBSaveAll; |
| 126 |
TMenuItem *MMSaveAll; |
| 127 |
TMenuItem *MMSearchMenu; |
| 128 |
TMenuItem *MMFind; |
| 129 |
TMenuItem *MMFindNext; |
| 130 |
TFindDialog *FindDialog; |
| 131 |
TMenuItem *MMFindPrev; |
| 132 |
TMenuItem *MMUTF8; |
| 133 |
TMenuItem *N6; |
| 134 |
TMenuItem *MMReadOnly; |
| 135 |
TToolButton *TBReadOnly; |
| 136 |
TMenuItem *MMSwichWindow; |
| 137 |
void __fastcall FormClose(TObject *Sender, TCloseAction &Action); |
| 138 |
void __fastcall MMExecuteScriptClick(TObject *Sender); |
| 139 |
void __fastcall MMCopyClick(TObject *Sender); |
| 140 |
void __fastcall MMExitClick(TObject *Sender); |
| 141 |
void __fastcall MMCutClick(TObject *Sender); |
| 142 |
void __fastcall MMPasteClick(TObject *Sender); |
| 143 |
void __fastcall MMOpenClick(TObject *Sender); |
| 144 |
void __fastcall MMSaveClick(TObject *Sender); |
| 145 |
void __fastcall TBNewClick(TObject *Sender); |
| 146 |
void __fastcall TBOpenClick(TObject *Sender); |
| 147 |
void __fastcall TBSaveClick(TObject *Sender); |
| 148 |
void __fastcall TBCutClick(TObject *Sender); |
| 149 |
void __fastcall TBCopyClick(TObject *Sender); |
| 150 |
void __fastcall TBPasteClick(TObject *Sender); |
| 151 |
void __fastcall TBExecuteScriptClick(TObject *Sender); |
| 152 |
void __fastcall MMScriptWindowClick(TObject *Sender); |
| 153 |
void __fastcall MMResultWindowClick(TObject *Sender); |
| 154 |
void __fastcall MMErrorWindowClick(TObject *Sender); |
| 155 |
void __fastcall SplitterMoved(TObject *Sender); |
| 156 |
void __fastcall MMNewClick(TObject *Sender); |
| 157 |
void __fastcall MMVersionClick(TObject *Sender); |
| 158 |
void __fastcall FormCloseQuery(TObject *Sender, bool &CanClose); |
| 159 |
void __fastcall TBMemoryDroppedFilesClick(TObject *Sender); |
| 160 |
void __fastcall MMMemoryDroppedFilesClick(TObject *Sender); |
| 161 |
void __fastcall MMLanguageSettingsClick(TObject *Sender); |
| 162 |
void __fastcall MMContentsClick(TObject *Sender); |
| 163 |
void __fastcall MMSearchKeywordClick(TObject *Sender); |
| 164 |
void __fastcall TBSeachKeywordClick(TObject *Sender); |
| 165 |
void __fastcall MMEnvironmentSettingsClick(TObject *Sender); |
| 166 |
void __fastcall MMExecuteEditorClick(TObject *Sender); |
| 167 |
void __fastcall TBExecuteEditorClick(TObject *Sender); |
| 168 |
void __fastcall MMAutoRefreshClick(TObject *Sender); |
| 169 |
void __fastcall TBAutoRefreshClick(TObject *Sender); |
| 170 |
void __fastcall MMExecDOSClick(TObject *Sender); |
| 171 |
void __fastcall TBExecDOSClick(TObject *Sender); |
| 172 |
void __fastcall MMNotClipClick(TObject *Sender); |
| 173 |
void __fastcall TBNotClipClick(TObject *Sender); |
| 174 |
void __fastcall MMExecToClipClick(TObject *Sender); |
| 175 |
void __fastcall TBExecToClipClick(TObject *Sender); |
| 176 |
void __fastcall MMSaveAsClick(TObject *Sender); |
| 177 |
void __fastcall PageControlMouseDown(TObject *Sender, |
| 178 |
TMouseButton Button, TShiftState Shift, int X, int Y); |
| 179 |
void __fastcall TBExecToBrowserClick(TObject *Sender); |
| 180 |
void __fastcall MMExecToBrowserClick(TObject *Sender); |
| 181 |
void __fastcall MMNewLangClick(TObject *Sender); |
| 182 |
void __fastcall MMToBrowserAllClick(TObject *Sender); |
| 183 |
void __fastcall TBToBrowserAllClick(TObject *Sender); |
| 184 |
void __fastcall MMAutoClick(TObject *Sender); |
| 185 |
void __fastcall MMSHIFTJISClick(TObject *Sender); |
| 186 |
void __fastcall MMEUCClick(TObject *Sender); |
| 187 |
void __fastcall MMJISClick(TObject *Sender); |
| 188 |
void __fastcall MMChangeDirClick(TObject *Sender); |
| 189 |
void __fastcall MMUndoClick(TObject *Sender); |
| 190 |
void __fastcall PMCutClick(TObject *Sender); |
| 191 |
void __fastcall PMCopyClick(TObject *Sender); |
| 192 |
void __fastcall PMPasteClick(TObject *Sender); |
| 193 |
void __fastcall PStdErrorUnDock(TObject *Sender, TControl *Client, |
| 194 |
TWinControl *NewTarget, bool &Allow); |
| 195 |
void __fastcall MMFormEditorClick(TObject *Sender); |
| 196 |
void __fastcall MMUseCGIClick(TObject *Sender); |
| 197 |
void __fastcall TBUseCGIClick(TObject *Sender); |
| 198 |
void __fastcall MMSaveAllClick(TObject *Sender); |
| 199 |
void __fastcall TBSaveAllClick(TObject *Sender); |
| 200 |
void __fastcall MMFindClick(TObject *Sender); |
| 201 |
void __fastcall MMFindNextClick(TObject *Sender); |
| 202 |
void __fastcall MMFindPrevClick(TObject *Sender); |
| 203 |
void __fastcall MMUTF8Click(TObject *Sender); |
| 204 |
void __fastcall MMReadOnlyClick(TObject *Sender); |
| 205 |
void __fastcall TBReadOnlyClick(TObject *Sender); |
| 206 |
void __fastcall MMSwichWindowClick(TObject *Sender); |
| 207 |
private: // ユーザー宣言 |
| 208 |
|
| 209 |
KCopalConfig *CopalConfig;//コンフィグ情報 |
| 210 |
KFileHistory *FileHistory;//ファイルヒストリ情報 |
| 211 |
Htmlhelp *htmlhelp; //HTMLヘルプのラッパ |
| 212 |
|
| 213 |
int LastError; //エラーコード |
| 214 |
int GetErrorCode(void) { |
| 215 |
return LastError; |
| 216 |
}; |
| 217 |
void SetErrorCode(int e) { |
| 218 |
LastError = e; |
| 219 |
}; |
| 220 |
|
| 221 |
//--------------------------------------------------------------------------- |
| 222 |
// 実行関連 |
| 223 |
//--------------------------------------------------------------------------- |
| 224 |
void Execute(AnsiString); |
| 225 |
void ExecDOS(void);//DOS窓で実行 |
| 226 |
void ExecToBrowser(void);//実行結果をブラウザへ |
| 227 |
void ExecToClip(void);//クリップボードの内容を入力として実行 |
| 228 |
void ExecuteOnDrop(AnsiString Files, AnsiString HintText); |
| 229 |
|
| 230 |
void ToBrowser(void);//結果をブラウザへ飛ばす |
| 231 |
void SaveResultToFile(void);//結果を常にファイルへ保存 |
| 232 |
//--------------------------------------------------------------------------- |
| 233 |
// メニュー関係 |
| 234 |
//--------------------------------------------------------------------------- |
| 235 |
void MakeLanguageMenu(void);//言語メニューの作成 |
| 236 |
__fastcall void OnLanguageClick(TObject *Sender);//言語選択 |
| 237 |
void __fastcall OnHistoryClick(TObject *Sender);//ヒストリをクリック |
| 238 |
//--------------------------------------------------------------------------- |
| 239 |
TFBase *CurrentForm;//現在アクティブなウィンドウ |
| 240 |
|
| 241 |
public: // ユーザー宣言 |
| 242 |
|
| 243 |
|
| 244 |
bool __fastcall Hook(TMessage &Message); |
| 245 |
bool SaveQuery(void);//セーブのクエリー |
| 246 |
|
| 247 |
//--------------------------------------------------------------------------- |
| 248 |
// 表示関連 |
| 249 |
//--------------------------------------------------------------------------- |
| 250 |
void UpdateAll(void); |
| 251 |
void ChangeWindow(int Window); |
| 252 |
void UpdateCaption(void); |
| 253 |
void UpdateMenu(void); |
| 254 |
void UpdateStatusBar(void);//ステータス表示の更新 |
| 255 |
void SetMenuChecked(void);//メニューのチェック |
| 256 |
void OpenError(void);//表示の更新 |
| 257 |
void CloseError(void);//表示の更新 |
| 258 |
//--------------------------------------------------------------------------- |
| 259 |
void Init(AnsiString FileName);//初期化 |
| 260 |
//--------------------------------------------------------------------------- |
| 261 |
// インターフェース |
| 262 |
//--------------------------------------------------------------------------- |
| 263 |
KCopalConfig *GetCopalConfig(void) { |
| 264 |
return CopalConfig; |
| 265 |
} |
| 266 |
;//CopalConfigを得る |
| 267 |
void SaveHistory(TIniFile *i) { |
| 268 |
FileHistory->SaveHistory(i); |
| 269 |
}; |
| 270 |
void LoadHistory(TIniFile *i) { |
| 271 |
FileHistory->LoadHistory(i); |
| 272 |
}; |
| 273 |
AnsiString GetTempFile(void) { |
| 274 |
return CopalConfig->GetTempFile(); |
| 275 |
}; |
| 276 |
|
| 277 |
void AddHistory(AnsiString FileName) { |
| 278 |
FileHistory->OpenFile(FileName); |
| 279 |
}; |
| 280 |
void FilePost(AnsiString FileName);//WM_FILEPOSTの処理 |
| 281 |
|
| 282 |
//--------------------------------------------------------------------------- |
| 283 |
// イベント処理系 |
| 284 |
//--------------------------------------------------------------------------- |
| 285 |
void WMDropFiles(TWMDropFiles &Msg);//ファイルのドロップを処理する |
| 286 |
void __fastcall On_WM_Activate(TWMActivate &msg); |
| 287 |
void __fastcall WMHotKey(TMessage); |
| 288 |
void __fastcall OnFileUpdated(TMessage &msg);//ファイルが修正された |
| 289 |
|
| 290 |
BEGIN_MESSAGE_MAP |
| 291 |
MESSAGE_HANDLER( WM_DROPFILES , TWMDropFiles, WMDropFiles ) |
| 292 |
MESSAGE_HANDLER(WM_ACTIVATE, TWMActivate, On_WM_Activate) |
| 293 |
MESSAGE_HANDLER( WM_HOTKEY , TMessage, WMHotKey) |
| 294 |
MESSAGE_HANDLER( WM_FILEUPDATED , TMessage, OnFileUpdated) |
| 295 |
END_MESSAGE_MAP( TForm ) |
| 296 |
__fastcall TFMain(TComponent* Owner); |
| 297 |
}; |
| 298 |
//--------------------------------------------------------------------------- |
| 299 |
extern PACKAGE TFMain *FMain; |
| 300 |
//--------------------------------------------------------------------------- |
| 301 |
#endif |