📄 mainedit.pas
字号:
{***************************************************************
* Initialization Date : 99-12-15 8:55:49
*
* Unit Name : MainEdit
* Version : V1.0.1.4
* Date : 2000-11-15
* Purpose :
* Author : riceball (teditor@mailroom.com)
* Copyright(C): 1999, 2000 by riceball
* History :
* Note:I have three project to do now, so rewrite JediEdit will take me a long time.
* I released this just for those hope me release it to fix bugs.
*
* Initialization Convert to SynEdit and contributed by Adem Baba<adembaba@excite.com>
So, Tab char supported.
Thanks Adem.B. Some words come from Adem.B.:
1) I used TGIFImage instead of Rx Stuff --I like that one better,
but, of course you are welcome to stick with your way.
2) I used the latest RegExpr source but had to rename the
class so that it did not conflict with Rx stuff. What it is
will be obvious when you compile this source. You will want
to rename it back to original.
3) SynEdit (the one I have at least) did not have SybaseSQLSyn
but has PostgressSQLSyn (I used PostgressSQLSyn, instead)
4) Similarly, SynEdit did not have ResourceSyn, so I used a
GeneralSyn, you might want to remove this.
5) I renamed all the Syn VCLs so that they reflect their
underlying class better.
6) I did not test all the source, only one that DFMSyn
does not work; it probably has something to do with the
fact that my DFMs are not saved in text mode :-)
7) I also altered HyperLink.Pas stuff a bit so that
it looks nicer in the property editor. You might want
to use it; then again you might not.
Finally, is that such a good idea to include a 450 kB
GIF source in the EXE. It is after all 2 Meg Exe, and
takes longer to load/unload than TextPad...
Anyway, hope you like the new sources.
* 2000-11-04
* ! Code Template
* ! binary DFM Load
* ! Interface Justified
* 2000-11-15 <1.0.1.4 Released>
* + Jediedit speaking Turksih Now!!!
* translated by Mustafa Kemal Ugurlu(mku@gmx.com.tr)
* * Code Template Worked!
* * Reduce Gif Size down to 39kb in the Exe.
* * binary DFM Worked!
* * Minor bugs fixed!
* 2000-11-17
* * Can't Save New File
*_______________________________________________________________
*legend:
* + New Feature Added.
* # New(Todo) Feature Added, but not work , just a start.
* - Old Feature removed.
* * Bug Fixed.
* ! Bug Found, Not Fixed.
* ^ My Todo Wish.
****************************************************************}
Unit MainEdit;
Interface
Uses
{$IFDEF debug}
dbugintf,
{$ENDIF}
Windows,
Messages,
SysUtils,
Classes,
Graphics,
Controls,
Forms,
Dialogs,
ShellAPI,
StdActns,
ActnList,
ImgList,
Menus,
{ToolWin,}
ComCtrls,
ExtCtrls,
StdCtrls,
MRUList,
HexEditor,
RxVerInf,
SynEditTypes,
SynHighlighterGeneral,
SynEditHighlighter,
SynEdit,
SynEditExport,
SynEditSearch,
SynEditKeyCmds,
SynEditAutoComplete,
SynEditPrintTypes, {added}
SynEditPrint, {added}
SynHighlighterDfm,
OptionsDialog,
AsciiChart,
Printers,
vgNLS,
JediLocalStr,
ToolWin,
Recorder,
Placemnt;
Const {Constants and variables used in the file association and running instance code}
WM_OPENEDITOR = WM_USER + 1;
WM_NOTEXISTS = WM_USER + 2;
WM_RESTOREAPP = WM_USER + 3;
MyUniqueConst = $108888;
Const
sDateTimeFormat: String = 'yyyy-mm-dd';
CanUndoAfterSave: Boolean = False;
BackupFile: Boolean = False;
OverwriteBackup: Boolean = True;
KeepLastOpen: Boolean = False;
ShowSpecialLineColor: Boolean = True;
DefaultFileNameCount: Integer = 1;
CollaspeColor = clGray;
CollaspeFGColor = clWhite;
ExpandColor = clBlue;
ExpandFGColor = clWhite;
Var
WM_FINDINSTANCE: Integer;
Type
TBookMarksSet = Set Of 0..9;
TfrmJediEdit = Class(TForm)
tbbLine: TToolButton;
ActionList: TActionList;
ImageList: TImageList;
EditCopy: TEditCopy;
EditCut: TEditCut;
EditPaste: TEditPaste;
tbMain: TToolBar;
tbbCut: TToolButton;
tbbCopy: TToolButton;
tbbPaste: TToolButton;
ToolButton6: TToolButton;
ToolButton7: TToolButton;
tbbSave: TToolButton;
tbbOpen: TToolButton;
tbbNew: TToolButton;
FileNew: TAction;
FileOpen: TAction;
FileSave: TAction;
FileSaveas: TAction;
PageControl: TPageControl;
OpenFileDialog: TOpenDialog;
SaveDialog: TSaveDialog;
FileClose: TAction;
EditorPopup: TPopupMenu;
pmiCut: TMenuItem;
pmiCopy: TMenuItem;
pmiPaste: TMenuItem;
pmiClose: TMenuItem;
N7: TMenuItem;
EditSelectAll: TAction;
tbHighlighter: TToolBar;
cbxHighlighter: TComboBox;
tbbUndo: TToolButton;
tbbRedo: TToolButton;
tbbFind: TToolButton;
ToolButton15: TToolButton;
EditUndo: TAction;
EditRedo: TAction;
EditFind: TAction;
pmiSelectAll: TMenuItem;
EditFindNext: TAction;
PrinterSetupDialog: TPrinterSetupDialog;
EditReplace: TAction;
ColumnSelection: TAction;
NormalSelection: TAction;
LineSelection: TAction;
MainMenu: TMainMenu;
mmiFile1: TMenuItem;
mmiNew: TMenuItem;
mmiOpen: TMenuItem;
mmiReopen: TMenuItem;
mmiSave: TMenuItem;
mmiSaveAs: TMenuItem;
N1: TMenuItem;
mmiExport: TMenuItem;
N2: TMenuItem;
mmiPrint: TMenuItem;
mmiPrintSetup: TMenuItem;
N6: TMenuItem;
mmiExit: TMenuItem;
mmiEdit: TMenuItem;
mmiUndo: TMenuItem;
mmiRedo: TMenuItem;
N5: TMenuItem;
mmiCut: TMenuItem;
mmiCopy: TMenuItem;
mmiPaste: TMenuItem;
N3: TMenuItem;
mmiFind: TMenuItem;
mmiNext: TMenuItem;
mmiReplace: TMenuItem;
N8: TMenuItem;
mmiSelectall: TMenuItem;
mmiInsertDate: TMenuItem;
N4: TMenuItem;
mmiColumnSel: TMenuItem;
mmiLineSel: TMenuItem;
mmiNormalSel: TMenuItem;
MenuItem1: TMenuItem;
mmiReadOnly: TMenuItem;
S1: TMenuItem;
mmiToolbar: TMenuItem;
mmiStatusbar: TMenuItem;
mmiOption: TMenuItem;
n11: TMenuItem;
mmiLinesNum: TMenuItem;
H1: TMenuItem;
mmiAbout: TMenuItem;
mmiBugRpt: TMenuItem;
MRUManager: TMRUManager;
ShowLineNo: TAction;
Print: TAction;
PrintSetup: TAction;
ExportDialog: TSaveDialog;
EditDateTime: TAction;
ToolButton1: TToolButton;
ControlBar1: TControlBar;
tbbNormal: TToolButton;
tbbColumn: TToolButton;
StatusBar: TStatusBar;
Quit: TAction;
EditGotoLine: TAction;
tbbShowLineNo: TToolButton;
tbbInsertDateTime: TToolButton;
ToolButton2: TToolButton;
FileExport: TAction;
HelpAbout: TAction;
ToolButton3: TToolButton;
tbbQuit: TToolButton;
tbbReplace: TToolButton;
ViewStatusbar: TAction;
ViewToolbar: TAction;
SeToptions: TAction;
miClose: TMenuItem;
tbbEditorOptions: TToolButton;
EditReadOnly: TAction;
EditHexView: TAction;
H2: TMenuItem;
n10: TMenuItem;
miToggleBookmarks: TMenuItem;
miGotoBookmarks: TMenuItem;
T1: TMenuItem;
T2: TMenuItem;
T0: TMenuItem;
T3: TMenuItem;
T4: TMenuItem;
T5: TMenuItem;
T6: TMenuItem;
T7: TMenuItem;
T8: TMenuItem;
T9: TMenuItem;
G0: TMenuItem;
G1: TMenuItem;
G2: TMenuItem;
G3: TMenuItem;
G4: TMenuItem;
G5: TMenuItem;
G6: TMenuItem;
G7: TMenuItem;
G8: TMenuItem;
G9: TMenuItem;
Bookmark: TAction;
mmiWindows: TMenuItem;
WindowsList: TAction;
mmiAsciiChart: TMenuItem;
mmiTools: TMenuItem;
ToolsAsciiChart: TAction;
n12: TMenuItem;
ASCII1: TMenuItem;
ViewHighlighter: TAction;
T10: TMenuItem;
H3: TMenuItem;
PrintDialog: TPrintDialog;
EditFindInFiles: TAction;
S2: TMenuItem;
tbbFindInFiles: TToolButton;
pnlBottomDockSite: TPanel;
sptBottom: TSplitter;
ViewFindInFiles: TAction;
mmiFindInFiles: TMenuItem;
mmiLanguage: TMenuItem;
miCollaspe: TMenuItem;
EditCollaspe: TAction;
mmiCollaspe: TMenuItem;
EditCollaspeAll: TAction;
EditExpandAll: TAction;
N9: TMenuItem;
mmiCollaspeAll: TMenuItem;
mmiExpandAll: TMenuItem;
n13: TMenuItem;
miCollaspeAll: TMenuItem;
miExpandAll: TMenuItem;
MacroPlay: TAction;
MacroPause: TAction;
MacroStop: TAction;
MacroManage: TAction;
MacroRecord: TAction;
tbMacro: TToolBar;
tbbPlay: TToolButton;
tbbRecord: TToolButton;
tbbStop: TToolButton;
tbbPause: TToolButton;
mmiMacro: TMenuItem;
MacroPlay1: TMenuItem;
MacroRecord1: TMenuItem;
MacroPause1: TMenuItem;
MacroStop1: TMenuItem;
n14: TMenuItem;
MacroManage1: TMenuItem;
ViewMacrobar: TAction;
MacroToolbar1: TMenuItem;
FormStorage1: TFormStorage;
Procedure FormShow(Sender: TObject);
Procedure FileNewExecute(Sender: TObject);
Procedure FormCreate(Sender: TObject);
Procedure FileOpenExecute(Sender: TObject);
Procedure FileSaveExecute(Sender: TObject);
Procedure FileSaveAsExecute(Sender: TObject);
Procedure EditCopyExecute(Sender: TObject);
Procedure EditCutExecute(Sender: TObject);
Procedure EditPasteExecute(Sender: TObject);
Procedure FileCloseExecute(Sender: TObject);
Procedure FormCloseQuery(Sender: TObject; Var CanClose: Boolean);
Procedure PageControlChange(Sender: TObject);
Procedure cbxHighlighterChange(Sender: TObject);
Procedure EditSelectAllExecute(Sender: TObject);
Procedure EditUndoExecute(Sender: TObject);
Procedure EditRedoExecute(Sender: TObject);
Procedure EditFindExecute(Sender: TObject);
Procedure EditFindNextExecute(Sender: TObject);
Procedure NormalSelectionExecute(Sender: TObject);
Procedure ColumnSelectionExecute(Sender: TObject);
Procedure LineSelectionExecute(Sender: TObject);
Procedure ShowLineNoExecute(Sender: TObject);
Procedure EditDateTimeExecute(Sender: TObject);
Procedure QuitExecute(Sender: TObject);
Procedure FileExportExecute(Sender: TObject);
Procedure FormDestroy(Sender: TObject);
Procedure EditGotoLineExecute(Sender: TObject);
Procedure MRUManagerClick(Sender: TObject; Const RecentName, Caption: String; UserData: Integer);
Procedure EditReplaceExecute(Sender: TObject);
Procedure HelpAboutExecute(Sender: TObject);
Procedure ViewStatusbarExecute(Sender: TObject);
Procedure ViewStatusbarUpdate(Sender: TObject);
Procedure ViewToolbarExecute(Sender: TObject);
Procedure ViewToolbarUpdate(Sender: TObject);
Procedure SetOptionsExecute(Sender: TObject);
Procedure EditReadonlyExecute(Sender: TObject);
Procedure BugRptClick(Sender: TObject);
Procedure ControlBar1GetSiteInfo(Sender: TObject; DockClient: TControl; Var InfluenceRect: TRect; MousePos: TPoint; Var CanDock: Boolean);
Procedure PageControlGetSiteInfo(Sender: TObject; DockClient: TControl; Var InfluenceRect: TRect; MousePos: TPoint; Var CanDock: Boolean);
Procedure PageControlDockOver(Sender: TObject; Source: TDragDockObject; X, Y: Integer; State: TDragState; Var Accept: Boolean);
Procedure EditHexViewExecute(Sender: TObject);
Procedure ToggleBookmarks(Sender: TObject);
Procedure GotoBookmarks(Sender: TObject);
Procedure miBookmarksClick(Sender: TObject);
Procedure WindowsListExecute(Sender: TObject);
Procedure ToolsAsciiChartExecute(Sender: TObject);
Procedure ViewHighlighterExecute(Sender: TObject);
Procedure ViewHighlighterUpdate(Sender: TObject);
Procedure PrintExecute(Sender: TObject);
Procedure PrintSetupExecute(Sender: TObject);
Procedure EditFindInFilesExecute(Sender: TObject);
Procedure pnlBottomDockSiteGetSiteInfo(Sender: TObject; DockClient: TControl; Var InfluenceRect: TRect; MousePos: TPoint; Var CanDock: Boolean);
Procedure pnlBottomDockSiteDockDrop(Sender: TObject; Source: TDragDockObject; X, Y: Integer);
Procedure pnlBottomDockSiteUnDock(Sender: TObject; Client: TControl; NewTarget: TWinControl; Var Allow: Boolean);
Procedure ViewFindInFilesExecute(Sender: TObject);
Procedure ViewFindInFilesUpdate(Sender: TObject);
Procedure EditCollaspeExecute(Sender: TObject);
Procedure EditCollaspeAllExecute(Sender: TObject);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -