mirror of https://gitlab.com/basile.b/dexed.git
parent
b911e10e93
commit
9bb01032b6
|
@ -7,7 +7,7 @@ interface
|
||||||
uses
|
uses
|
||||||
Classes, SysUtils, TreeFilterEdit, Forms, Controls, Graphics, ExtCtrls, Menus,
|
Classes, SysUtils, TreeFilterEdit, Forms, Controls, Graphics, ExtCtrls, Menus,
|
||||||
ComCtrls, ce_widget, jsonparser, process, actnlist, Buttons, Clipbrd, LCLProc,
|
ComCtrls, ce_widget, jsonparser, process, actnlist, Buttons, Clipbrd, LCLProc,
|
||||||
ce_common, ce_observer, ce_synmemo, ce_interfaces, ce_writableComponent;
|
ce_common, ce_observer, ce_synmemo, ce_interfaces, ce_writableComponent, ce_processes;
|
||||||
|
|
||||||
type
|
type
|
||||||
|
|
||||||
|
@ -116,7 +116,7 @@ type
|
||||||
fOptions: TCESymbolListOptions;
|
fOptions: TCESymbolListOptions;
|
||||||
fSyms: TSymbolList;
|
fSyms: TSymbolList;
|
||||||
fMsgs: ICEMessagesDisplay;
|
fMsgs: ICEMessagesDisplay;
|
||||||
fToolProc: TCheckedAsyncProcess;
|
fToolProc: TCEProcess;
|
||||||
fActCopyIdent: TAction;
|
fActCopyIdent: TAction;
|
||||||
fActRefresh: TAction;
|
fActRefresh: TAction;
|
||||||
fActRefreshOnChange: TAction;
|
fActRefreshOnChange: TAction;
|
||||||
|
@ -131,7 +131,6 @@ type
|
||||||
fSmartFilter: boolean;
|
fSmartFilter: boolean;
|
||||||
fAutoExpandErrors: boolean;
|
fAutoExpandErrors: boolean;
|
||||||
fSortSymbols: boolean;
|
fSortSymbols: boolean;
|
||||||
fToolOutput: TMemoryStream;
|
|
||||||
ndAlias, ndClass, ndEnum, ndFunc, ndUni: TTreeNode;
|
ndAlias, ndClass, ndEnum, ndFunc, ndUni: TTreeNode;
|
||||||
ndImp, ndIntf, ndMix, ndStruct, ndTmp: TTreeNode;
|
ndImp, ndIntf, ndMix, ndStruct, ndTmp: TTreeNode;
|
||||||
ndVar, ndWarn, ndErr: TTreeNode;
|
ndVar, ndWarn, ndErr: TTreeNode;
|
||||||
|
@ -147,7 +146,6 @@ type
|
||||||
//
|
//
|
||||||
procedure checkIfHasToolExe;
|
procedure checkIfHasToolExe;
|
||||||
procedure callToolProc;
|
procedure callToolProc;
|
||||||
procedure toolOutputData(sender: TObject);
|
|
||||||
procedure toolTerminated(sender: TObject);
|
procedure toolTerminated(sender: TObject);
|
||||||
//
|
//
|
||||||
procedure docNew(aDoc: TCESynMemo);
|
procedure docNew(aDoc: TCESynMemo);
|
||||||
|
@ -350,7 +348,6 @@ begin
|
||||||
inherited;
|
inherited;
|
||||||
// allow empty name if owner is nil
|
// allow empty name if owner is nil
|
||||||
fSyms := TSymbolList.create(nil);
|
fSyms := TSymbolList.create(nil);
|
||||||
fToolOutput := TMemoryStream.create;
|
|
||||||
//
|
//
|
||||||
fOptions := TCESymbolListOptions.Create(self);
|
fOptions := TCESymbolListOptions.Create(self);
|
||||||
fOptions.Name:= 'symbolListOptions';
|
fOptions.Name:= 'symbolListOptions';
|
||||||
|
@ -392,7 +389,6 @@ begin
|
||||||
EntitiesConnector.removeObserver(self);
|
EntitiesConnector.removeObserver(self);
|
||||||
//
|
//
|
||||||
killProcess(fToolProc);
|
killProcess(fToolProc);
|
||||||
fToolOutput.free;
|
|
||||||
fSyms.Free;
|
fSyms.Free;
|
||||||
//
|
//
|
||||||
fOptions.saveToFile(getCoeditDocPath + OptsFname);
|
fOptions.saveToFile(getCoeditDocPath + OptsFname);
|
||||||
|
@ -665,12 +661,11 @@ begin
|
||||||
|
|
||||||
// standard process options
|
// standard process options
|
||||||
killProcess(fToolProc);
|
killProcess(fToolProc);
|
||||||
fToolProc := TCheckedAsyncProcess.Create(nil);
|
fToolProc := TCEProcess.Create(nil);
|
||||||
fToolProc.ShowWindow := swoHIDE;
|
fToolProc.ShowWindow := swoHIDE;
|
||||||
fToolProc.Options := [poUsePipes];
|
fToolProc.Options := [poUsePipes];
|
||||||
fToolProc.Executable := exeFullName(toolExeName);
|
fToolProc.Executable := exeFullName(toolExeName);
|
||||||
fToolProc.OnTerminate := @toolTerminated;
|
fToolProc.OnTerminate := @toolTerminated;
|
||||||
fToolProc.OnReadData := @toolOutputData;
|
|
||||||
fToolProc.CurrentDirectory := ExtractFileDir(Application.ExeName);
|
fToolProc.CurrentDirectory := ExtractFileDir(Application.ExeName);
|
||||||
|
|
||||||
// focused source
|
// focused source
|
||||||
|
@ -683,11 +678,6 @@ begin
|
||||||
fToolProc.Execute;
|
fToolProc.Execute;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TCESymbolListWidget.toolOutputData(sender: TObject);
|
|
||||||
begin
|
|
||||||
processOutputToStream(TProcess(sender), fToolOutput);
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TCESymbolListWidget.toolTerminated(sender: TObject);
|
procedure TCESymbolListWidget.toolTerminated(sender: TObject);
|
||||||
//
|
//
|
||||||
function getCatNode(node: TTreeNode; stype: TSymbolType ): TTreeNode;
|
function getCatNode(node: TTreeNode; stype: TSymbolType ): TTreeNode;
|
||||||
|
@ -754,12 +744,10 @@ begin
|
||||||
updateVisibleCat;
|
updateVisibleCat;
|
||||||
if fDoc = nil then exit;
|
if fDoc = nil then exit;
|
||||||
//
|
//
|
||||||
processOutputToStream(TProcess(sender), fToolOutput);
|
|
||||||
fToolOutput.Position := 0;
|
|
||||||
fSyms.LoadFromTool(fToolOutput);
|
|
||||||
fToolProc.OnTerminate := nil;
|
fToolProc.OnTerminate := nil;
|
||||||
fToolProc.OnReadData := nil;
|
fToolProc.OnReadData := nil;
|
||||||
fToolOutput.Clear;
|
fToolProc.OutputStack.Position:=0;
|
||||||
|
fSyms.LoadFromTool(fToolProc.OutputStack);
|
||||||
//
|
//
|
||||||
tree.BeginUpdate;
|
tree.BeginUpdate;
|
||||||
for i := 0 to fSyms.symbols.Count-1 do
|
for i := 0 to fSyms.symbols.Count-1 do
|
||||||
|
|
Loading…
Reference in New Issue