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; procedure TDockedTabMaster.OptionsModified;
var var
LPageCtrl: TSourcePageControl; LPageCtrl: TSourcePageControl;
LPageIndex: Integer;
begin begin
LPageCtrl := SourceWindows.LastActivePageControl; LPageCtrl := SourceWindows.LastActivePageControl;
LPageIndex := LPageCtrl.PageIndex;
DesignForms.RemoveAllAnchorDesigner; DesignForms.RemoveAllAnchorDesigner;
SourceWindows.ShowCodeTabSkipCurrent(nil, nil); SourceWindows.ShowCodeTabSkipCurrent(nil, nil);
SourceWindows.RefreshAllPageControls; SourceWindows.RefreshAllPageControls;
TDockedMainIDE.EditorActivated(SourceWindows.LastActiveSourceEditor); TDockedMainIDE.EditorActivated(SourceWindows.LastActiveSourceEditor);
if LPageIndex = 0 then Exit;
LPageCtrl.TabIndex := LPageIndex;
LPageCtrl.OnChange(LPageCtrl); LPageCtrl.OnChange(LPageCtrl);
end; end;

View File

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

View File

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