mirror of https://gitlab.com/basile.b/dexed.git
common project interface - part 1
This commit is contained in:
parent
3d74bffa3b
commit
9139d8eef7
|
@ -176,6 +176,7 @@
|
|||
<ComponentName Value="CEEditorWidget"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="ce_editor"/>
|
||||
</Unit8>
|
||||
<Unit9>
|
||||
<Filename Value="..\src\ce_editoroptions.pas"/>
|
||||
|
@ -188,10 +189,12 @@
|
|||
<Unit11>
|
||||
<Filename Value="..\src\ce_interfaces.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<UnitName Value="ce_interfaces"/>
|
||||
</Unit11>
|
||||
<Unit12>
|
||||
<Filename Value="..\src\ce_libman.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<UnitName Value="ce_libman"/>
|
||||
</Unit12>
|
||||
<Unit13>
|
||||
<Filename Value="..\src\ce_libmaneditor.pas"/>
|
||||
|
@ -199,6 +202,7 @@
|
|||
<ComponentName Value="CELibManEditorWidget"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="ce_libmaneditor"/>
|
||||
</Unit13>
|
||||
<Unit14>
|
||||
<Filename Value="..\src\ce_main.pas"/>
|
||||
|
@ -226,6 +230,7 @@
|
|||
<Unit17>
|
||||
<Filename Value="..\src\ce_mru.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<UnitName Value="ce_mru"/>
|
||||
</Unit17>
|
||||
<Unit18>
|
||||
<Filename Value="..\src\ce_observer.pas"/>
|
||||
|
@ -244,6 +249,7 @@
|
|||
<ComponentName Value="CEProcInputWidget"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="ce_procinput"/>
|
||||
</Unit20>
|
||||
<Unit21>
|
||||
<Filename Value="..\src\ce_projconf.pas"/>
|
||||
|
@ -264,6 +270,7 @@
|
|||
<ComponentName Value="CEProjectInspectWidget"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="ce_projinspect"/>
|
||||
</Unit23>
|
||||
<Unit24>
|
||||
<Filename Value="..\src\ce_search.pas"/>
|
||||
|
@ -294,10 +301,12 @@
|
|||
<Unit28>
|
||||
<Filename Value="..\src\ce_symstring.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<UnitName Value="ce_symstring"/>
|
||||
</Unit28>
|
||||
<Unit29>
|
||||
<Filename Value="..\src\ce_synmemo.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<UnitName Value="ce_synmemo"/>
|
||||
</Unit29>
|
||||
<Unit30>
|
||||
<Filename Value="..\src\ce_todolist.pas"/>
|
||||
|
@ -310,7 +319,6 @@
|
|||
<Unit31>
|
||||
<Filename Value="..\src\ce_tools.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<UnitName Value="ce_tools"/>
|
||||
</Unit31>
|
||||
<Unit32>
|
||||
<Filename Value="..\src\ce_toolseditor.pas"/>
|
||||
|
@ -330,6 +338,7 @@
|
|||
<Unit35>
|
||||
<Filename Value="..\src\ce_sharedres.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<UnitName Value="ce_sharedres"/>
|
||||
</Unit35>
|
||||
<Unit36>
|
||||
<Filename Value="..\src\ce_widget.pas"/>
|
||||
|
@ -337,7 +346,6 @@
|
|||
<ComponentName Value="CEWidget"/>
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="ce_widget"/>
|
||||
</Unit36>
|
||||
</Units>
|
||||
</ProjectOptions>
|
||||
|
|
|
@ -28,16 +28,16 @@ type
|
|||
fClient, fServer: TProcess;
|
||||
fAvailable: boolean;
|
||||
fDoc: TCESynMemo;
|
||||
fProj: TCEProject;
|
||||
fProj: TCENativeProject;
|
||||
procedure killServer;
|
||||
procedure terminateClient;
|
||||
procedure waitClient;
|
||||
//
|
||||
procedure projNew(aProject: TCEProject);
|
||||
procedure projChanged(aProject: TCEProject);
|
||||
procedure projClosing(aProject: TCEProject);
|
||||
procedure projFocused(aProject: TCEProject);
|
||||
procedure projCompiling(aProject: TCEProject);
|
||||
procedure projNew(aProject: ICECommonProject);
|
||||
procedure projChanged(aProject: ICECommonProject);
|
||||
procedure projClosing(aProject: ICECommonProject);
|
||||
procedure projFocused(aProject: ICECommonProject);
|
||||
procedure projCompiling(aProject: ICECommonProject);
|
||||
//
|
||||
procedure docNew(aDoc: TCESynMemo);
|
||||
procedure docFocused(aDoc: TCESynMemo);
|
||||
|
@ -112,18 +112,21 @@ end;
|
|||
{$ENDREGION}
|
||||
|
||||
{$REGION ICEProjectObserver ----------------------------------------------------}
|
||||
procedure TCEDcdWrapper.projNew(aProject: TCEProject);
|
||||
procedure TCEDcdWrapper.projNew(aProject: ICECommonProject);
|
||||
begin
|
||||
fProj := aProject;
|
||||
case aProject.getKind of
|
||||
pkNative: fProj := TCENativeProject(aProject.getProject);
|
||||
pkDub:fProj := nil;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TCEDcdWrapper.projChanged(aProject: TCEProject);
|
||||
procedure TCEDcdWrapper.projChanged(aProject: ICECommonProject);
|
||||
var
|
||||
i: Integer;
|
||||
fold: string;
|
||||
folds: TStringList;
|
||||
begin
|
||||
if fProj <> aProject then
|
||||
if fProj <> aProject.getProject then
|
||||
exit;
|
||||
if fProj = nil then
|
||||
exit;
|
||||
|
@ -148,18 +151,22 @@ begin
|
|||
end;
|
||||
end;
|
||||
|
||||
procedure TCEDcdWrapper.projClosing(aProject: TCEProject);
|
||||
procedure TCEDcdWrapper.projClosing(aProject: ICECommonProject);
|
||||
begin
|
||||
if fProj <> aProject then exit;
|
||||
if fProj <> aProject.getProject then
|
||||
exit;
|
||||
fProj := nil;
|
||||
end;
|
||||
|
||||
procedure TCEDcdWrapper.projFocused(aProject: TCEProject);
|
||||
procedure TCEDcdWrapper.projFocused(aProject: ICECommonProject);
|
||||
begin
|
||||
fProj := aProject;
|
||||
case aProject.getKind of
|
||||
pkNative: fProj := TCENativeProject(aProject.getProject);
|
||||
pkDub:fProj := nil;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TCEDcdWrapper.projCompiling(aProject: TCEProject);
|
||||
procedure TCEDcdWrapper.projCompiling(aProject: ICECommonProject);
|
||||
begin
|
||||
end;
|
||||
{$ENDREGION}
|
||||
|
|
|
@ -6,10 +6,45 @@ interface
|
|||
|
||||
uses
|
||||
Classes, SysUtils, actnList, menus, process,
|
||||
ce_synmemo, ce_project, ce_observer;
|
||||
ce_synmemo, ce_observer;
|
||||
|
||||
type
|
||||
|
||||
// describes the project kind. Used as a hint to cast ICECommonProject.getProject()
|
||||
TCEProjectKind = (pkNative, pkDub);
|
||||
|
||||
(**
|
||||
* Common project interface
|
||||
*)
|
||||
ICECommonProject = interface
|
||||
['ICECommonProject']
|
||||
function getKind: TCEProjectKind;
|
||||
// returns an untyped object that can be casted using getSpecialization()
|
||||
function getProject: TObject;
|
||||
|
||||
//// project file
|
||||
//function filename: string;
|
||||
//procedure loadFromFile(const aFilename: string);
|
||||
//procedure saveToFile(const aFilename: string);
|
||||
//procedure save;
|
||||
//
|
||||
//// common project properties
|
||||
//function sourceCount: integer;
|
||||
//function source(index: integer): string;
|
||||
//function stringImportCount: integer;
|
||||
//function stringImport(index: integer): string;
|
||||
//function moduleImportCount: integer;
|
||||
//function moduleImport(index: integer): string;
|
||||
//function configurationCount: integer;
|
||||
//function configuration(index: integer): string;
|
||||
//function outputFilename: string;
|
||||
//
|
||||
//// common actions
|
||||
//function compile: boolean;
|
||||
|
||||
|
||||
end;
|
||||
|
||||
(**
|
||||
* An implementer declares some actions on demand.
|
||||
*)
|
||||
|
@ -55,15 +90,15 @@ type
|
|||
ICEProjectObserver = interface
|
||||
['ICEProjectObserver']
|
||||
// aProject has been created/opened
|
||||
procedure projNew(aProject: TCEProject);
|
||||
procedure projNew(aProject: ICECommonProject);
|
||||
// aProject has been modified: switches, source name, ...
|
||||
procedure projChanged(aProject: TCEProject);
|
||||
procedure projChanged(aProject: ICECommonProject);
|
||||
// aProject is about to be closed.
|
||||
procedure projClosing(aProject: TCEProject);
|
||||
procedure projClosing(aProject: ICECommonProject);
|
||||
// not called yet: aProject is always the same
|
||||
procedure projFocused(aProject: TCEProject);
|
||||
procedure projFocused(aProject: ICECommonProject);
|
||||
// aProject is about to be compiled
|
||||
procedure projCompiling(aProject: TCEProject);
|
||||
procedure projCompiling(aProject: ICECommonProject);
|
||||
end;
|
||||
(**
|
||||
* An implementer informs some ICEProjectObserver about the current project(s)
|
||||
|
@ -258,11 +293,11 @@ type
|
|||
(**
|
||||
* TCEProjectSubject primitives.
|
||||
*)
|
||||
procedure subjProjNew(aSubject: TCEProjectSubject; aProj: TCEProject); {$IFDEF RELEASE}inline;{$ENDIF}
|
||||
procedure subjProjClosing(aSubject: TCEProjectSubject; aProj: TCEProject); {$IFDEF RELEASE}inline;{$ENDIF}
|
||||
procedure subjProjFocused(aSubject: TCEProjectSubject; aProj: TCEProject); {$IFDEF RELEASE}inline;{$ENDIF}
|
||||
procedure subjProjChanged(aSubject: TCEProjectSubject; aProj: TCEProject); {$IFDEF RELEASE}inline;{$ENDIF}
|
||||
procedure subjProjCompiling(aSubject: TCEProjectSubject; aProj: TCEProject);{$IFDEF RELEASE}inline;{$ENDIF}
|
||||
procedure subjProjNew(aSubject: TCEProjectSubject; aProj: ICECommonProject); {$IFDEF RELEASE}inline;{$ENDIF}
|
||||
procedure subjProjClosing(aSubject: TCEProjectSubject; aProj: ICECommonProject); {$IFDEF RELEASE}inline;{$ENDIF}
|
||||
procedure subjProjFocused(aSubject: TCEProjectSubject; aProj: ICECommonProject); {$IFDEF RELEASE}inline;{$ENDIF}
|
||||
procedure subjProjChanged(aSubject: TCEProjectSubject; aProj: ICECommonProject); {$IFDEF RELEASE}inline;{$ENDIF}
|
||||
procedure subjProjCompiling(aSubject: TCEProjectSubject; aProj: ICECommonProject);{$IFDEF RELEASE}inline;{$ENDIF}
|
||||
|
||||
|
||||
{
|
||||
|
@ -332,7 +367,7 @@ begin
|
|||
exit(aObject is ICEProjectObserver);
|
||||
end;
|
||||
|
||||
procedure subjProjNew(aSubject: TCEProjectSubject; aProj: TCEProject);
|
||||
procedure subjProjNew(aSubject: TCEProjectSubject; aProj: ICECommonProject);
|
||||
var
|
||||
i: Integer;
|
||||
begin
|
||||
|
@ -340,7 +375,7 @@ begin
|
|||
(fObservers.Items[i] as ICEProjectObserver).ProjNew(aProj);
|
||||
end;
|
||||
|
||||
procedure subjProjClosing(aSubject: TCEProjectSubject; aProj: TCEProject);
|
||||
procedure subjProjClosing(aSubject: TCEProjectSubject; aProj: ICECommonProject);
|
||||
var
|
||||
i: Integer;
|
||||
begin
|
||||
|
@ -348,7 +383,7 @@ begin
|
|||
(fObservers.Items[i] as ICEProjectObserver).projClosing(aProj);
|
||||
end;
|
||||
|
||||
procedure subjProjFocused(aSubject: TCEProjectSubject; aProj: TCEProject);
|
||||
procedure subjProjFocused(aSubject: TCEProjectSubject; aProj: ICECommonProject);
|
||||
var
|
||||
i: Integer;
|
||||
begin
|
||||
|
@ -356,7 +391,7 @@ begin
|
|||
(fObservers.Items[i] as ICEProjectObserver).projFocused(aProj);
|
||||
end;
|
||||
|
||||
procedure subjProjChanged(aSubject: TCEProjectSubject; aProj: TCEProject);
|
||||
procedure subjProjChanged(aSubject: TCEProjectSubject; aProj: ICECommonProject);
|
||||
var
|
||||
i: Integer;
|
||||
begin
|
||||
|
@ -364,7 +399,7 @@ begin
|
|||
(fObservers.Items[i] as ICEProjectObserver).projChanged(aProj);
|
||||
end;
|
||||
|
||||
procedure subjProjCompiling(aSubject: TCEProjectSubject; aProj: TCEProject);
|
||||
procedure subjProjCompiling(aSubject: TCEProjectSubject; aProj: ICECommonProject);
|
||||
var
|
||||
i: Integer;
|
||||
begin
|
||||
|
|
|
@ -36,13 +36,13 @@ type
|
|||
procedure btnMoveDownClick(Sender: TObject);
|
||||
procedure ListEdited(Sender: TObject; Item: TListItem; var AValue: string);
|
||||
private
|
||||
fProj: TCEProject;
|
||||
fProj: TCENativeProject;
|
||||
procedure updateRegistrable;
|
||||
procedure projNew(aProject: TCEProject);
|
||||
procedure projChanged(aProject: TCEProject);
|
||||
procedure projClosing(aProject: TCEProject);
|
||||
procedure projFocused(aProject: TCEProject);
|
||||
procedure projCompiling(aProject: TCEProject);
|
||||
procedure projNew(aProject: ICECommonProject);
|
||||
procedure projChanged(aProject: ICECommonProject);
|
||||
procedure projClosing(aProject: ICECommonProject);
|
||||
procedure projFocused(aProject: ICECommonProject);
|
||||
procedure projCompiling(aProject: ICECommonProject);
|
||||
//
|
||||
procedure dataToGrid;
|
||||
procedure gridToData;
|
||||
|
@ -99,30 +99,37 @@ begin
|
|||
(FileExists(fProj.Filename))
|
||||
end;
|
||||
|
||||
procedure TCELibManEditorWidget.projNew(aProject: TCEProject);
|
||||
procedure TCELibManEditorWidget.projNew(aProject: ICECommonProject);
|
||||
begin
|
||||
fProj := aProject;
|
||||
if aProject.getKind <> pkNative then
|
||||
exit;
|
||||
fProj := TCENativeProject(aProject.getProject);
|
||||
end;
|
||||
|
||||
procedure TCELibManEditorWidget.projChanged(aProject: TCEProject);
|
||||
procedure TCELibManEditorWidget.projChanged(aProject: ICECommonProject);
|
||||
begin
|
||||
if fProj = nil then exit;
|
||||
if fProj <> aProject.getProject then exit;
|
||||
//
|
||||
updateRegistrable;
|
||||
end;
|
||||
|
||||
procedure TCELibManEditorWidget.projClosing(aProject: TCEProject);
|
||||
procedure TCELibManEditorWidget.projClosing(aProject: ICECommonProject);
|
||||
begin
|
||||
if aProject <> fProj then exit;
|
||||
if fProj <> aProject.getProject then exit;
|
||||
fProj := nil;
|
||||
updateRegistrable;
|
||||
end;
|
||||
|
||||
procedure TCELibManEditorWidget.projFocused(aProject: TCEProject);
|
||||
procedure TCELibManEditorWidget.projFocused(aProject: ICECommonProject);
|
||||
begin
|
||||
fProj := aProject;
|
||||
if aProject.getKind <> pkNative then
|
||||
exit;
|
||||
fProj := TCENativeProject(aProject.getProject);
|
||||
updateRegistrable;
|
||||
end;
|
||||
|
||||
procedure TCELibManEditorWidget.projCompiling(aProject: TCEProject);
|
||||
procedure TCELibManEditorWidget.projCompiling(aProject: ICECommonProject);
|
||||
begin
|
||||
end;
|
||||
|
||||
|
|
|
@ -189,7 +189,7 @@ type
|
|||
fMultidoc: ICEMultiDocHandler;
|
||||
fScCollectCount: Integer;
|
||||
fUpdateCount: NativeInt;
|
||||
fProject: TCEProject;
|
||||
fProject: TCENativeProject;
|
||||
fProjMru: TCEMRUProjectList;
|
||||
fFileMru: TCEMRUDocumentList;
|
||||
fWidgList: TCEWidgetList;
|
||||
|
@ -1733,7 +1733,7 @@ end;
|
|||
|
||||
procedure TCEMainForm.newProj;
|
||||
begin
|
||||
fProject := TCEProject.Create(nil);
|
||||
fProject := TCENativeProject.Create(nil);
|
||||
fProject.Name := 'CurrentProject';
|
||||
showProjTitle;
|
||||
end;
|
||||
|
|
|
@ -83,7 +83,7 @@ type
|
|||
fActCopyMsg: TAction;
|
||||
fActSelAll: TAction;
|
||||
fMaxMessCnt: Integer;
|
||||
fProj: TCEProject;
|
||||
fProj: TCENativeProject;
|
||||
fDoc: TCESynMemo;
|
||||
fCtxt: TCEAppMessageCtxt;
|
||||
fAutoSelect: boolean;
|
||||
|
@ -114,11 +114,11 @@ type
|
|||
procedure setColorBuble(aValue: TColor);
|
||||
procedure setColorWarning(aValue: TColor);
|
||||
//
|
||||
procedure projNew(aProject: TCEProject);
|
||||
procedure projClosing(aProject: TCEProject);
|
||||
procedure projFocused(aProject: TCEProject);
|
||||
procedure projChanged(aProject: TCEProject);
|
||||
procedure projCompiling(aProject: TCEProject);
|
||||
procedure projNew(aProject: ICECommonProject);
|
||||
procedure projClosing(aProject: ICECommonProject);
|
||||
procedure projFocused(aProject: ICECommonProject);
|
||||
procedure projChanged(aProject: ICECommonProject);
|
||||
procedure projCompiling(aProject: ICECommonProject);
|
||||
//
|
||||
procedure docNew(aDoc: TCESynMemo);
|
||||
procedure docClosing(aDoc: TCESynMemo);
|
||||
|
@ -584,34 +584,40 @@ end;
|
|||
{$ENDREGION}
|
||||
|
||||
{$REGION ICEProjectObserver ----------------------------------------------------}
|
||||
procedure TCEMessagesWidget.projNew(aProject: TCEProject);
|
||||
procedure TCEMessagesWidget.projNew(aProject: ICECommonProject);
|
||||
begin
|
||||
fProj := aProject;
|
||||
case aProject.getKind of
|
||||
pkNative: fProj := TCENativeProject(aProject.getProject);
|
||||
pkDub:fProj := nil;
|
||||
end;
|
||||
filterMessages(fCtxt);
|
||||
end;
|
||||
|
||||
procedure TCEMessagesWidget.projClosing(aProject: TCEProject);
|
||||
procedure TCEMessagesWidget.projClosing(aProject: ICECommonProject);
|
||||
begin
|
||||
if fProj <> aProject then
|
||||
if fProj <> aProject.getProject then
|
||||
exit;
|
||||
//
|
||||
clearbyData(aProject);
|
||||
clearbyData(fProj);
|
||||
fProj := nil;
|
||||
filterMessages(fCtxt);
|
||||
end;
|
||||
|
||||
procedure TCEMessagesWidget.projFocused(aProject: TCEProject);
|
||||
procedure TCEMessagesWidget.projFocused(aProject: ICECommonProject);
|
||||
begin
|
||||
if fProj = aProject then exit;
|
||||
fProj := aProject;
|
||||
if fProj = aProject.getProject then exit;
|
||||
case aProject.getKind of
|
||||
pkNative: fProj := TCENativeProject(aProject.getProject);
|
||||
pkDub:fProj := nil;
|
||||
end;
|
||||
filterMessages(fCtxt);
|
||||
end;
|
||||
|
||||
procedure TCEMessagesWidget.projChanged(aProject: TCEProject);
|
||||
procedure TCEMessagesWidget.projChanged(aProject: ICECommonProject);
|
||||
begin
|
||||
end;
|
||||
|
||||
procedure TCEMessagesWidget.projCompiling(aProject: TCEProject);
|
||||
procedure TCEMessagesWidget.projCompiling(aProject: ICECommonProject);
|
||||
begin
|
||||
end;
|
||||
{$ENDREGION}
|
||||
|
@ -789,7 +795,7 @@ begin
|
|||
Itm.Visible := true
|
||||
else case msgdt^.ctxt of
|
||||
amcEdit: itm.Visible := (fDoc = TCESynMemo(msgdt^.data)) and (aCtxt = amcEdit);
|
||||
amcProj: itm.Visible := (fProj = TCEProject(msgdt^.data)) and (aCtxt = amcProj);
|
||||
amcProj: itm.Visible := (fProj = TCENativeProject(msgdt^.data)) and (aCtxt = amcProj);
|
||||
amcApp: itm.Visible := aCtxt = amcApp;
|
||||
amcMisc: itm.Visible := aCtxt = amcMisc;
|
||||
end;
|
||||
|
|
|
@ -63,11 +63,11 @@ type
|
|||
*)
|
||||
TCEMRUProjectList = class(TCEMRUFileList, ICEProjectObserver)
|
||||
private
|
||||
procedure projNew(aProject: TCEProject);
|
||||
procedure projChanged(aProject: TCEProject);
|
||||
procedure projClosing(aProject: TCEProject);
|
||||
procedure projFocused(aProject: TCEProject);
|
||||
procedure projCompiling(aProject: TCEProject);
|
||||
procedure projNew(aProject: ICECommonProject);
|
||||
procedure projChanged(aProject: ICECommonProject);
|
||||
procedure projClosing(aProject: ICECommonProject);
|
||||
procedure projFocused(aProject: ICECommonProject);
|
||||
procedure projCompiling(aProject: ICECommonProject);
|
||||
public
|
||||
constructor create; override;
|
||||
destructor destroy; override;
|
||||
|
@ -192,26 +192,32 @@ begin
|
|||
inherited;
|
||||
end;
|
||||
|
||||
procedure TCEMRUProjectList.projNew(aProject: TCEProject);
|
||||
procedure TCEMRUProjectList.projNew(aProject: ICECommonProject);
|
||||
begin
|
||||
end;
|
||||
|
||||
procedure TCEMRUProjectList.projFocused(aProject: TCEProject);
|
||||
procedure TCEMRUProjectList.projFocused(aProject: ICECommonProject);
|
||||
begin
|
||||
end;
|
||||
|
||||
procedure TCEMRUProjectList.projChanged(aProject: TCEProject);
|
||||
procedure TCEMRUProjectList.projChanged(aProject: ICECommonProject);
|
||||
begin
|
||||
end;
|
||||
|
||||
procedure TCEMRUProjectList.projCompiling(aProject: TCEProject);
|
||||
procedure TCEMRUProjectList.projCompiling(aProject: ICECommonProject);
|
||||
begin
|
||||
end;
|
||||
|
||||
procedure TCEMRUProjectList.projClosing(aProject: TCEProject);
|
||||
procedure TCEMRUProjectList.projClosing(aProject: ICECommonProject);
|
||||
var
|
||||
natProj: TCENativeProject;
|
||||
begin
|
||||
if FileExists(aProject.fileName) then
|
||||
Insert(0, aProject.fileName);
|
||||
if aProject.getProject is TCENativeProject then
|
||||
begin
|
||||
natProj := TCENativeProject(aProject.getProject);
|
||||
if FileExists(natProj.fileName) then
|
||||
Insert(0, natProj.fileName);
|
||||
end;
|
||||
end;
|
||||
|
||||
initialization
|
||||
|
|
|
@ -35,7 +35,7 @@ type
|
|||
procedure TreeChange(Sender: TObject; Node: TTreeNode);
|
||||
procedure GridFilter(Sender: TObject; aEditor: TPropertyEditor;var aShow: boolean);
|
||||
private
|
||||
fProj: TCEProject;
|
||||
fProj: TCENativeProject;
|
||||
fSyncroMode: boolean;
|
||||
fSynchroItem: TStringList;
|
||||
fSynchroValue: TStringList;
|
||||
|
@ -45,11 +45,11 @@ type
|
|||
procedure syncroGetPropAsString(const ASection, Item, Value: string);
|
||||
property syncroMode: boolean read fSyncroMode write setSyncroMode;
|
||||
//
|
||||
procedure projNew(aProject: TCEProject);
|
||||
procedure projClosing(aProject: TCEProject);
|
||||
procedure projChanged(aProject: TCEProject);
|
||||
procedure projFocused(aProject: TCEProject);
|
||||
procedure projCompiling(aProject: TCEProject);
|
||||
procedure projNew(aProject: ICECommonProject);
|
||||
procedure projClosing(aProject: ICECommonProject);
|
||||
procedure projChanged(aProject: ICECommonProject);
|
||||
procedure projFocused(aProject: ICECommonProject);
|
||||
procedure projCompiling(aProject: ICECommonProject);
|
||||
protected
|
||||
procedure updateImperative; override;
|
||||
procedure SetVisible(Value: boolean); override;
|
||||
|
@ -107,18 +107,21 @@ end;
|
|||
{$ENDREGION --------------------------------------------------------------------}
|
||||
|
||||
{$REGION ICEProjectObserver ----------------------------------------------------}
|
||||
procedure TCEProjectConfigurationWidget.projNew(aProject: TCEProject);
|
||||
procedure TCEProjectConfigurationWidget.projNew(aProject: ICECommonProject);
|
||||
begin
|
||||
beginImperativeUpdate;
|
||||
fProj := aProject;
|
||||
case aProject.getKind of
|
||||
pkNative: fProj := TCENativeProject(aProject.getProject);
|
||||
pkDub:fProj := nil;
|
||||
end;
|
||||
if Visible then updateImperative;
|
||||
syncroMode := false;
|
||||
pnlToolBar.Enabled:=true;
|
||||
end;
|
||||
|
||||
procedure TCEProjectConfigurationWidget.projClosing(aProject: TCEProject);
|
||||
procedure TCEProjectConfigurationWidget.projClosing(aProject: ICECommonProject);
|
||||
begin
|
||||
if fProj <> aProject then
|
||||
if fProj <> aProject.getProject then
|
||||
exit;
|
||||
inspector.TIObject := nil;
|
||||
inspector.ItemIndex := -1;
|
||||
|
@ -128,21 +131,27 @@ begin
|
|||
fProj := nil;
|
||||
end;
|
||||
|
||||
procedure TCEProjectConfigurationWidget.projChanged(aProject: TCEProject);
|
||||
procedure TCEProjectConfigurationWidget.projChanged(aProject: ICECommonProject);
|
||||
begin
|
||||
if fProj <> aProject then exit;
|
||||
fProj := aProject;
|
||||
if fProj <> aProject.getProject then exit;
|
||||
case aProject.getKind of
|
||||
pkNative: fProj := TCENativeProject(aProject.getProject);
|
||||
pkDub:fProj := nil;
|
||||
end;
|
||||
if Visible then updateImperative;
|
||||
end;
|
||||
|
||||
procedure TCEProjectConfigurationWidget.projFocused(aProject: TCEProject);
|
||||
procedure TCEProjectConfigurationWidget.projFocused(aProject: ICECommonProject);
|
||||
begin
|
||||
fProj := aProject;
|
||||
case aProject.getKind of
|
||||
pkNative: fProj := TCENativeProject(aProject.getProject);
|
||||
pkDub: fProj := nil;
|
||||
end;
|
||||
pnlToolBar.Enabled:=true;
|
||||
if Visible then updateImperative;
|
||||
end;
|
||||
|
||||
procedure TCEProjectConfigurationWidget.projCompiling(aProject: TCEProject);
|
||||
procedure TCEProjectConfigurationWidget.projCompiling(aProject: ICECommonProject);
|
||||
begin
|
||||
end;
|
||||
{$ENDREGION --------------------------------------------------------------------}
|
||||
|
|
|
@ -9,7 +9,7 @@ uses
|
|||
LclProc,
|
||||
{$ENDIF}
|
||||
Classes, SysUtils, process, strUtils, ce_common, ce_writableComponent,
|
||||
ce_dmdwrap, ce_observer;
|
||||
ce_dmdwrap, ce_observer, ce_interfaces;
|
||||
|
||||
type
|
||||
|
||||
|
@ -21,7 +21,7 @@ type
|
|||
*
|
||||
* Basically it' s designed to provide the options for the dmd process.
|
||||
*)
|
||||
TCEProject = class(TWritableLfmTextComponent)
|
||||
TCENativeProject = class(TWritableLfmTextComponent, ICECommonProject)
|
||||
private
|
||||
fOnChange: TNotifyEvent;
|
||||
fModified: boolean;
|
||||
|
@ -51,6 +51,9 @@ type
|
|||
procedure runProcOutput(sender: TObject);
|
||||
// passes compilation message as "to be guessed"
|
||||
procedure compProcOutput(proc: TProcess);
|
||||
//
|
||||
function getKind: TCEProjectKind;
|
||||
function getProject: TObject;
|
||||
protected
|
||||
procedure beforeLoad; override;
|
||||
procedure afterSave; override;
|
||||
|
@ -91,9 +94,9 @@ type
|
|||
implementation
|
||||
|
||||
uses
|
||||
ce_interfaces, controls, dialogs, ce_symstring, ce_libman, ce_dcd;
|
||||
controls, dialogs, ce_symstring, ce_libman, ce_dcd;
|
||||
|
||||
constructor TCEProject.create(aOwner: TComponent);
|
||||
constructor TCENativeProject.create(aOwner: TComponent);
|
||||
begin
|
||||
inherited create(aOwner);
|
||||
//
|
||||
|
@ -117,7 +120,7 @@ begin
|
|||
fModified := false;
|
||||
end;
|
||||
|
||||
destructor TCEProject.destroy;
|
||||
destructor TCENativeProject.destroy;
|
||||
begin
|
||||
subjProjClosing(TCEProjectSubject(fProjectSubject), self);
|
||||
fProjectSubject.Free;
|
||||
|
@ -131,13 +134,23 @@ begin
|
|||
inherited;
|
||||
end;
|
||||
|
||||
function TCEProject.addConfiguration: TCompilerConfiguration;
|
||||
function TCENativeProject.getKind: TCEProjectKind;
|
||||
begin
|
||||
exit(pkNative);
|
||||
end;
|
||||
|
||||
function TCENativeProject.getProject: TObject;
|
||||
begin
|
||||
exit(Self);
|
||||
end;
|
||||
|
||||
function TCENativeProject.addConfiguration: TCompilerConfiguration;
|
||||
begin
|
||||
result := TCompilerConfiguration(fOptsColl.Add);
|
||||
result.onChanged := @subMemberChanged;
|
||||
end;
|
||||
|
||||
procedure TCEProject.setOptsColl(const aValue: TCollection);
|
||||
procedure TCENativeProject.setOptsColl(const aValue: TCollection);
|
||||
var
|
||||
i: nativeInt;
|
||||
begin
|
||||
|
@ -146,7 +159,7 @@ begin
|
|||
Configuration[i].onChanged := @subMemberChanged;
|
||||
end;
|
||||
|
||||
procedure TCEProject.addSource(const aFilename: string);
|
||||
procedure TCENativeProject.addSource(const aFilename: string);
|
||||
var
|
||||
relSrc, absSrc, ext: string;
|
||||
begin
|
||||
|
@ -163,7 +176,7 @@ begin
|
|||
fSrcs.Add(ExtractRelativepath(fBasePath, aFilename));
|
||||
end;
|
||||
|
||||
procedure TCEProject.setRoot(const aValue: string);
|
||||
procedure TCENativeProject.setRoot(const aValue: string);
|
||||
begin
|
||||
if fRootFolder = aValue then exit;
|
||||
beginUpdate;
|
||||
|
@ -171,7 +184,7 @@ begin
|
|||
endUpdate;
|
||||
end;
|
||||
|
||||
procedure TCEProject.setFilename(const aValue: string);
|
||||
procedure TCENativeProject.setFilename(const aValue: string);
|
||||
var
|
||||
oldAbs, newRel, oldBase: string;
|
||||
i: NativeInt;
|
||||
|
@ -194,14 +207,14 @@ begin
|
|||
endUpdate;
|
||||
end;
|
||||
|
||||
procedure TCEProject.setLibAliases(const aValue: TStringList);
|
||||
procedure TCENativeProject.setLibAliases(const aValue: TStringList);
|
||||
begin
|
||||
beginUpdate;
|
||||
fLibAliases.Assign(aValue);
|
||||
endUpdate;
|
||||
end;
|
||||
|
||||
procedure TCEProject.setSrcs(const aValue: TStringList);
|
||||
procedure TCENativeProject.setSrcs(const aValue: TStringList);
|
||||
begin
|
||||
beginUpdate;
|
||||
fSrcs.Assign(aValue);
|
||||
|
@ -209,7 +222,7 @@ begin
|
|||
endUpdate;
|
||||
end;
|
||||
|
||||
procedure TCEProject.setConfIx(aValue: Integer);
|
||||
procedure TCENativeProject.setConfIx(aValue: Integer);
|
||||
begin
|
||||
beginUpdate;
|
||||
if aValue < 0 then aValue := 0;
|
||||
|
@ -218,19 +231,19 @@ begin
|
|||
endUpdate;
|
||||
end;
|
||||
|
||||
procedure TCEProject.subMemberChanged(sender : TObject);
|
||||
procedure TCENativeProject.subMemberChanged(sender : TObject);
|
||||
begin
|
||||
beginUpdate;
|
||||
fModified := true;
|
||||
endUpdate;
|
||||
end;
|
||||
|
||||
procedure TCEProject.beginUpdate;
|
||||
procedure TCENativeProject.beginUpdate;
|
||||
begin
|
||||
Inc(fUpdateCount);
|
||||
end;
|
||||
|
||||
procedure TCEProject.endUpdate;
|
||||
procedure TCENativeProject.endUpdate;
|
||||
begin
|
||||
Dec(fUpdateCount);
|
||||
if fUpdateCount > 0 then
|
||||
|
@ -244,7 +257,7 @@ begin
|
|||
doChanged;
|
||||
end;
|
||||
|
||||
procedure TCEProject.doChanged;
|
||||
procedure TCENativeProject.doChanged;
|
||||
{$IFDEF DEBUG}
|
||||
var
|
||||
lst: TStringList;
|
||||
|
@ -267,18 +280,18 @@ begin
|
|||
{$ENDIF}
|
||||
end;
|
||||
|
||||
function TCEProject.getConfig(const ix: integer): TCompilerConfiguration;
|
||||
function TCENativeProject.getConfig(const ix: integer): TCompilerConfiguration;
|
||||
begin
|
||||
result := TCompilerConfiguration(fOptsColl.Items[ix]);
|
||||
result.onChanged := @subMemberChanged;
|
||||
end;
|
||||
|
||||
function TCEProject.getCurrConf: TCompilerConfiguration;
|
||||
function TCENativeProject.getCurrConf: TCompilerConfiguration;
|
||||
begin
|
||||
result := TCompilerConfiguration(fOptsColl.Items[fConfIx]);
|
||||
end;
|
||||
|
||||
procedure TCEProject.addDefaults;
|
||||
procedure TCENativeProject.addDefaults;
|
||||
begin
|
||||
with TCompilerConfiguration(fOptsColl.Add) do
|
||||
begin
|
||||
|
@ -303,7 +316,7 @@ begin
|
|||
end;
|
||||
end;
|
||||
|
||||
procedure TCEProject.reset;
|
||||
procedure TCENativeProject.reset;
|
||||
var
|
||||
defConf: TCompilerConfiguration;
|
||||
begin
|
||||
|
@ -318,7 +331,7 @@ begin
|
|||
fModified := false;
|
||||
end;
|
||||
|
||||
procedure TCEProject.getOpts(const aList: TStrings);
|
||||
procedure TCENativeProject.getOpts(const aList: TStrings);
|
||||
var
|
||||
rel, abs: string;
|
||||
i: Integer;
|
||||
|
@ -363,7 +376,7 @@ begin
|
|||
end;
|
||||
end;
|
||||
|
||||
function TCEProject.isProjectSource(const aFilename: string): boolean;
|
||||
function TCENativeProject.isProjectSource(const aFilename: string): boolean;
|
||||
var
|
||||
i: Integer;
|
||||
begin
|
||||
|
@ -373,31 +386,31 @@ begin
|
|||
exit(false);
|
||||
end;
|
||||
|
||||
function TCEProject.getAbsoluteSourceName(aIndex: integer): string;
|
||||
function TCENativeProject.getAbsoluteSourceName(aIndex: integer): string;
|
||||
begin
|
||||
if aIndex < 0 then exit('');
|
||||
if aIndex > fSrcs.Count-1 then exit('');
|
||||
result := expandFileNameEx(fBasePath, fSrcs.Strings[aIndex]);
|
||||
end;
|
||||
|
||||
function TCEProject.getAbsoluteFilename(const aFilename: string): string;
|
||||
function TCENativeProject.getAbsoluteFilename(const aFilename: string): string;
|
||||
begin
|
||||
result := expandFileNameEx(fBasePath, aFilename);
|
||||
end;
|
||||
|
||||
procedure TCEProject.afterSave;
|
||||
procedure TCENativeProject.afterSave;
|
||||
begin
|
||||
fModified := false;
|
||||
updateOutFilename;
|
||||
end;
|
||||
|
||||
procedure TCEProject.beforeLoad;
|
||||
procedure TCENativeProject.beforeLoad;
|
||||
begin
|
||||
beginUpdate;
|
||||
Inherited;
|
||||
end;
|
||||
|
||||
procedure TCEProject.afterLoad;
|
||||
procedure TCENativeProject.afterLoad;
|
||||
var
|
||||
hasPatched: Boolean;
|
||||
// either all the source files have moved or only the project file
|
||||
|
@ -499,7 +512,7 @@ begin
|
|||
if not hasPatched then fModified := false;
|
||||
end;
|
||||
|
||||
procedure TCEProject.readerPropNoFound(Reader: TReader; Instance: TPersistent;
|
||||
procedure TCENativeProject.readerPropNoFound(Reader: TReader; Instance: TPersistent;
|
||||
var PropName: string; IsPath: Boolean; var Handled, Skip: Boolean);
|
||||
//var
|
||||
//idt: string;
|
||||
|
@ -532,7 +545,7 @@ begin
|
|||
end;
|
||||
end;
|
||||
|
||||
procedure TCEProject.updateOutFilename;
|
||||
procedure TCENativeProject.updateOutFilename;
|
||||
begin
|
||||
fOutputFilename := currentConfiguration.pathsOptions.outputFilename;
|
||||
// field is specified
|
||||
|
@ -573,7 +586,7 @@ begin
|
|||
fCanBeRun := fileExists(fOutputFilename);
|
||||
end;
|
||||
|
||||
function TCEProject.runPrePostProcess(const processInfo: TCompileProcOptions): Boolean;
|
||||
function TCENativeProject.runPrePostProcess(const processInfo: TCompileProcOptions): Boolean;
|
||||
var
|
||||
process: TProcess;
|
||||
pname: string;
|
||||
|
@ -608,7 +621,7 @@ begin
|
|||
end;
|
||||
end;
|
||||
|
||||
function TCEProject.compileProject: Boolean;
|
||||
function TCENativeProject.compileProject: Boolean;
|
||||
var
|
||||
config: TCompilerConfiguration;
|
||||
compilproc: TProcess;
|
||||
|
@ -672,7 +685,7 @@ begin
|
|||
end;
|
||||
end;
|
||||
|
||||
function TCEProject.runProject(const runArgs: string = ''): Boolean;
|
||||
function TCENativeProject.runProject(const runArgs: string = ''): Boolean;
|
||||
var
|
||||
prm: string;
|
||||
i: Integer;
|
||||
|
@ -715,7 +728,7 @@ begin
|
|||
result := true;
|
||||
end;
|
||||
|
||||
procedure TCEProject.runProcOutput(sender: TObject);
|
||||
procedure TCENativeProject.runProcOutput(sender: TObject);
|
||||
var
|
||||
proc: TProcess;
|
||||
lst: TStringList;
|
||||
|
@ -737,7 +750,7 @@ begin
|
|||
getprocInputHandler.removeProcess(proc);
|
||||
end;
|
||||
|
||||
procedure TCEProject.compProcOutput(proc: TProcess);
|
||||
procedure TCENativeProject.compProcOutput(proc: TProcess);
|
||||
var
|
||||
lst: TStringList;
|
||||
str: string;
|
||||
|
@ -755,5 +768,5 @@ begin
|
|||
end;
|
||||
|
||||
initialization
|
||||
RegisterClasses([TCEProject]);
|
||||
RegisterClasses([TCENativeProject]);
|
||||
end.
|
||||
|
|
|
@ -34,7 +34,7 @@ type
|
|||
private
|
||||
fActOpenFile: TAction;
|
||||
fActSelConf: TAction;
|
||||
fProject: TCEProject;
|
||||
fProject: TCENativeProject;
|
||||
fFileNode, fConfNode: TTreeNode;
|
||||
fImpsNode, fInclNode: TTreeNode;
|
||||
fXtraNode: TTreeNode;
|
||||
|
@ -43,11 +43,11 @@ type
|
|||
procedure TreeDblClick(sender: TObject);
|
||||
procedure actOpenFileExecute(sender: TObject);
|
||||
//
|
||||
procedure projNew(aProject: TCEProject);
|
||||
procedure projClosing(aProject: TCEProject);
|
||||
procedure projFocused(aProject: TCEProject);
|
||||
procedure projChanged(aProject: TCEProject);
|
||||
procedure projCompiling(aProject: TCEProject);
|
||||
procedure projNew(aProject: ICECommonProject);
|
||||
procedure projClosing(aProject: ICECommonProject);
|
||||
procedure projFocused(aProject: ICECommonProject);
|
||||
procedure projChanged(aProject: ICECommonProject);
|
||||
procedure projCompiling(aProject: ICECommonProject);
|
||||
protected
|
||||
function contextName: string; override;
|
||||
function contextActionCount: integer; override;
|
||||
|
@ -146,35 +146,41 @@ end;
|
|||
{$ENDREGION}
|
||||
|
||||
{$REGION ICEProjectMonitor -----------------------------------------------------}
|
||||
procedure TCEProjectInspectWidget.projNew(aProject: TCEProject);
|
||||
procedure TCEProjectInspectWidget.projNew(aProject: ICECommonProject);
|
||||
begin
|
||||
fProject := aProject;
|
||||
case aProject.getKind of
|
||||
pkNative: fProject := TCENativeProject(aProject.getProject);
|
||||
pkDub:fProject := nil;
|
||||
end;
|
||||
fLastFileOrFolder := '';
|
||||
if Visible then updateImperative;
|
||||
end;
|
||||
|
||||
procedure TCEProjectInspectWidget.projClosing(aProject: TCEProject);
|
||||
procedure TCEProjectInspectWidget.projClosing(aProject: ICECommonProject);
|
||||
begin
|
||||
if fProject <> aProject then
|
||||
if fProject <> aProject.getProject then
|
||||
exit;
|
||||
fProject := nil;
|
||||
fLastFileOrFolder := '';
|
||||
updateImperative;
|
||||
end;
|
||||
|
||||
procedure TCEProjectInspectWidget.projFocused(aProject: TCEProject);
|
||||
procedure TCEProjectInspectWidget.projFocused(aProject: ICECommonProject);
|
||||
begin
|
||||
fProject := aProject;
|
||||
case aProject.getKind of
|
||||
pkNative: fProject := TCENativeProject(aProject.getProject);
|
||||
pkDub:fProject := nil;
|
||||
end;
|
||||
if Visible then beginDelayedUpdate;
|
||||
end;
|
||||
|
||||
procedure TCEProjectInspectWidget.projChanged(aProject: TCEProject);
|
||||
procedure TCEProjectInspectWidget.projChanged(aProject: ICECommonProject);
|
||||
begin
|
||||
if fProject <> aProject then exit;
|
||||
if fProject <> aProject.getProject then exit;
|
||||
if Visible then beginDelayedUpdate;
|
||||
end;
|
||||
|
||||
procedure TCEProjectInspectWidget.projCompiling(aProject: TCEProject);
|
||||
procedure TCEProjectInspectWidget.projCompiling(aProject: ICECommonProject);
|
||||
begin
|
||||
end;
|
||||
{$ENDREGION}
|
||||
|
|
|
@ -20,17 +20,17 @@ type
|
|||
*)
|
||||
TCESymbolExpander = class(ICEMultiDocObserver, ICEProjectObserver)
|
||||
private
|
||||
fProj: TCEProject;
|
||||
fProj: TCENativeProject;
|
||||
fDoc: TCESynMemo;
|
||||
fNeedUpdate: boolean;
|
||||
fSymbols: array[TCESymbol] of string;
|
||||
procedure updateSymbols;
|
||||
//
|
||||
procedure projNew(aProject: TCEProject);
|
||||
procedure projClosing(aProject: TCEProject);
|
||||
procedure projFocused(aProject: TCEProject);
|
||||
procedure projChanged(aProject: TCEProject);
|
||||
procedure projCompiling(aProject: TCEProject);
|
||||
procedure projNew(aProject: ICECommonProject);
|
||||
procedure projClosing(aProject: ICECommonProject);
|
||||
procedure projFocused(aProject: ICECommonProject);
|
||||
procedure projChanged(aProject: ICECommonProject);
|
||||
procedure projCompiling(aProject: ICECommonProject);
|
||||
//
|
||||
procedure docNew(aDoc: TCESynMemo);
|
||||
procedure docClosing(aDoc: TCESynMemo);
|
||||
|
@ -68,34 +68,40 @@ end;
|
|||
{$ENDREGION}
|
||||
|
||||
{$REGION ICEProjectObserver ----------------------------------------------------}
|
||||
procedure TCESymbolExpander.projNew(aProject: TCEProject);
|
||||
procedure TCESymbolExpander.projNew(aProject: ICECommonProject);
|
||||
begin
|
||||
fProj := aProject;
|
||||
case aProject.getKind of
|
||||
pkNative: fProj := TCENativeProject(aProject.getProject);
|
||||
pkDub:fProj := nil;
|
||||
end;
|
||||
fNeedUpdate := true;
|
||||
end;
|
||||
|
||||
procedure TCESymbolExpander.projClosing(aProject: TCEProject);
|
||||
procedure TCESymbolExpander.projClosing(aProject: ICECommonProject);
|
||||
begin
|
||||
if fProj <> aProject then
|
||||
if fProj <> aProject.getProject then
|
||||
exit;
|
||||
fProj := nil;
|
||||
fNeedUpdate := true;
|
||||
end;
|
||||
|
||||
procedure TCESymbolExpander.projFocused(aProject: TCEProject);
|
||||
procedure TCESymbolExpander.projFocused(aProject: ICECommonProject);
|
||||
begin
|
||||
fProj := aProject;
|
||||
case aProject.getKind of
|
||||
pkNative: fProj := TCENativeProject(aProject.getProject);
|
||||
pkDub:fProj := nil;
|
||||
end;
|
||||
fNeedUpdate := true;
|
||||
end;
|
||||
|
||||
procedure TCESymbolExpander.projChanged(aProject: TCEProject);
|
||||
procedure TCESymbolExpander.projChanged(aProject: ICECommonProject);
|
||||
begin
|
||||
if fProj <> aProject then
|
||||
if fProj <> aProject.getProject then
|
||||
exit;
|
||||
fNeedUpdate := true;
|
||||
end;
|
||||
|
||||
procedure TCESymbolExpander.projCompiling(aProject: TCEProject);
|
||||
procedure TCESymbolExpander.projCompiling(aProject: ICECommonProject);
|
||||
begin
|
||||
end;
|
||||
|
||||
|
|
|
@ -82,7 +82,7 @@ type
|
|||
fToolOutput: TMemoryStream;
|
||||
fAutoRefresh: Boolean;
|
||||
fSingleClick: Boolean;
|
||||
fProj: TCEProject;
|
||||
fProj: TCENativeProject;
|
||||
fDoc: TCESynMemo;
|
||||
fToolProc: TCheckedAsyncProcess;
|
||||
fTodos: TTodoItems;
|
||||
|
@ -94,11 +94,11 @@ type
|
|||
procedure docChanged(aDoc: TCESynMemo);
|
||||
procedure docClosing(aDoc: TCESynMemo);
|
||||
// ICEProjectObserver
|
||||
procedure projNew(aProject: TCEProject);
|
||||
procedure projChanged(aProject: TCEProject);
|
||||
procedure projClosing(aProject: TCEProject);
|
||||
procedure projFocused(aProject: TCEProject);
|
||||
procedure projCompiling(aProject: TCEProject);
|
||||
procedure projNew(aProject: ICECommonProject);
|
||||
procedure projChanged(aProject: ICECommonProject);
|
||||
procedure projClosing(aProject: ICECommonProject);
|
||||
procedure projFocused(aProject: ICECommonProject);
|
||||
procedure projCompiling(aProject: ICECommonProject);
|
||||
// ICEEditableOptions
|
||||
function optionedWantCategory(): string;
|
||||
function optionedWantEditorKind: TOptionEditorKind;
|
||||
|
@ -338,38 +338,43 @@ end;
|
|||
{$ENDREGION}
|
||||
|
||||
{$REGION ICEProjectObserver ----------------------------------------------------}
|
||||
procedure TCETodoListWidget.projNew(aProject: TCEProject);
|
||||
procedure TCETodoListWidget.projNew(aProject: ICECommonProject);
|
||||
begin
|
||||
fProj := aProject;
|
||||
if aProject.getKind <> pkNative then
|
||||
exit;
|
||||
fProj := TCENativeProject(aProject.getProject);
|
||||
end;
|
||||
|
||||
procedure TCETodoListWidget.projChanged(aProject: TCEProject);
|
||||
procedure TCETodoListWidget.projChanged(aProject: ICECommonProject);
|
||||
begin
|
||||
if fProj <> aProject then
|
||||
if fProj <> aProject.getProject then
|
||||
exit;
|
||||
if Visible and fAutoRefresh then
|
||||
callToolProcess;
|
||||
end;
|
||||
|
||||
procedure TCETodoListWidget.projClosing(aProject: TCEProject);
|
||||
procedure TCETodoListWidget.projClosing(aProject: ICECommonProject);
|
||||
begin
|
||||
if fProj <> aProject then
|
||||
if fProj <> aProject.getProject then
|
||||
exit;
|
||||
fProj := nil;
|
||||
if Visible and fAutoRefresh then
|
||||
callToolProcess;
|
||||
end;
|
||||
|
||||
procedure TCETodoListWidget.projFocused(aProject: TCEProject);
|
||||
procedure TCETodoListWidget.projFocused(aProject: ICECommonProject);
|
||||
begin
|
||||
if aProject = fProj then
|
||||
if aProject.getProject = fProj then
|
||||
exit;
|
||||
fProj := aProject;
|
||||
if aProject.getKind <> pkNative then
|
||||
exit;
|
||||
fProj := TCENativeProject(aProject.getProject);
|
||||
|
||||
if Visible and fAutoRefresh then
|
||||
callToolProcess;
|
||||
end;
|
||||
|
||||
procedure TCETodoListWidget.projCompiling(aProject: TCEProject);
|
||||
procedure TCETodoListWidget.projCompiling(aProject: ICECommonProject);
|
||||
begin
|
||||
end;
|
||||
|
||||
|
|
Loading…
Reference in New Issue