mirror of https://gitlab.com/basile.b/dexed.git
messages rewrite using internal observer system 1
This commit is contained in:
parent
dc2db7676b
commit
7bda6d3e46
|
@ -138,13 +138,15 @@ type
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/// describes the message kind, when Auto implies that a ICELogMessageObserver guess the kind.
|
/// describes the message kind, when Auto implies that a ICELogMessageObserver guess the kind.
|
||||||
TCEAppMessageKind = (amkAuto, amkBub, amkInf, amkWarn, amkErr);
|
TCEAppMessageKind = (amkAuto, amkBub, amkInf, amkWarn, amkErr);
|
||||||
/// describes the message context. Used by a ICELogMessageObserver to filter the messages.
|
/// describes the message context. Used by a ICELogMessageObserver to filter the messages.
|
||||||
TCEAppMessageCtxt = (amcApp, amcTool, amcProj, amcEdit);
|
TCEAppMessageCtxt = (amcApp, amcTool, amcProj, amcEdit);
|
||||||
|
|
||||||
(**
|
(**
|
||||||
* An implementer get some log messages.
|
* An implementer gets some log messages.
|
||||||
|
* AData: either an editor or a project, according to aCtxt.
|
||||||
*)
|
*)
|
||||||
ICELogMessageObserver = interface
|
ICELogMessageObserver = interface
|
||||||
['ICEMessage']
|
['ICEMessage']
|
||||||
|
@ -177,7 +179,6 @@ type
|
||||||
procedure subjDocFocused(aSubject: TCEMultiDocSubject; aDoc: TCESynMemo); {$IFDEF RELEASE}inline;{$ENDIF}
|
procedure subjDocFocused(aSubject: TCEMultiDocSubject; aDoc: TCESynMemo); {$IFDEF RELEASE}inline;{$ENDIF}
|
||||||
procedure subjDocChanged(aSubject: TCEMultiDocSubject; aDoc: TCESynMemo); {$IFDEF RELEASE}inline;{$ENDIF}
|
procedure subjDocChanged(aSubject: TCEMultiDocSubject; aDoc: TCESynMemo); {$IFDEF RELEASE}inline;{$ENDIF}
|
||||||
|
|
||||||
|
|
||||||
(**
|
(**
|
||||||
* TCEProjectSubject primitives.
|
* TCEProjectSubject primitives.
|
||||||
*)
|
*)
|
||||||
|
@ -197,13 +198,13 @@ type
|
||||||
* TCELogMessageSubject primitives.
|
* TCELogMessageSubject primitives.
|
||||||
*)
|
*)
|
||||||
procedure subjLmStandard(aSubject: TCELogMessageSubject; const aValue: string;
|
procedure subjLmStandard(aSubject: TCELogMessageSubject; const aValue: string;
|
||||||
aData: Pointer; aCtxt: TCEAppMessageCtxt; aKind: TCEAppMessageKind);
|
aData: Pointer; aCtxt: TCEAppMessageCtxt; aKind: TCEAppMessageKind); {$IFDEF RELEASE}inline;{$ENDIF}
|
||||||
procedure subjLmProcess(aSubject: TCELogMessageSubject; const aValue: TProcess;
|
procedure subjLmProcess(aSubject: TCELogMessageSubject; const aValue: TProcess;
|
||||||
aData: Pointer; aCtxt: TCEAppMessageCtxt; aKind: TCEAppMessageKind);
|
aData: Pointer; aCtxt: TCEAppMessageCtxt; aKind: TCEAppMessageKind); {$IFDEF RELEASE}inline;{$ENDIF}
|
||||||
|
|
||||||
implementation
|
implementation
|
||||||
|
|
||||||
{$REGION TCEMultiDocSubject-----------------------------------------------------}
|
{$REGION TCEMultiDocSubject ----------------------------------------------------}
|
||||||
function TCEMultiDocSubject.acceptObserver(aObject: TObject): boolean;
|
function TCEMultiDocSubject.acceptObserver(aObject: TObject): boolean;
|
||||||
begin
|
begin
|
||||||
exit(aObject is ICEMultiDocObserver);
|
exit(aObject is ICEMultiDocObserver);
|
||||||
|
@ -242,7 +243,7 @@ begin
|
||||||
end;
|
end;
|
||||||
{$ENDREGION}
|
{$ENDREGION}
|
||||||
|
|
||||||
{$REGION TCEProjectSubject------------------------------------------------------}
|
{$REGION TCEProjectSubject -----------------------------------------------------}
|
||||||
function TCEProjectSubject.acceptObserver(aObject: TObject): boolean;
|
function TCEProjectSubject.acceptObserver(aObject: TObject): boolean;
|
||||||
begin
|
begin
|
||||||
exit(aObject is ICEProjectObserver);
|
exit(aObject is ICEProjectObserver);
|
||||||
|
@ -281,7 +282,7 @@ begin
|
||||||
end;
|
end;
|
||||||
{$ENDREGION}
|
{$ENDREGION}
|
||||||
|
|
||||||
{$REGION TCESessionOptionsSubject-----------------------------------------------}
|
{$REGION TCESessionOptionsSubject ----------------------------------------------}
|
||||||
function TCESessionOptionsSubject.acceptObserver(aObject: TObject): boolean;
|
function TCESessionOptionsSubject.acceptObserver(aObject: TObject): boolean;
|
||||||
begin
|
begin
|
||||||
exit(aObject is ICESessionOptionsObserver);
|
exit(aObject is ICESessionOptionsObserver);
|
||||||
|
@ -312,21 +313,21 @@ begin
|
||||||
end;
|
end;
|
||||||
{$ENDREGION}
|
{$ENDREGION}
|
||||||
|
|
||||||
{$REGION TCEMainMenuSubject}
|
{$REGION TCEMainMenuSubject ----------------------------------------------------}
|
||||||
function TCEMainMenuSubject.acceptObserver(aObject: TObject): boolean;
|
function TCEMainMenuSubject.acceptObserver(aObject: TObject): boolean;
|
||||||
begin
|
begin
|
||||||
exit(aObject is ICEMainMenuProvider);
|
exit(aObject is ICEMainMenuProvider);
|
||||||
end;
|
end;
|
||||||
{$ENDREGION}
|
{$ENDREGION}
|
||||||
|
|
||||||
{$REGION TCEEditableShortCutSubject}
|
{$REGION TCEEditableShortCutSubject --------------------------------------------}
|
||||||
function TCEEditableShortCutSubject.acceptObserver(aObject: TObject): boolean;
|
function TCEEditableShortCutSubject.acceptObserver(aObject: TObject): boolean;
|
||||||
begin
|
begin
|
||||||
exit(aObject is ICEEditableShortCut);
|
exit(aObject is ICEEditableShortCut);
|
||||||
end;
|
end;
|
||||||
{$ENDREGION}
|
{$ENDREGION}
|
||||||
|
|
||||||
{$REGION TCELogMessageSubject}
|
{$REGION TCELogMessageSubject --------------------------------------------------}
|
||||||
function TCELogMessageSubject.acceptObserver(aObject: TObject): boolean;
|
function TCELogMessageSubject.acceptObserver(aObject: TObject): boolean;
|
||||||
begin
|
begin
|
||||||
exit(aObject is ICELogMessageObserver);
|
exit(aObject is ICELogMessageObserver);
|
||||||
|
|
|
@ -329,6 +329,7 @@ begin
|
||||||
amkWarn:addCeWarn(aValue);
|
amkWarn:addCeWarn(aValue);
|
||||||
amkErr: addCeErr(aValue);
|
amkErr: addCeErr(aValue);
|
||||||
end;
|
end;
|
||||||
|
Application.ProcessMessages;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TCEMessagesWidget.lmProcess(const aValue: TProcess; aData: Pointer;
|
procedure TCEMessagesWidget.lmProcess(const aValue: TProcess; aData: Pointer;
|
||||||
|
@ -342,6 +343,7 @@ begin
|
||||||
TAsyncProcess(aValue).OnTerminate := @processTerminate;
|
TAsyncProcess(aValue).OnTerminate := @processTerminate;
|
||||||
end else
|
end else
|
||||||
logProcessOutput(aValue);
|
logProcessOutput(aValue);
|
||||||
|
Application.ProcessMessages;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TCEMessagesWidget.processOutput(Sender: TObject);
|
procedure TCEMessagesWidget.processOutput(Sender: TObject);
|
||||||
|
|
Loading…
Reference in New Issue