mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-11-01 14:19:32 +01:00
IDE/SourceEditor/Packages: Using SourceEditorManager / Removed all references to single instance "var SourceNotebook" (for multi-window handling)
git-svn-id: trunk@24113 -
This commit is contained in:
parent
2105de444c
commit
9040201c83
@ -43,10 +43,11 @@ const
|
||||
|
||||
type
|
||||
|
||||
{ TEditorToolbar }
|
||||
|
||||
TEditorToolbar = class(TObject)
|
||||
private
|
||||
FJumpHandler: TJumpHandler;
|
||||
W: TForm;
|
||||
TB: TToolbar;
|
||||
PM: TPopupMenu;
|
||||
CfgButton: TToolButton;
|
||||
@ -56,6 +57,7 @@ type
|
||||
protected
|
||||
procedure AddButton(AMenuItem: TIDEMenuItem);
|
||||
procedure PositionAtEnd(AToolbar: TToolbar; AButton: TToolButton);
|
||||
procedure SourceWindowCreated(Sender: TObject);
|
||||
public
|
||||
constructor Create;
|
||||
destructor Destroy; override;
|
||||
@ -137,27 +139,28 @@ begin
|
||||
inherited Destroy;
|
||||
end;
|
||||
|
||||
procedure TEditorToolbar.InitEditorToolBar;
|
||||
procedure TEditorToolbar.SourceWindowCreated(Sender: TObject);
|
||||
var
|
||||
T: TJumpType;
|
||||
begin
|
||||
if not Assigned(W) and Assigned(SourceEditorManagerIntf.ActiveSourceWindow) then
|
||||
begin
|
||||
{$note Todo, hook SourceEditorManager to detect open/close forms}
|
||||
W := SourceEditorManagerIntf.ActiveSourceWindow; // TODO: each window
|
||||
TB := nil;
|
||||
CfgButton := nil;
|
||||
CreateEditorToolBar(W, TB);
|
||||
if assigned(TB) then exit; // TODO: handle multiply Windows
|
||||
CreateEditorToolBar(TSourceEditorWindowInterface(Sender), TB);
|
||||
|
||||
PM := TPopupMenu.Create(W);
|
||||
for T := Low(TJumpType) to High(TJumpType) do
|
||||
PM.Items.Add(CreateJumpItem(T,W));
|
||||
end;
|
||||
PM := TPopupMenu.Create(TSourceEditorWindowInterface(Sender));
|
||||
for T := Low(TJumpType) to High(TJumpType) do
|
||||
PM.Items.Add(CreateJumpItem(T, TSourceEditorWindowInterface(Sender)));
|
||||
|
||||
AddStaticItems;
|
||||
AddCustomItems;
|
||||
end;
|
||||
|
||||
procedure TEditorToolbar.InitEditorToolBar;
|
||||
begin
|
||||
TB := nil;
|
||||
CfgButton := nil;
|
||||
SourceEditorManagerIntf.RegisterChangeEvent(semWindowCreate, @SourceWindowCreated);
|
||||
end;
|
||||
|
||||
procedure TEditorToolbar.AddButton(AMenuItem: TIDEMenuItem);
|
||||
var
|
||||
B: TToolButton;
|
||||
|
||||
@ -84,7 +84,7 @@ begin
|
||||
Result := Tool.CleanPosToCaretAndTopLine(Node.StartPos, NewCodePos,NewTopLine);
|
||||
if Result then
|
||||
Result := LazarusIDE.DoOpenFileAndJumpToPos(NewCodePos.Code.Filename
|
||||
,Point(NewCodePos.X,NewCodePos.Y), NewTopLine, -1
|
||||
,Point(NewCodePos.X,NewCodePos.Y), NewTopLine, -1,-1
|
||||
,[ofRegularFile,ofUseCache]) = mrOk;
|
||||
if Result then
|
||||
begin
|
||||
|
||||
@ -111,7 +111,7 @@ var
|
||||
begin
|
||||
// Set up as desired. Maybe create config settings;
|
||||
Flags := [ofOnlyIfExists, ofAddToRecent, ofUseCache];
|
||||
LazarusIDE.DoOpenEditorFile(AFileName, 0, Flags);
|
||||
LazarusIDE.DoOpenEditorFile(AFileName, 0, 0, Flags);
|
||||
end;
|
||||
|
||||
procedure TFileBrowserController.DoLoadLayout(Sender: TObject);
|
||||
|
||||
@ -1117,7 +1117,7 @@ begin
|
||||
DebugLn(['TH2PasDialog.Convert LazarusIDE.DoSaveProject failed']);
|
||||
exit;
|
||||
end;
|
||||
LazarusIDE.SaveSourceEditorChangesToCodeCache(-1,-1);
|
||||
LazarusIDE.SaveSourceEditorChangesToCodeCache(nil);
|
||||
|
||||
Result:=Converter.Execute;
|
||||
if Result<>mrOk then begin
|
||||
|
||||
@ -346,7 +346,7 @@ begin
|
||||
if nm = '' then nm := SourceFile;
|
||||
end else
|
||||
nm := SourceFile;
|
||||
LazarusIDE.DoOpenFileAndJumpToPos(nm, Point(1, Line), -1, -1, [ofOnlyIfExists, ofRegularFile]);
|
||||
LazarusIDE.DoOpenFileAndJumpToPos(nm, Point(1, Line), -1, -1, -1, [ofOnlyIfExists, ofRegularFile]);
|
||||
end;
|
||||
|
||||
procedure IDEMenuClicked(Sender: TObject);
|
||||
|
||||
@ -154,7 +154,7 @@ begin
|
||||
if HasDirective then exit;
|
||||
|
||||
// open the file in the source editor
|
||||
if LazarusIDE.DoOpenFileAndJumpToPos(Filename,Point(1,Line),-1,-1,
|
||||
if LazarusIDE.DoOpenFileAndJumpToPos(Filename,Point(1,Line),-1,-1,-1,
|
||||
[ofOnlyIfExists,ofRegularFile,ofUseCache,ofDoNotLoadResource])<>mrOk then
|
||||
begin
|
||||
DebugLn(['THideFPCHintWorker.Execute open failed: ',Filename]);
|
||||
|
||||
@ -73,7 +73,7 @@ begin
|
||||
then begin
|
||||
// jump
|
||||
if LazarusIDE.DoOpenFileAndJumpToPos(NewCodePos.Code.Filename,
|
||||
Point(NewCodePos.X,NewCodePos.Y),NewTopLine,-1,
|
||||
Point(NewCodePos.X,NewCodePos.Y),NewTopLine,-1,-1,
|
||||
[ofRegularFile,ofUseCache])=mrOk
|
||||
then
|
||||
Ok:=true;
|
||||
|
||||
@ -168,7 +168,7 @@ function ParseCode(CodeBuf: TCodeBuffer; out ACodeTool: TCodeTool): boolean;
|
||||
// commits any editor changes to the codetools, parses the unit
|
||||
// and if there is a syntax error, tells the IDE jump to it
|
||||
begin
|
||||
LazarusIDE.SaveSourceEditorChangesToCodeCache(-1);
|
||||
LazarusIDE.SaveSourceEditorChangesToCodeCache(nil);
|
||||
if not CodeToolBoss.Explore(CodeBuf,ACodeTool,false) then begin
|
||||
LazarusIDE.DoJumpToCodeToolBossError;
|
||||
Result:=false;
|
||||
|
||||
@ -279,7 +279,7 @@ begin
|
||||
end;
|
||||
|
||||
LazarusIDE.DoOpenFileAndJumpToPos(NewCode.Filename,Point(NewX,NewY),
|
||||
NewTopLine,-1,[]);
|
||||
NewTopLine,-1,-1,[]);
|
||||
finally
|
||||
CodeToolBoss.FreeListOfPCodeXYPosition(NewList);
|
||||
end;
|
||||
|
||||
@ -1001,7 +1001,7 @@ begin
|
||||
end;
|
||||
|
||||
// get nice unit name
|
||||
if not LazarusIDE.SaveSourceEditorChangesToCodeCache(-1, -1) then begin
|
||||
if not LazarusIDE.SaveSourceEditorChangesToCodeCache(nil) then begin
|
||||
DebugLn(['TCodeBrowserView.UseUnitInSrcEditor LazarusIDE.'
|
||||
+'SaveSourceEditorChangesToCodeCache failed']);
|
||||
exit;
|
||||
@ -2645,7 +2645,7 @@ begin
|
||||
and (Node.CodePos.Code.Filename<>'') then begin
|
||||
Node.CodePos.Code.AbsoluteToLineCol(Node.CodePos.P,Line,Column);
|
||||
LazarusIDE.DoOpenFileAndJumpToPos(Node.CodePos.Code.Filename,
|
||||
Point(Column,Line),-1,-1,[ofOnlyIfExists]);
|
||||
Point(Column,Line),-1,-1,-1,[ofOnlyIfExists]);
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
@ -3160,7 +3160,7 @@ begin
|
||||
exit;
|
||||
end;
|
||||
|
||||
if LazarusIDE.DoOpenFileAndJumpToPos(Filename,Caret,-1,-1,OpnFlagsPlainFile
|
||||
if LazarusIDE.DoOpenFileAndJumpToPos(Filename,Caret,-1,-1,-1,OpnFlagsPlainFile
|
||||
)<>mrOk
|
||||
then exit;
|
||||
|
||||
|
||||
@ -415,7 +415,7 @@ begin
|
||||
|
||||
Parser.EnableMacros := Attributes.IndexOfName(CodeTemplateEnableMacros)>=0;
|
||||
Parser.Indent := StringOfChar(' ', IndentLen);
|
||||
LazarusIDE.SaveSourceEditorChangesToCodeCache(-1, -1);
|
||||
LazarusIDE.SaveSourceEditorChangesToCodeCache(nil);
|
||||
if not Parser.SubstituteCodeMacros(SrcEdit) then exit;
|
||||
|
||||
s:=AEditor.Lines[p.y-1];
|
||||
|
||||
@ -42,21 +42,19 @@ interface
|
||||
uses
|
||||
Classes, SysUtils, Math, Forms, Controls, Buttons, StdCtrls, FileUtil,
|
||||
LazarusIDEStrConsts, EditorOptions, IDEWindowIntf, LCLType,
|
||||
InputHistory, DiffPatch, ExtCtrls, Dialogs, SynEdit, IDEContextHelpEdit;
|
||||
InputHistory, DiffPatch, ExtCtrls, Dialogs, SynEdit, IDEContextHelpEdit,
|
||||
SourceEditor;
|
||||
|
||||
type
|
||||
TOnGetDiffFile = procedure(TextID: integer; OnlySelection: boolean;
|
||||
var Source: string) of object;
|
||||
|
||||
|
||||
{ TDiffFile }
|
||||
|
||||
TDiffFile = class
|
||||
public
|
||||
Name: string;
|
||||
ID: integer;
|
||||
Editor: TSourceEditor;
|
||||
SelectionAvailable: boolean;
|
||||
constructor Create(const NewName: string; NewID: integer;
|
||||
constructor Create(const NewName: string; NewEditor: TSourceEditor;
|
||||
NewSelectionAvailable: boolean);
|
||||
end;
|
||||
|
||||
@ -110,7 +108,6 @@ type
|
||||
procedure Text1ComboboxChange(Sender: TObject);
|
||||
procedure Text2ComboboxChange(Sender: TObject);
|
||||
private
|
||||
FOnGetDiffFile: TOnGetDiffFile;
|
||||
fDiffNeedsUpdate: boolean;
|
||||
FLockCount: integer;
|
||||
procedure SetupComponents;
|
||||
@ -130,13 +127,9 @@ type
|
||||
function GetDiffOptions: TTextDiffFlags;
|
||||
procedure BeginUpdate;
|
||||
procedure EndUpdate;
|
||||
public
|
||||
property OnGetDiffFile: TOnGetDiffFile
|
||||
read FOnGetDiffFile write FOnGetDiffFile;
|
||||
end;
|
||||
|
||||
function ShowDiffDialog(Files: TDiffFiles; Text1Index: integer;
|
||||
OnGetDiffFile: TOnGetDiffFile;
|
||||
function ShowDiffDialog(Text1Index: integer;
|
||||
var OpenDiffInEditor: boolean; var Diff: string): TModalResult;
|
||||
|
||||
const
|
||||
@ -152,16 +145,23 @@ implementation
|
||||
|
||||
{$R *.lfm}
|
||||
|
||||
function ShowDiffDialog(Files: TDiffFiles; Text1Index: integer;
|
||||
OnGetDiffFile: TOnGetDiffFile;
|
||||
function ShowDiffDialog(Text1Index: integer;
|
||||
var OpenDiffInEditor: boolean; var Diff: string): TModalResult;
|
||||
var
|
||||
DiffDlg: TDiffDlg;
|
||||
Files: TDiffFiles;
|
||||
i: Integer;
|
||||
SrcEdit: TSourceEditor;
|
||||
begin
|
||||
Files := TDiffFiles.Create;
|
||||
for i:=0 to SourceEditorManager.SourceEditorCount - 1 do begin
|
||||
SrcEdit := SourceEditorManager.SourceEditors[i]; // FindSourceEditorWithPageIndex(i);
|
||||
Files.Add(TDiffFile.Create(SrcEdit.PageName, SrcEdit, SrcEdit.SelectionAvailable));
|
||||
end;
|
||||
|
||||
OpenDiffInEditor:=false;
|
||||
DiffDlg:=TDiffDlg.Create(nil);
|
||||
DiffDlg.BeginUpdate;
|
||||
DiffDlg.OnGetDiffFile:=OnGetDiffFile;
|
||||
DiffDlg.Files:=Files;
|
||||
DiffDlg.SetText1Index(Text1Index);
|
||||
DiffDlg.Init;
|
||||
@ -175,6 +175,7 @@ begin
|
||||
Result:=mrOk;
|
||||
end;
|
||||
|
||||
Files.Free;
|
||||
DiffDlg.Free;
|
||||
end;
|
||||
|
||||
@ -192,7 +193,7 @@ begin
|
||||
//only add new files
|
||||
if Text1ComboBox.Items.IndexOf(dlgOpen.FileName) = -1 then
|
||||
begin
|
||||
Files.Add(TDiffFile.Create(dlgOpen.FileName,-1,False));
|
||||
Files.Add(TDiffFile.Create(dlgOpen.FileName,nil,False));
|
||||
Text1ComboBox.Items.Add(dlgOpen.FileName);
|
||||
Text2ComboBox.Items.Add(dlgOpen.FileName);
|
||||
end;
|
||||
@ -302,29 +303,33 @@ begin
|
||||
if (Text1=nil) or (Text2=nil) then begin
|
||||
DiffSynEdit.Lines.Text:='';
|
||||
end else begin
|
||||
if Text1.ID = -1 then
|
||||
if Text1.Editor = nil then
|
||||
begin
|
||||
dat := TStringList.Create;
|
||||
dat.LoadFromFile(UTF8ToSys(Text1.Name));
|
||||
Text1Src := dat.Text;
|
||||
dat.Free;
|
||||
end
|
||||
else
|
||||
OnGetDiffFile(Text1.ID,
|
||||
Text1.SelectionAvailable and Text1OnlySelectionCheckBox.Checked,
|
||||
Text1Src);
|
||||
else begin
|
||||
if (Text1.SelectionAvailable and Text1OnlySelectionCheckBox.Checked) then
|
||||
Text1Src := Text1.Editor.EditorComponent.SelText
|
||||
else
|
||||
Text1Src := Text1.Editor.EditorComponent.Lines.Text;
|
||||
end;
|
||||
|
||||
if Text2.ID = -1 then
|
||||
if Text2.Editor = nil then
|
||||
begin
|
||||
dat := TStringList.Create;
|
||||
dat.LoadFromFile(UTF8ToSys(Text2.Name));
|
||||
Text2Src := dat.Text;
|
||||
dat.Free;
|
||||
end
|
||||
else
|
||||
OnGetDiffFile(Text2.ID,
|
||||
Text2.SelectionAvailable and Text2OnlySelectionCheckBox.Checked,
|
||||
Text2Src);
|
||||
else begin
|
||||
if (Text2.SelectionAvailable and Text2OnlySelectionCheckBox.Checked) then
|
||||
Text2Src := Text2.Editor.EditorComponent.SelText
|
||||
else
|
||||
Text2Src := Text2.Editor.EditorComponent.Lines.Text;
|
||||
end;
|
||||
|
||||
DiffTxt:=CreateTextDiff(Text1Src,Text2Src,GetDiffOptions,tdoContext);
|
||||
|
||||
@ -477,11 +482,11 @@ end;
|
||||
|
||||
{ TDiffFile }
|
||||
|
||||
constructor TDiffFile.Create(const NewName: string; NewID: integer;
|
||||
constructor TDiffFile.Create(const NewName: string; NewEditor: TSourceEditor;
|
||||
NewSelectionAvailable: boolean);
|
||||
begin
|
||||
Name:=NewName;
|
||||
ID:=NewID;
|
||||
Editor:=NewEditor;
|
||||
SelectionAvailable:=NewSelectionAvailable;
|
||||
end;
|
||||
|
||||
|
||||
@ -1028,7 +1028,7 @@ begin
|
||||
NewSrcFilename:=CleanAndExpandFilename(SrcFilename);
|
||||
if (NewSrcFilename=SourceFilename) and (CompareCaret(Caret,CaretXY)=0)
|
||||
and (fChain<>nil) and fChain.IsValid
|
||||
and (not LazarusIDE.NeedSaveSourceEditorChangesToCodeCache(-1, -1)) then
|
||||
and (not LazarusIDE.NeedSaveSourceEditorChangesToCodeCache(nil)) then
|
||||
exit;
|
||||
|
||||
FCaretXY:=Caret;
|
||||
@ -1236,7 +1236,7 @@ begin
|
||||
exit;
|
||||
end;
|
||||
Exclude(FFlags,fpdefCodeCacheNeedsUpdate);
|
||||
LazarusIDE.SaveSourceEditorChangesToCodeCache(-1, -1);
|
||||
LazarusIDE.SaveSourceEditorChangesToCodeCache(nil);
|
||||
end;
|
||||
|
||||
procedure TFPDocEditor.ErrorsMemoChange(Sender: TObject);
|
||||
|
||||
399
ide/main.pp
399
ide/main.pp
File diff suppressed because it is too large
Load Diff
@ -145,6 +145,7 @@ type
|
||||
out ActiveUnitInfo: TUnitInfo); virtual; abstract;
|
||||
procedure GetUnitWithPageIndex(PageIndex, WindowIndex: integer;
|
||||
var ActiveSourceEditor: TSourceEditor; var ActiveUnitInfo: TUnitInfo); virtual; abstract;
|
||||
deprecated; // deprecated in 0.9.29 March 2010
|
||||
procedure GetDesignerUnit(ADesigner: TDesigner;
|
||||
var ActiveSourceEditor: TSourceEditor; var ActiveUnitInfo: TUnitInfo); virtual; abstract;
|
||||
procedure GetObjectInspectorUnit(
|
||||
|
||||
@ -114,7 +114,7 @@ begin
|
||||
OldChange:=LazarusIDE.OpenEditorsOnCodeToolChange;
|
||||
LazarusIDE.OpenEditorsOnCodeToolChange:=true;
|
||||
try
|
||||
LazarusIDE.SaveSourceEditorChangesToCodeCache(-1, -1);
|
||||
LazarusIDE.SaveSourceEditorChangesToCodeCache(nil);
|
||||
if not CodeToolBoss.RemoveUnitFromAllUsesSections(CodeBuf,UnneededUnitname)
|
||||
then begin
|
||||
LazarusIDE.DoJumpToCodeToolBossError;
|
||||
@ -229,7 +229,7 @@ begin
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
LazarusIDE.SaveSourceEditorChangesToCodeCache(-1, -1);
|
||||
LazarusIDE.SaveSourceEditorChangesToCodeCache(nil);
|
||||
if not CodeToolBoss.FindUnitInAllUsesSections(CodeBuf,MissingUnitname,
|
||||
NamePos,InPos)
|
||||
then begin
|
||||
@ -366,7 +366,7 @@ procedure TQuickFixLinkerUndefinedReference.Execute(const Msg: TIDEMessageLine;
|
||||
exit;
|
||||
end;
|
||||
LazarusIDE.DoOpenFileAndJumpToPos(NewCode.Filename,Point(NewX,NewY),
|
||||
NewTopLine,-1,[]);
|
||||
NewTopLine,-1,-1,[]);
|
||||
end;
|
||||
|
||||
begin
|
||||
@ -458,7 +458,7 @@ begin
|
||||
DebugLn(['TQuickFixClassWithAbstractMethods.Execute Declaration at ',NewCode.Filename,' ',NewX,',',NewY]);
|
||||
|
||||
if LazarusIDE.DoOpenFileAndJumpToPos(NewCode.Filename,
|
||||
Point(NewX,NewY),NewTopLine,-1,[])<>mrOk
|
||||
Point(NewX,NewY),NewTopLine,-1,-1,[])<>mrOk
|
||||
then begin
|
||||
DebugLn(['TQuickFixClassWithAbstractMethods.Execute failed opening ',NewCode.Filename]);
|
||||
exit;
|
||||
|
||||
@ -138,7 +138,7 @@ begin
|
||||
if frm.ModalResult = mrOK then // we need to jump
|
||||
begin
|
||||
LazarusIDE.DoOpenFileAndJumpToPos(frm.Caret.Code.Filename,
|
||||
Point(frm.Caret.X, frm.Caret.Y), frm.NewTopLine, -1,
|
||||
Point(frm.Caret.X, frm.Caret.Y), frm.NewTopLine, -1,-1,
|
||||
[ofRegularFile,ofUseCache]);
|
||||
end;
|
||||
finally
|
||||
|
||||
@ -362,7 +362,7 @@ var
|
||||
|
||||
GetSrcEditPos;
|
||||
if LazarusIDE.DoOpenFileAndJumpToPos(TheFileName,SrcEditStartPos,
|
||||
-1,-1,[ofUseCache,ofDoNotLoadResource,ofVirtualFile,ofRegularFile])
|
||||
-1,-1,-1,[ofUseCache,ofDoNotLoadResource,ofVirtualFile,ofRegularFile])
|
||||
<>mrOk then
|
||||
begin
|
||||
DoAbort;
|
||||
|
||||
1032
ide/sourceeditor.pp
1032
ide/sourceeditor.pp
File diff suppressed because it is too large
Load Diff
@ -559,7 +559,7 @@ begin
|
||||
if Assigned(OnOpenFile) then
|
||||
OnOpenFile(Self,CurFilename,TheLine)
|
||||
else
|
||||
LazarusIDE.DoOpenFileAndJumpToPos(CurFilename,Point(1,TheLine),-1,-1,
|
||||
LazarusIDE.DoOpenFileAndJumpToPos(CurFilename,Point(1,TheLine),-1,-1,-1,
|
||||
[ofOnlyIfExists,ofRegularFile,ofVirtualFile,ofDoNotLoadResource]);
|
||||
end;
|
||||
end;
|
||||
@ -619,7 +619,7 @@ begin
|
||||
|
||||
//DebugLn(['TfrmTodo.acRefreshExecute MainSourceFilename=',MainSourceFilename]);
|
||||
|
||||
LazarusIDE.SaveSourceEditorChangesToCodeCache(-1,-1);
|
||||
LazarusIDE.SaveSourceEditorChangesToCodeCache(nil);
|
||||
|
||||
Screen.Cursor:=crHourGlass;
|
||||
Owners:=nil;
|
||||
|
||||
@ -180,27 +180,37 @@ type
|
||||
NewFilename: string; const NewSource: string;
|
||||
NewFlags: TNewFlags): TModalResult;
|
||||
function DoNewFile(NewFileDescriptor: TProjectFileDescriptor;
|
||||
var NewFilename: string; const NewSource: string;
|
||||
NewFlags: TNewFlags; NewOwner: TObject): TModalResult; virtual; abstract;
|
||||
var NewFilename: string; const NewSource: string;
|
||||
NewFlags: TNewFlags; NewOwner: TObject): TModalResult; virtual; abstract;
|
||||
function DoSaveEditorFile(PageIndex:integer;
|
||||
Flags: TSaveFlags): TModalResult; virtual; abstract; deprecated;
|
||||
Flags: TSaveFlags): TModalResult; virtual; abstract;
|
||||
deprecated {$IFDEF VER2_5}'use method with EditorObject'{$ENDIF}; // deprecated in 0.9.29 March 2010
|
||||
function DoSaveEditorFile(AEditor: TSourceEditorInterface;
|
||||
Flags: TSaveFlags): TModalResult; virtual; abstract;
|
||||
Flags: TSaveFlags): TModalResult; virtual; abstract;
|
||||
function DoCloseEditorFile(PageIndex:integer;
|
||||
Flags: TCloseFlags):TModalResult; virtual; abstract; deprecated;
|
||||
Flags: TCloseFlags):TModalResult; virtual; abstract;
|
||||
deprecated {$IFDEF VER2_5}'use method with EditorObject'{$ENDIF}; // deprecated in 0.9.29 March 2010
|
||||
function DoCloseEditorFile(AEditor: TSourceEditorInterface;
|
||||
Flags: TCloseFlags):TModalResult; virtual; abstract;
|
||||
Flags: TCloseFlags):TModalResult; virtual; abstract;
|
||||
function DoCloseEditorFile(const Filename: string;
|
||||
Flags: TCloseFlags): TModalResult; virtual; abstract;
|
||||
Flags: TCloseFlags): TModalResult; virtual; abstract;
|
||||
function DoOpenEditorFile(AFileName:string; PageIndex: integer;
|
||||
Flags: TOpenFlags): TModalResult; virtual; abstract; deprecated;
|
||||
Flags: TOpenFlags): TModalResult; virtual; abstract;
|
||||
deprecated {$IFDEF VER2_5}'use method with WindowIndex'{$ENDIF}; // deprecated in 0.9.29 March 2010
|
||||
function DoOpenEditorFile(AFileName:string; PageIndex, WindowIndex: integer;
|
||||
Flags: TOpenFlags): TModalResult; virtual; abstract;
|
||||
function DoOpenFileAndJumpToIdentifier(const AFilename, AnIdentifier: string;
|
||||
PageIndex: integer; Flags: TOpenFlags): TModalResult; virtual; abstract;
|
||||
deprecated {$IFDEF VER2_5}'use method with WindowIndex'{$ENDIF}; // deprecated in 0.9.29 March 2010
|
||||
function DoOpenFileAndJumpToIdentifier(const AFilename, AnIdentifier: string;
|
||||
PageIndex, WindowIndex: integer; Flags: TOpenFlags): TModalResult; virtual; abstract;
|
||||
function DoOpenFileAndJumpToPos(const AFilename: string;
|
||||
const CursorPosition: TPoint; TopLine: integer;
|
||||
const CursorPosition: TPoint; TopLine: integer;
|
||||
PageIndex: integer; Flags: TOpenFlags): TModalResult; virtual; abstract;
|
||||
deprecated {$IFDEF VER2_5}'use method with WindowIndex'{$ENDIF}; // deprecated in 0.9.29 March 2010
|
||||
function DoOpenFileAndJumpToPos(const AFilename: string;
|
||||
const CursorPosition: TPoint; TopLine: integer;
|
||||
PageIndex, WindowIndex: integer; Flags: TOpenFlags): TModalResult; virtual; abstract;
|
||||
function DoRevertEditorFile(const Filename: string): TModalResult; virtual; abstract;
|
||||
function DoOpenComponent(const UnitFilename: string; OpenFlags: TOpenFlags;
|
||||
CloseFlags: TCloseFlags;
|
||||
@ -236,10 +246,12 @@ type
|
||||
function BeginCodeTools: boolean; virtual; abstract;
|
||||
procedure DoJumpToCodeToolBossError; virtual; abstract;
|
||||
|
||||
function NeedSaveSourceEditorChangesToCodeCache(PageIndex: integer): boolean; virtual; abstract; deprecated;
|
||||
function NeedSaveSourceEditorChangesToCodeCache(PageIndex, WindowIndex: integer): boolean; virtual; abstract;
|
||||
function SaveSourceEditorChangesToCodeCache(PageIndex: integer): boolean; virtual; abstract; deprecated; // true if something was saved
|
||||
function SaveSourceEditorChangesToCodeCache(PageIndex, WindowIndex: integer): boolean; virtual; abstract; // true if something was saved
|
||||
function NeedSaveSourceEditorChangesToCodeCache(PageIndex: integer): boolean; virtual; abstract;
|
||||
deprecated {$IFDEF VER2_5}'use method with EditorObject'{$ENDIF}; // deprecated in 0.9.29 March 2010
|
||||
function NeedSaveSourceEditorChangesToCodeCache(AEditor: TSourceEditorInterface): boolean; virtual; abstract;
|
||||
function SaveSourceEditorChangesToCodeCache(PageIndex: integer): boolean; virtual; abstract; // true if something was saved
|
||||
deprecated {$IFDEF VER2_5}'use method with EditorObject'{$ENDIF}; // deprecated in 0.9.29 March 2010
|
||||
function SaveSourceEditorChangesToCodeCache(AEditor: TSourceEditorInterface): boolean; virtual; abstract; // true if something was saved
|
||||
|
||||
property OpenEditorsOnCodeToolChange: boolean read FOpenEditorsOnCodeToolChange
|
||||
write FOpenEditorsOnCodeToolChange;
|
||||
|
||||
@ -176,27 +176,37 @@ type
|
||||
function GetItems(Index: integer): TSourceEditorInterface; virtual; abstract;
|
||||
procedure SetActiveEditor(const AValue: TSourceEditorInterface); virtual; abstract;
|
||||
public
|
||||
function SourceEditorIntfWithFilename(const Filename: string): TSourceEditorInterface; deprecated;
|
||||
function SourceEditorIntfWithFilename(const Filename: string): TSourceEditorInterface;
|
||||
deprecated {$IFDEF VER2_5}'use SourceEditorManagerIntf'{$ENDIF}; // deprecated in 0.9.29 March 2010
|
||||
property ActiveEditor: TSourceEditorInterface
|
||||
read GetActiveEditor write SetActiveEditor;
|
||||
function Count: integer; virtual; abstract;
|
||||
property Items[Index: integer]: TSourceEditorInterface read GetItems; default;
|
||||
|
||||
function GetEditorControlSettings(EditControl: TControl): boolean; virtual; abstract; deprecated;
|
||||
function GetHighlighterSettings(Highlighter: TObject): boolean; virtual; abstract; deprecated;
|
||||
procedure ClearErrorLines; virtual; abstract; deprecated;
|
||||
function GetEditorControlSettings(EditControl: TControl): boolean; virtual; abstract;
|
||||
deprecated {$IFDEF VER2_5}'use SourceEditorManagerIntf'{$ENDIF}; // deprecated in 0.9.29 March 2010
|
||||
function GetHighlighterSettings(Highlighter: TObject): boolean; virtual; abstract;
|
||||
deprecated {$IFDEF VER2_5}'use SourceEditorManagerIntf'{$ENDIF}; // deprecated in 0.9.29 March 2010
|
||||
procedure ClearErrorLines; virtual; abstract;
|
||||
deprecated {$IFDEF VER2_5}'use SourceEditorManagerIntf'{$ENDIF}; // deprecated in 0.9.29 March 2010
|
||||
|
||||
property CompletionBoxPosition: integer read GetCompletionBoxPosition;
|
||||
procedure DeactivateCompletionForm; virtual; abstract;
|
||||
property ActiveCompletionPlugin: TSourceEditorCompletionPlugin read GetActiveCompletionPlugin;
|
||||
// CompletionPlugin list moves to Manager
|
||||
function CompletionPluginCount: integer; virtual; abstract; deprecated;
|
||||
function CompletionPluginCount: integer; virtual; abstract;
|
||||
deprecated {$IFDEF VER2_5}'use SourceEditorManagerIntf'{$ENDIF}; // deprecated in 0.9.29 March 2010
|
||||
property CompletionPlugins[Index: integer]: TSourceEditorCompletionPlugin
|
||||
read GetCompletionPlugins; deprecated;
|
||||
procedure RegisterCompletionPlugin(Plugin: TSourceEditorCompletionPlugin); virtual; abstract; deprecated;
|
||||
procedure UnregisterCompletionPlugin(Plugin: TSourceEditorCompletionPlugin); virtual; abstract; deprecated;
|
||||
read GetCompletionPlugins;
|
||||
deprecated {$IFDEF VER2_5}'use SourceEditorManagerIntf'{$ENDIF}; // deprecated in 0.9.29 March 2010
|
||||
procedure RegisterCompletionPlugin(Plugin: TSourceEditorCompletionPlugin); virtual; abstract;
|
||||
deprecated {$IFDEF VER2_5}'use SourceEditorManagerIntf'{$ENDIF}; // deprecated in 0.9.29 March 2010
|
||||
procedure UnregisterCompletionPlugin(Plugin: TSourceEditorCompletionPlugin); virtual; abstract;
|
||||
deprecated {$IFDEF VER2_5}'use SourceEditorManagerIntf'{$ENDIF}; // deprecated in 0.9.29 March 2010
|
||||
end;
|
||||
|
||||
|
||||
TsemChangeReason = (semWindowCreate, semWindowDestroy);
|
||||
|
||||
TSourceEditorManagerInterface = class(TComponent)
|
||||
protected
|
||||
function GetActiveSourceWindow: TSourceEditorWindowInterface; virtual; abstract;
|
||||
@ -246,10 +256,14 @@ type
|
||||
property CompletionBoxPosition: integer read GetCompletionBoxPosition;
|
||||
procedure RegisterCompletionPlugin(Plugin: TSourceEditorCompletionPlugin); virtual; abstract;
|
||||
procedure UnregisterCompletionPlugin(Plugin: TSourceEditorCompletionPlugin); virtual; abstract;
|
||||
public
|
||||
procedure RegisterChangeEvent(AReason: TsemChangeReason; AHandler: TNotifyEvent); virtual; abstract;
|
||||
procedure UnRegisterChangeEvent(AReason: TsemChangeReason; AHandler: TNotifyEvent); virtual; abstract;
|
||||
end;
|
||||
|
||||
|
||||
function SourceEditorWindow: TSourceEditorWindowInterface; // Returns the active window
|
||||
|
||||
|
||||
function SourceEditorWindow: TSourceEditorWindowInterface; // Returns the active window
|
||||
deprecated {$IFDEF VER2_5}'use SourceEditorManagerIntf'{$ENDIF}; // deprecated in 0.9.29 March 2010
|
||||
|
||||
var
|
||||
SourceEditorManagerIntf: TSourceEditorManagerInterface= nil; // set by the IDE
|
||||
|
||||
@ -567,7 +567,7 @@ begin
|
||||
Filename:=PkgFile.Filename;
|
||||
MainIDE.DoOpenFileAndJumpToIdentifier(
|
||||
Filename,PkgComponent.ComponentClass.ClassName,
|
||||
-1, // open page somewhere
|
||||
-1, -1, // open page somewhere
|
||||
[ofOnlyIfExists,ofAddToRecent,ofRegularFile,ofConvertMacros]);
|
||||
end;
|
||||
end;
|
||||
@ -1060,7 +1060,7 @@ var
|
||||
OldUnitName:=OldPkgName;
|
||||
NewUnitName:=APackage.Name;
|
||||
if (OldUnitName<>NewUnitName) then begin
|
||||
MainIDEInterface.SaveSourceEditorChangesToCodeCache(-1, -1);
|
||||
MainIDEInterface.SaveSourceEditorChangesToCodeCache(nil);
|
||||
if CodeToolBoss.RenameUsedUnit(
|
||||
AProject.MainUnitInfo.Source,OldUnitName,NewUnitName,'')
|
||||
then
|
||||
@ -1598,7 +1598,7 @@ begin
|
||||
// create default values
|
||||
TheUnitName:='';
|
||||
HasRegisterProc:=false;
|
||||
MainIDE.SaveSourceEditorChangesToCodeCache(-1, -1);
|
||||
MainIDE.SaveSourceEditorChangesToCodeCache(nil);
|
||||
CodeBuffer:=CodeToolBoss.LoadFile(ExpFilename,true,false);
|
||||
if CodeBuffer<>nil then begin
|
||||
TheUnitName:=CodeToolBoss.GetSourceName(CodeBuffer,false);
|
||||
@ -1723,7 +1723,7 @@ begin
|
||||
and (AProject.MainUnitInfo<>nil) then begin
|
||||
//debugln('TPkgManager.AddUnitToProjectMainUsesSection B ',AnUnitName);
|
||||
if (AnUnitName<>'') then begin
|
||||
MainIDEInterface.SaveSourceEditorChangesToCodeCache(-1, -1);
|
||||
MainIDEInterface.SaveSourceEditorChangesToCodeCache(nil);
|
||||
if CodeToolBoss.AddUnitToMainUsesSection(
|
||||
AProject.MainUnitInfo.Source,AnUnitName,AnUnitInFilename)
|
||||
then
|
||||
@ -2521,7 +2521,7 @@ begin
|
||||
if Result<>mrOk then exit;
|
||||
|
||||
// save editor files to codetools
|
||||
MainIDE.SaveSourceEditorChangesToCodeCache(-1, -1);
|
||||
MainIDE.SaveSourceEditorChangesToCodeCache(nil);
|
||||
|
||||
// save package
|
||||
if (psfSaveAs in Flags) then begin
|
||||
@ -4210,7 +4210,7 @@ begin
|
||||
if (Project1.MainUnitID>=0)
|
||||
and (pfMainUnitHasUsesSectionForAllUnits in Project1.Flags)
|
||||
then begin
|
||||
MainIDEInterface.SaveSourceEditorChangesToCodeCache(-1, -1);
|
||||
MainIDEInterface.SaveSourceEditorChangesToCodeCache(nil);
|
||||
ShortUnitName:=ADependency.PackageName;
|
||||
//debugln('TPkgManager.OnProjectInspectorRemoveDependency B ShortUnitName="',ShortUnitName,'"');
|
||||
if (ShortUnitName<>'') then begin
|
||||
|
||||
Loading…
Reference in New Issue
Block a user