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:
martin 2010-03-20 15:12:33 +00:00
parent 2105de444c
commit 9040201c83
23 changed files with 884 additions and 770 deletions

View File

@ -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;

View File

@ -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

View File

@ -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);

View File

@ -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

View File

@ -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);

View File

@ -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]);

View File

@ -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;

View File

@ -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;

View File

@ -279,7 +279,7 @@ begin
end;
LazarusIDE.DoOpenFileAndJumpToPos(NewCode.Filename,Point(NewX,NewY),
NewTopLine,-1,[]);
NewTopLine,-1,-1,[]);
finally
CodeToolBoss.FreeListOfPCodeXYPosition(NewList);
end;

View File

@ -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;

View File

@ -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];

View File

@ -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;

View File

@ -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);

File diff suppressed because it is too large Load Diff

View File

@ -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(

View File

@ -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;

View File

@ -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

View File

@ -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;

File diff suppressed because it is too large Load Diff

View File

@ -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;

View File

@ -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;

View File

@ -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

View File

@ -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