anchordocking: options dlg: fixed enable/disable header options

git-svn-id: trunk@46636 -
This commit is contained in:
mattias 2014-10-21 19:01:50 +00:00
parent caf2e07a74
commit 30ba201a13
2 changed files with 25 additions and 8 deletions

View File

@ -84,8 +84,10 @@ type
procedure UpdateHeaderAlignTopLabel; procedure UpdateHeaderAlignTopLabel;
procedure UpdateHeaderAlignLeftLabel; procedure UpdateHeaderAlignLeftLabel;
procedure UpdateSplitterWidthLabel; procedure UpdateSplitterWidthLabel;
procedure UpdateHeaderOptions;
procedure ApplyFlags; procedure ApplyFlags;
public public
constructor Create(TheOwner: TComponent); override;
procedure SaveToMaster; procedure SaveToMaster;
procedure LoadFromMaster; procedure LoadFromMaster;
procedure SaveToSettings(TheSettings: TAnchorDockSettings); procedure SaveToSettings(TheSettings: TAnchorDockSettings);
@ -95,6 +97,9 @@ type
property Flags: TAnchorDockOptionsFlags read FFlags write SetFlags; property Flags: TAnchorDockOptionsFlags read FFlags write SetFlags;
end; end;
var
DefaultAnchorDockOptionFlags: TAnchorDockOptionsFlags = [];
function ShowAnchorDockOptions(ADockMaster: TAnchorDockMaster): TModalResult; function ShowAnchorDockOptions(ADockMaster: TAnchorDockMaster): TModalResult;
implementation implementation
@ -144,7 +149,7 @@ end;
procedure TAnchorDockOptionsFrame.ShowHeaderCheckBoxChange(Sender: TObject); procedure TAnchorDockOptionsFrame.ShowHeaderCheckBoxChange(Sender: TObject);
begin begin
ApplyFlags; UpdateHeaderOptions;
end; end;
procedure TAnchorDockOptionsFrame.SplitterWidthTrackBarChange(Sender: TObject); procedure TAnchorDockOptionsFrame.SplitterWidthTrackBarChange(Sender: TObject);
@ -189,6 +194,7 @@ begin
if FFlags=AValue then Exit; if FFlags=AValue then Exit;
FFlags:=AValue; FFlags:=AValue;
ApplyFlags; ApplyFlags;
UpdateHeaderOptions;
end; end;
procedure TAnchorDockOptionsFrame.SetSettings(AValue: TAnchorDockSettings); procedure TAnchorDockOptionsFrame.SetSettings(AValue: TAnchorDockSettings);
@ -223,9 +229,18 @@ begin
+' ('+IntToStr(SplitterWidthTrackBar.Position)+')'; +' ('+IntToStr(SplitterWidthTrackBar.Position)+')';
end; end;
procedure TAnchorDockOptionsFrame.ApplyFlags; procedure TAnchorDockOptionsFrame.UpdateHeaderOptions;
var var
HasHeaders: Boolean; HasHeaders: Boolean;
begin
HasHeaders:=ShowHeaderCheckBox.Checked;
ShowHeaderCaptionCheckBox.Enabled:=HasHeaders;
HideHeaderCaptionForFloatingCheckBox.Enabled:=HasHeaders;
FlattenHeaders.Enabled:=HasHeaders;
FilledHeaders.Enabled:=HasHeaders;
end;
procedure TAnchorDockOptionsFrame.ApplyFlags;
begin begin
ShowHeaderCheckBox.Visible:=adofShow_ShowHeader in Flags; ShowHeaderCheckBox.Visible:=adofShow_ShowHeader in Flags;
if ShowHeaderCheckBox.Visible then if ShowHeaderCheckBox.Visible then
@ -233,12 +248,12 @@ begin
else else
ShowHeaderCaptionCheckBox.BorderSpacing.Left:=0; ShowHeaderCaptionCheckBox.BorderSpacing.Left:=0;
SaveLayoutOnCloseCheckBox.Visible:=adofShow_ShowSaveOnClose in Flags; SaveLayoutOnCloseCheckBox.Visible:=adofShow_ShowSaveOnClose in Flags;
end;
HasHeaders:=ShowHeaderCheckBox.Checked; constructor TAnchorDockOptionsFrame.Create(TheOwner: TComponent);
ShowHeaderCaptionCheckBox.Enabled:=HasHeaders; begin
HideHeaderCaptionForFloatingCheckBox.Enabled:=HasHeaders; inherited Create(TheOwner);
FlattenHeaders.Enabled:=HasHeaders; FFlags:=DefaultAnchorDockOptionFlags;
FilledHeaders.Enabled:=HasHeaders;
end; end;
procedure TAnchorDockOptionsFrame.SaveToMaster; procedure TAnchorDockOptionsFrame.SaveToMaster;
@ -332,6 +347,7 @@ begin
ShowHeaderCheckBox.Hint:= ShowHeaderCheckBox.Hint:=
adrsEachDockedWindowHasAHeaderThatAllowsDraggingHasACo; adrsEachDockedWindowHasAHeaderThatAllowsDraggingHasACo;
ShowHeaderCheckBox.Checked:=TheSettings.ShowHeader; ShowHeaderCheckBox.Checked:=TheSettings.ShowHeader;
UpdateHeaderOptions;
ShowHeaderCaptionCheckBox.Caption:=adrsShowHeaderCaptions; ShowHeaderCaptionCheckBox.Caption:=adrsShowHeaderCaptions;
ShowHeaderCaptionCheckBox.Hint:=adrsShowCaptionsOfDockedControlsInTheHeader; ShowHeaderCaptionCheckBox.Hint:=adrsShowCaptionsOfDockedControlsInTheHeader;

View File

@ -234,6 +234,8 @@ end;
constructor TIDEAnchorDockMaster.Create; constructor TIDEAnchorDockMaster.Create;
begin begin
inherited Create; inherited Create;
DefaultAnchorDockOptionFlags:=[adofShow_ShowHeader,adofShow_ShowSaveOnClose];
FSaveOnClose:=true; FSaveOnClose:=true;
IDEAnchorDockMaster:=Self; IDEAnchorDockMaster:=Self;
DockMaster.OnCreateControl:=@DockMasterCreateControl; DockMaster.OnCreateControl:=@DockMasterCreateControl;
@ -657,7 +659,6 @@ begin
OptionsFrame:=TAnchorDockOptionsFrame.Create(Self); OptionsFrame:=TAnchorDockOptionsFrame.Create(Self);
with OptionsFrame do begin with OptionsFrame do begin
Name:='OptionsFrame'; Name:='OptionsFrame';
Flags:=[adofShow_ShowHeader,adofShow_ShowSaveOnClose];
end; end;
end; end;