mirror of https://gitlab.com/basile.b/dexed.git
prevent widget update when not visible
This commit is contained in:
parent
8fa2a71147
commit
cf5e15b427
|
@ -52,6 +52,7 @@ type
|
||||||
procedure projCompiling(aProject: TCEProject);
|
procedure projCompiling(aProject: TCEProject);
|
||||||
protected
|
protected
|
||||||
procedure UpdateByEvent; override;
|
procedure UpdateByEvent; override;
|
||||||
|
procedure SetVisible(Value: boolean); override;
|
||||||
public
|
public
|
||||||
constructor create(aOwner: TComponent); override;
|
constructor create(aOwner: TComponent); override;
|
||||||
destructor destroy; override;
|
destructor destroy; override;
|
||||||
|
@ -90,6 +91,13 @@ begin
|
||||||
EntitiesConnector.removeObserver(self);
|
EntitiesConnector.removeObserver(self);
|
||||||
inherited;
|
inherited;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TCEProjectConfigurationWidget.SetVisible(Value: boolean);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
if Visible then UpdateByEvent;
|
||||||
|
end;
|
||||||
|
|
||||||
{$ENDREGION --------------------------------------------------------------------}
|
{$ENDREGION --------------------------------------------------------------------}
|
||||||
|
|
||||||
{$REGION ICEProjectObserver ----------------------------------------------------}
|
{$REGION ICEProjectObserver ----------------------------------------------------}
|
||||||
|
@ -97,7 +105,7 @@ procedure TCEProjectConfigurationWidget.projNew(aProject: TCEProject);
|
||||||
begin
|
begin
|
||||||
beginUpdateByEvent;
|
beginUpdateByEvent;
|
||||||
fProj := aProject;
|
fProj := aProject;
|
||||||
endUpdateByEvent;
|
if Visible then UpdateByEvent;
|
||||||
syncroMode := false;
|
syncroMode := false;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
@ -114,18 +122,15 @@ end;
|
||||||
|
|
||||||
procedure TCEProjectConfigurationWidget.projChanged(aProject: TCEProject);
|
procedure TCEProjectConfigurationWidget.projChanged(aProject: TCEProject);
|
||||||
begin
|
begin
|
||||||
if fProj <> aProject then
|
if fProj <> aProject then exit;
|
||||||
exit;
|
|
||||||
beginUpdateByEvent;
|
|
||||||
fProj := aProject;
|
fProj := aProject;
|
||||||
endUpdateByEvent;
|
if Visible then UpdateByEvent;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TCEProjectConfigurationWidget.projFocused(aProject: TCEProject);
|
procedure TCEProjectConfigurationWidget.projFocused(aProject: TCEProject);
|
||||||
begin
|
begin
|
||||||
beginUpdateByEvent;
|
|
||||||
fProj := aProject;
|
fProj := aProject;
|
||||||
endUpdateByEvent;
|
if Visible then UpdateByEvent;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TCEProjectConfigurationWidget.projCompiling(aProject: TCEProject);
|
procedure TCEProjectConfigurationWidget.projCompiling(aProject: TCEProject);
|
||||||
|
@ -359,10 +364,11 @@ var
|
||||||
begin
|
begin
|
||||||
selConf.ItemIndex:= -1;
|
selConf.ItemIndex:= -1;
|
||||||
selConf.Clear;
|
selConf.Clear;
|
||||||
|
if fProj = nil then exit;
|
||||||
|
//
|
||||||
for i:= 0 to fProj.OptionsCollection.Count-1 do
|
for i:= 0 to fProj.OptionsCollection.Count-1 do
|
||||||
selConf.Items.Add(fProj.configuration[i].name);
|
selConf.Items.Add(fProj.configuration[i].name);
|
||||||
selConf.ItemIndex := fProj.ConfigurationIndex;
|
selConf.ItemIndex := fProj.ConfigurationIndex;
|
||||||
|
|
||||||
inspector.TIObject := getGridTarget;
|
inspector.TIObject := getGridTarget;
|
||||||
end;
|
end;
|
||||||
{$ENDREGION --------------------------------------------------------------------}
|
{$ENDREGION --------------------------------------------------------------------}
|
||||||
|
|
|
@ -31,6 +31,7 @@ type
|
||||||
procedure TreeSelectionChanged(Sender: TObject);
|
procedure TreeSelectionChanged(Sender: TObject);
|
||||||
protected
|
protected
|
||||||
procedure UpdateByEvent; override;
|
procedure UpdateByEvent; override;
|
||||||
|
procedure SetVisible(Value: boolean); override;
|
||||||
private
|
private
|
||||||
fActOpenFile: TAction;
|
fActOpenFile: TAction;
|
||||||
fActSelConf: TAction;
|
fActSelConf: TAction;
|
||||||
|
@ -111,6 +112,11 @@ begin
|
||||||
inherited;
|
inherited;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TCEProjectInspectWidget.SetVisible(Value: boolean);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
if Value then UpdateByEvent;
|
||||||
|
end;
|
||||||
{$ENDREGION}
|
{$ENDREGION}
|
||||||
|
|
||||||
{$REGION ICEContextualActions---------------------------------------------------}
|
{$REGION ICEContextualActions---------------------------------------------------}
|
||||||
|
@ -143,7 +149,7 @@ end;
|
||||||
procedure TCEProjectInspectWidget.projNew(aProject: TCEProject);
|
procedure TCEProjectInspectWidget.projNew(aProject: TCEProject);
|
||||||
begin
|
begin
|
||||||
fProject := aProject;
|
fProject := aProject;
|
||||||
UpdateByEvent;
|
if Visible then UpdateByEvent;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TCEProjectInspectWidget.projClosing(aProject: TCEProject);
|
procedure TCEProjectInspectWidget.projClosing(aProject: TCEProject);
|
||||||
|
@ -157,14 +163,13 @@ end;
|
||||||
procedure TCEProjectInspectWidget.projFocused(aProject: TCEProject);
|
procedure TCEProjectInspectWidget.projFocused(aProject: TCEProject);
|
||||||
begin
|
begin
|
||||||
fProject := aProject;
|
fProject := aProject;
|
||||||
UpdateByEvent;
|
if Visible then UpdateByEvent;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TCEProjectInspectWidget.projChanged(aProject: TCEProject);
|
procedure TCEProjectInspectWidget.projChanged(aProject: TCEProject);
|
||||||
begin
|
begin
|
||||||
if fProject <> aProject then
|
if fProject <> aProject then exit;
|
||||||
exit;
|
if Visible then UpdateByEvent;
|
||||||
UpdateByEvent;
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TCEProjectInspectWidget.projCompiling(aProject: TCEProject);
|
procedure TCEProjectInspectWidget.projCompiling(aProject: TCEProject);
|
||||||
|
|
|
@ -76,6 +76,8 @@ type
|
||||||
function contextName: string; override;
|
function contextName: string; override;
|
||||||
function contextActionCount: integer; override;
|
function contextActionCount: integer; override;
|
||||||
function contextAction(index: integer): TAction; override;
|
function contextAction(index: integer): TAction; override;
|
||||||
|
//
|
||||||
|
procedure SetVisible(Value: boolean); override;
|
||||||
published
|
published
|
||||||
property autoRefresh: boolean read fAutoRefresh write fAutoRefresh;
|
property autoRefresh: boolean read fAutoRefresh write fAutoRefresh;
|
||||||
property refreshOnChange: boolean read fRefreshOnChange write fRefreshOnChange;
|
property refreshOnChange: boolean read fRefreshOnChange write fRefreshOnChange;
|
||||||
|
@ -160,6 +162,13 @@ begin
|
||||||
fLogMessager.Free;
|
fLogMessager.Free;
|
||||||
inherited;
|
inherited;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TCEStaticExplorerWidget.SetVisible(Value: boolean);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
if Value then
|
||||||
|
produceJsonInfo;
|
||||||
|
end;
|
||||||
{$ENDREGION}
|
{$ENDREGION}
|
||||||
|
|
||||||
{$REGION ICESessionOptionsObserver ---------------------------------------------}
|
{$REGION ICESessionOptionsObserver ---------------------------------------------}
|
||||||
|
@ -277,6 +286,8 @@ end;
|
||||||
procedure TCEStaticExplorerWidget.docFocused(aDoc: TCESynMemo);
|
procedure TCEStaticExplorerWidget.docFocused(aDoc: TCESynMemo);
|
||||||
begin
|
begin
|
||||||
fDoc := aDoc;
|
fDoc := aDoc;
|
||||||
|
if not Visible then exit;
|
||||||
|
//
|
||||||
if fAutoRefresh then beginUpdateByDelay
|
if fAutoRefresh then beginUpdateByDelay
|
||||||
else if fRefreshOnFocus then produceJsonInfo;
|
else if fRefreshOnFocus then produceJsonInfo;
|
||||||
end;
|
end;
|
||||||
|
@ -284,10 +295,10 @@ end;
|
||||||
procedure TCEStaticExplorerWidget.docChanged(aDoc: TCESynMemo);
|
procedure TCEStaticExplorerWidget.docChanged(aDoc: TCESynMemo);
|
||||||
begin
|
begin
|
||||||
if fDoc <> aDoc then exit;
|
if fDoc <> aDoc then exit;
|
||||||
if fAutoRefresh then
|
if not Visible then exit;
|
||||||
beginUpdateByDelay
|
//
|
||||||
else if fRefreshOnChange then
|
if fAutoRefresh then beginUpdateByDelay
|
||||||
produceJsonInfo;
|
else if fRefreshOnChange then produceJsonInfo;
|
||||||
end;
|
end;
|
||||||
{$ENDREGION}
|
{$ENDREGION}
|
||||||
|
|
||||||
|
|
|
@ -89,6 +89,8 @@ type
|
||||||
procedure lstItemsDoubleClick(sender: TObject);
|
procedure lstItemsDoubleClick(sender: TObject);
|
||||||
procedure btnRefreshClick(sender: TObject);
|
procedure btnRefreshClick(sender: TObject);
|
||||||
procedure filterItems(sender: TObject);
|
procedure filterItems(sender: TObject);
|
||||||
|
protected
|
||||||
|
procedure SetVisible(Value: boolean); override;
|
||||||
public
|
public
|
||||||
constructor create(aOwner: TComponent); override;
|
constructor create(aOwner: TComponent); override;
|
||||||
destructor destroy; override;
|
destructor destroy; override;
|
||||||
|
@ -185,6 +187,14 @@ begin
|
||||||
fLogMessager.Free;
|
fLogMessager.Free;
|
||||||
inherited;
|
inherited;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TCETodoListWidget.SetVisible(Value: boolean);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
if Value then
|
||||||
|
callToolProcess;
|
||||||
|
end;
|
||||||
|
|
||||||
{$ENDREGION}
|
{$ENDREGION}
|
||||||
|
|
||||||
{$REGION ICEMultiDocObserver ---------------------------------------------------}
|
{$REGION ICEMultiDocObserver ---------------------------------------------------}
|
||||||
|
@ -195,6 +205,7 @@ end;
|
||||||
procedure TCETodoListWidget.docFocused(aDoc: TCESynMemo);
|
procedure TCETodoListWidget.docFocused(aDoc: TCESynMemo);
|
||||||
begin
|
begin
|
||||||
fDoc := aDoc;
|
fDoc := aDoc;
|
||||||
|
if Visible then
|
||||||
callToolProcess;
|
callToolProcess;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
@ -220,6 +231,7 @@ end;
|
||||||
procedure TCETodoListWidget.projChanged(aProject: TCEProject);
|
procedure TCETodoListWidget.projChanged(aProject: TCEProject);
|
||||||
begin
|
begin
|
||||||
if fProj <> aProject then exit;
|
if fProj <> aProject then exit;
|
||||||
|
if Visible then
|
||||||
callToolProcess;
|
callToolProcess;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
@ -233,6 +245,7 @@ end;
|
||||||
procedure TCETodoListWidget.projFocused(aProject: TCEProject);
|
procedure TCETodoListWidget.projFocused(aProject: TCEProject);
|
||||||
begin
|
begin
|
||||||
fProj := aProject;
|
fProj := aProject;
|
||||||
|
if Visible then
|
||||||
callToolProcess;
|
callToolProcess;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue