DockedFormEditor: Remove tab Anchors when disabled per option at runtime.

git-svn-id: trunk@65106 -
This commit is contained in:
michl 2021-05-11 12:19:23 +00:00
parent 730c781eff
commit 5f52e17206
3 changed files with 10 additions and 5 deletions

View File

@ -228,16 +228,12 @@ end;
procedure TDockedTabMaster.OptionsModified;
var
LPageCtrl: TSourcePageControl;
LPageIndex: Integer;
begin
LPageCtrl := SourceWindows.LastActivePageControl;
LPageIndex := LPageCtrl.PageIndex;
DesignForms.RemoveAllAnchorDesigner;
SourceWindows.ShowCodeTabSkipCurrent(nil, nil);
SourceWindows.RefreshAllPageControls;
TDockedMainIDE.EditorActivated(SourceWindows.LastActiveSourceEditor);
if LPageIndex = 0 then Exit;
LPageCtrl.TabIndex := LPageIndex;
LPageCtrl.OnChange(LPageCtrl);
end;

View File

@ -61,6 +61,7 @@ type
function DesignerPageActive: Boolean;
function FormPageActive: Boolean;
procedure RemoveDesignPages;
procedure RemoveTabSheetAnchors;
procedure InitPage;
procedure RefreshResizer;
procedure ShowCode;
@ -240,11 +241,17 @@ end;
procedure TSourcePageControl.RemoveDesignPages;
begin
{$IFDEF DEBUGDOCKEDFORMEDITOR} DebugLn('TSourcePageControls.RemoveDesignPages'); {$ENDIF}
FreeAndNil(FTabSheetAnchors);
RemoveTabSheetAnchors;
FreeAndNil(FTabSheetDesigner);
ShowTabs := False;
end;
procedure TSourcePageControl.RemoveTabSheetAnchors;
begin
if not Assigned(FTabSheetAnchors) then Exit;
FreeAndNil(FTabSheetAnchors);
end;
procedure TSourcePageControl.InitPage;
begin
ShowTabs := PageCount > 1;

View File

@ -435,6 +435,8 @@ begin
begin
LPageCtrl.TabPosition := DockedOptions.TabPosition;
LPageCtrl.RefreshResizer;
if not DockedOptions.AnchorTabVisible then
LPageCtrl.RemoveTabSheetAnchors;
end;
end;