reorganized interfaces, visibility, added projCompiling

This commit is contained in:
Basile Burg 2015-01-11 14:38:47 +01:00
parent 148c7729a9
commit d776f77d7f
12 changed files with 103 additions and 58 deletions

View File

@ -41,6 +41,7 @@ type
procedure projClosing(aProject: TCEProject);
procedure projFocused(aProject: TCEProject);
procedure projChanged(aProject: TCEProject);
procedure projCompiling(aProject: TCEProject);
end;
implementation
@ -89,6 +90,10 @@ end;
procedure TCECdbWidget.projChanged(aProject: TCEProject);
begin
end;
procedure TCECdbWidget.projCompiling(aProject: TCEProject);
begin
end;
{$ENDREGION --------------------------------------------------------------------}
procedure TCECdbWidget.btnStartClick(Sender: TObject);

View File

@ -30,6 +30,7 @@ type
procedure projChanged(aProject: TCEProject);
procedure projClosing(aProject: TCEProject);
procedure projFocused(aProject: TCEProject);
procedure projCompiling(aProject: TCEProject);
//
procedure docNew(aDoc: TCESynMemo);
procedure docFocused(aDoc: TCESynMemo);
@ -130,6 +131,10 @@ procedure TCEDcdWrapper.projFocused(aProject: TCEProject);
begin
fProj := aProject;
end;
procedure TCEDcdWrapper.projCompiling(aProject: TCEProject);
begin
end;
{$ENDREGION}
{$REGION ICEMultiDocObserver ---------------------------------------------------}

View File

@ -82,8 +82,10 @@ type
procedure projChanged(aProject: TCEProject);
// aProject is about to be closed.
procedure projClosing(aProject: TCEProject);
// not used yet: the active project is now aProject
// not called yet: aProject is always the same
procedure projFocused(aProject: TCEProject);
// aProject is about to be compiled
procedure projCompiling(aProject: TCEProject);
end;
(**
* An implementer informs some ICEProjectObserver about the current project(s)
@ -188,7 +190,7 @@ type
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}
(**
* TCESessionOptionsSubject primitives.
*)
@ -282,6 +284,14 @@ begin
with aSubject do for i:= 0 to fObservers.Count-1 do
(fObservers.Items[i] as ICEProjectObserver).projChanged(aProj);
end;
procedure subjProjCompiling(aSubject: TCEProjectSubject; aProj: TCEProject);
var
i: Integer;
begin
with aSubject do for i:= 0 to fObservers.Count-1 do
(fObservers.Items[i] as ICEProjectObserver).projCompiling(aProj);
end;
{$ENDREGION}
{$REGION TCESessionOptionsSubject ----------------------------------------------}

View File

@ -68,6 +68,23 @@ type
procedure optget_MaxMessageCount(awriter: TWriter);
procedure optset_AutoSelect(aReader: TReader);
procedure optget_AutoSelect(awriter: TWriter);
//
procedure projNew(aProject: TCEProject);
procedure projClosing(aProject: TCEProject);
procedure projFocused(aProject: TCEProject);
procedure projChanged(aProject: TCEProject);
procedure projCompiling(aProject: TCEProject);
//
procedure docNew(aDoc: TCESynMemo);
procedure docClosing(aDoc: TCESynMemo);
procedure docFocused(aDoc: TCESynMemo);
procedure docChanged(aDoc: TCESynMemo);
protected
procedure sesoptDeclareProperties(aFiler: TFiler); override;
//
function contextName: string; override;
function contextActionCount: integer; override;
function contextAction(index: integer): TAction; override;
published
property maxMessageCount: Integer read fMaxMessCnt write setMaxMessageCount default 125;
public
@ -76,22 +93,6 @@ type
//
procedure scrollToBack;
//
procedure sesoptDeclareProperties(aFiler: TFiler); override;
//
function contextName: string; override;
function contextActionCount: integer; override;
function contextAction(index: integer): TAction; override;
//
procedure projNew(aProject: TCEProject);
procedure projClosing(aProject: TCEProject);
procedure projFocused(aProject: TCEProject);
procedure projChanged(aProject: TCEProject);
//
procedure docNew(aDoc: TCESynMemo);
procedure docClosing(aDoc: TCESynMemo);
procedure docFocused(aDoc: TCESynMemo);
procedure docChanged(aDoc: TCESynMemo);
//
procedure lmFromString(const aValue: string; aData: Pointer; aCtxt: TCEAppMessageCtxt; aKind: TCEAppMessageKind);
procedure lmClearbyContext(aCtxt: TCEAppMessageCtxt);
procedure lmClearbyData(aData: Pointer);
@ -370,6 +371,10 @@ end;
procedure TCEMessagesWidget.projChanged(aProject: TCEProject);
begin
end;
procedure TCEMessagesWidget.projCompiling(aProject: TCEProject);
begin
end;
{$ENDREGION}
{$REGION ICEMultiDocObserver ---------------------------------------------------}

View File

@ -44,16 +44,17 @@ type
function syncroSetPropAsString(const ASection, Item, Default: string): string;
procedure syncroGetPropAsString(const ASection, Item, Value: string);
property syncroMode: boolean read fSyncroMode write setSyncroMode;
protected
procedure UpdateByEvent; override;
public
constructor create(aOwner: TComponent); override;
destructor destroy; override;
//
procedure projNew(aProject: TCEProject);
procedure projClosing(aProject: TCEProject);
procedure projChanged(aProject: TCEProject);
procedure projFocused(aProject: TCEProject);
procedure projCompiling(aProject: TCEProject);
protected
procedure UpdateByEvent; override;
public
constructor create(aOwner: TComponent); override;
destructor destroy; override;
end;
implementation
@ -126,6 +127,10 @@ begin
fProj := aProject;
endUpdateByEvent;
end;
procedure TCEProjectConfigurationWidget.projCompiling(aProject: TCEProject);
begin
end;
{$ENDREGION --------------------------------------------------------------------}
{$REGION config. things --------------------------------------------------------}

View File

@ -537,6 +537,7 @@ begin
end;
//
subjLmClearByData(TCELogMessageSubject(fLogMessager), Self);
subjProjCompiling(TCEProjectSubject(fProjectSubject), Self);
//
if not runPrePostProcess(config.preBuildProcess) then
subjLmFromString(TCELogMessageSubject(fLogMessager),

View File

@ -41,18 +41,19 @@ type
procedure actUpdate(sender: TObject);
procedure TreeDblClick(sender: TObject);
procedure actOpenFileExecute(sender: TObject);
public
constructor create(aOwner: TComponent); override;
destructor destroy; override;
//
procedure projNew(aProject: TCEProject);
procedure projClosing(aProject: TCEProject);
procedure projFocused(aProject: TCEProject);
procedure projChanged(aProject: TCEProject);
//
procedure projCompiling(aProject: TCEProject);
protected
function contextName: string; override;
function contextActionCount: integer; override;
function contextAction(index: integer): TAction; override;
public
constructor create(aOwner: TComponent); override;
destructor destroy; override;
end;
implementation
@ -165,6 +166,10 @@ begin
exit;
UpdateByEvent;
end;
procedure TCEProjectInspectWidget.projCompiling(aProject: TCEProject);
begin
end;
{$ENDREGION}
{$REGION Insêctor things -------------------------------------------------------}

View File

@ -57,8 +57,25 @@ type
procedure optset_RefreshOnChange(aReader: TReader);
procedure optget_RefreshOnFocus(aWriter: TWriter);
procedure optset_RefreshOnFocus(aReader: TReader);
//
procedure docNew(aDoc: TCESynMemo);
procedure docClosing(aDoc: TCESynMemo);
procedure docFocused(aDoc: TCESynMemo);
procedure docChanged(aDoc: TCESynMemo);
//
procedure projNew(aProject: TCEProject);
procedure projClosing(aProject: TCEProject);
procedure projFocused(aProject: TCEProject);
procedure projChanged(aProject: TCEProject);
procedure projCompiling(aProject: TCEProject);
protected
procedure UpdateByDelay; override;
//
procedure sesoptDeclareProperties(aFiler: TFiler); override;
//
function contextName: string; override;
function contextActionCount: integer; override;
function contextAction(index: integer): TAction; override;
published
property autoRefresh: boolean read fAutoRefresh write fAutoRefresh;
property refreshOnChange: boolean read fRefreshOnChange write fRefreshOnChange;
@ -66,22 +83,6 @@ type
public
constructor create(aOwner: TComponent); override;
destructor destroy; override;
//
procedure docNew(aDoc: TCESynMemo);
procedure docClosing(aDoc: TCESynMemo);
procedure docFocused(aDoc: TCESynMemo);
procedure docChanged(aDoc: TCESynMemo);
//
function contextName: string; override;
function contextActionCount: integer; override;
function contextAction(index: integer): TAction; override;
//
procedure projNew(aProject: TCEProject);
procedure projClosing(aProject: TCEProject);
procedure projFocused(aProject: TCEProject);
procedure projChanged(aProject: TCEProject);
//
procedure sesoptDeclareProperties(aFiler: TFiler); override;
end;
implementation
@ -311,6 +312,10 @@ end;
procedure TCEStaticExplorerWidget.projChanged(aProject: TCEProject);
begin
end;
procedure TCEStaticExplorerWidget.projCompiling(aProject: TCEProject);
begin
end;
{$ENDREGION}
{$REGION Symbol-tree things ----------------------------------------------------}

View File

@ -24,19 +24,20 @@ type
fDoc: TCESynMemo;
fSymbols: array[TCESymbol] of string;
procedure updateSymbols;
public
constructor create;
destructor destroy; override;
//
procedure projNew(aProject: TCEProject);
procedure projClosing(aProject: TCEProject);
procedure projFocused(aProject: TCEProject);
procedure projChanged(aProject: TCEProject);
procedure projCompiling(aProject: TCEProject);
//
procedure docNew(aDoc: TCESynMemo);
procedure docClosing(aDoc: TCESynMemo);
procedure docFocused(aDoc: TCESynMemo);
procedure docChanged(aDoc: TCESynMemo);
public
constructor create;
destructor destroy; override;
// expands the symbols contained in symString
function get(const symString: string): string;
end;
@ -83,6 +84,10 @@ procedure TCESymbolExpander.projChanged(aProject: TCEProject);
begin
if fProj <> aProject then exit;
end;
procedure TCESymbolExpander.projCompiling(aProject: TCEProject);
begin
end;
{$ENDREGION}
{$REGION ICEMultiDocObserver ---------------------------------------------------}

View File

@ -1,7 +1,7 @@
inherited CEToolsEditorWidget: TCEToolsEditorWidget
Left = 1428
Left = 1143
Height = 280
Top = 345
Top = 343
Width = 441
Caption = 'Tools editor'
ClientHeight = 280

View File

@ -9,7 +9,7 @@ object CEWidget: TCEWidget
ClientWidth = 332
ShowHint = True
ShowInTaskBar = stNever
LCLVersion = '1.2.4.0'
LCLVersion = '1.2.6.0'
object Back: TPanel
Left = 0
Height = 121

View File

@ -42,7 +42,14 @@ type
procedure UpdateByEvent; virtual;
// a descendant overrides to implement a delayed update event.
procedure UpdateByDelay; virtual;
// May be used for appplication options
//
function contextName: string; virtual;
function contextActionCount: integer; virtual;
function contextAction(index: integer): TAction; virtual;
//
procedure sesoptBeforeSave; virtual;
procedure sesoptDeclareProperties(aFiler: TFiler); virtual;
procedure sesoptAfterLoad; virtual;
published
property updaterByLoopInterval: Integer read fLoopInter write setLoopInt;
property updaterByDelayDuration: Integer read fDelayDur write setDelayDur;
@ -65,14 +72,6 @@ type
// immediate call 'UpdateByEvent'
procedure forceUpdateByEvent;
//
function contextName: string; virtual;
function contextActionCount: integer; virtual;
function contextAction(index: integer): TAction; virtual;
//
procedure sesoptBeforeSave; virtual;
procedure sesoptDeclareProperties(aFiler: TFiler); virtual;
procedure sesoptAfterLoad; virtual;
//
// returns true if one of the three updater is processing.
property updating: boolean read fUpdating;
end;