mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-10-25 18:01:37 +02:00
anchordocking: options dialog
git-svn-id: trunk@26072 -
This commit is contained in:
parent
923c7a6c81
commit
bc384354dc
@ -383,6 +383,8 @@ type
|
||||
procedure ClearLayoutProperties(AControl: TControl);
|
||||
procedure PopupMenuPopup(Sender: TObject);
|
||||
procedure PopupMenuCloseUp(Sender: TObject);
|
||||
procedure SetShowHeaderCaptionFloatingControl(const AValue: boolean);
|
||||
procedure SetSplitterWidth(const AValue: integer);
|
||||
protected
|
||||
procedure Notification(AComponent: TComponent; Operation: TOperation);
|
||||
override;
|
||||
@ -438,10 +440,10 @@ type
|
||||
property HeaderAlignTop: integer read FHeaderAlignTop write SetHeaderAlignTop default 80; // move header to top, when (width/height)*100<=HeaderAlignTop
|
||||
property HeaderAlignLeft: integer read FHeaderAlignLeft write SetHeaderAlignLeft default 120; // move header to left, when (width/height)*100>=HeaderAlignLeft
|
||||
property HeaderHint: string read FHeaderHint write FHeaderHint;
|
||||
property SplitterWidth: integer read FSplitterWidth write FSplitterWidth default 4;
|
||||
property SplitterWidth: integer read FSplitterWidth write SetSplitterWidth default 4;
|
||||
property ScaleOnResize: boolean read FScaleOnResize write FScaleOnResize default true; // scale children when resizing a site
|
||||
property ShowHeaderCaptionFloatingControl: boolean read FShowHeaderCaptionFloatingControl
|
||||
write FShowHeaderCaptionFloatingControl default false;
|
||||
write SetShowHeaderCaptionFloatingControl default false;
|
||||
property OnCreateControl: TADCreateControlEvent read FOnCreateControl write FOnCreateControl;
|
||||
property AllowDragging: boolean read FAllowDragging write FAllowDragging default true;
|
||||
|
||||
@ -1356,6 +1358,36 @@ begin
|
||||
Popup.Items.Clear;
|
||||
end;
|
||||
|
||||
procedure TAnchorDockMaster.SetShowHeaderCaptionFloatingControl(
|
||||
const AValue: boolean);
|
||||
var
|
||||
Site: TAnchorDockHostSite;
|
||||
i: Integer;
|
||||
begin
|
||||
if AValue=ShowHeaderCaptionFloatingControl then exit;
|
||||
for i:=0 to ComponentCount-1 do begin
|
||||
Site:=TAnchorDockHostSite(Components[i]);
|
||||
if not (Site is TAnchorDockHostSite) then continue;
|
||||
Site.UpdateHeaderShowing;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TAnchorDockMaster.SetSplitterWidth(const AValue: integer);
|
||||
var
|
||||
i: Integer;
|
||||
Splitter: TAnchorDockSplitter;
|
||||
begin
|
||||
if AValue=SplitterWidth then exit;
|
||||
for i:=0 to ComponentCount-1 do begin
|
||||
Splitter:=TAnchorDockSplitter(Components[i]);
|
||||
if not (Splitter is TAnchorDockSplitter) then continue;
|
||||
if Splitter.ResizeAnchor in [akLeft,akRight] then
|
||||
Splitter.Width:=SplitterWidth
|
||||
else
|
||||
Splitter.Height:=SplitterWidth;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TAnchorDockMaster.Notification(AComponent: TComponent;
|
||||
Operation: TOperation);
|
||||
var
|
||||
|
||||
@ -35,7 +35,7 @@ interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, ButtonPanel,
|
||||
Spin, StdCtrls, ComCtrls, AnchorDocking, AnchorDockStr;
|
||||
StdCtrls, ComCtrls, AnchorDocking, AnchorDockStr;
|
||||
|
||||
type
|
||||
|
||||
@ -52,6 +52,7 @@ type
|
||||
ScaleOnResizeCheckBox: TCheckBox;
|
||||
SplitterWidthLabel: TLabel;
|
||||
SplitterWidthTrackBar: TTrackBar;
|
||||
procedure ButtonPanel1Click(Sender: TObject);
|
||||
procedure FormCreate(Sender: TObject);
|
||||
private
|
||||
FMaster: TAnchorDockMaster;
|
||||
@ -84,7 +85,8 @@ end;
|
||||
procedure TAnchorDockOptionsDialog.FormCreate(Sender: TObject);
|
||||
begin
|
||||
DragThresholdLabel.Caption:=adrsDragThreshold;
|
||||
DragThresholdTrackBar.Hint:=adrsAmountOfPixelOfMouseMovementBeforeDragStarts;
|
||||
DragThresholdTrackBar.Hint:=
|
||||
adrsAmountOfPixelTheMouseHasToDragBeforeDragStarts;
|
||||
HeaderAlignTopLabel.Caption:=adrsHeaderAlignTop;
|
||||
HeaderAlignTopTrackBar.Hint:=
|
||||
adrsMoveHeaderToTopWhenWidthHeight100HeaderAlignTop;
|
||||
@ -95,6 +97,18 @@ begin
|
||||
SplitterWidthTrackBar.Hint:=adrsSplitterThickness;
|
||||
ScaleOnResizeCheckBox.Caption:=adrsScaleOnResize;
|
||||
ScaleOnResizeCheckBox.Hint:=adrsScaleSubSitesWhenASiteIsResized;
|
||||
|
||||
ButtonPanel1.OKButton.ModalResult:=mrNone;
|
||||
ButtonPanel1.OKButton.OnClick:=@ButtonPanel1Click;
|
||||
end;
|
||||
|
||||
procedure TAnchorDockOptionsDialog.ButtonPanel1Click(Sender: TObject);
|
||||
begin
|
||||
Master.DragTreshold := DragThresholdTrackBar.Position;
|
||||
Master.HeaderAlignTop := HeaderAlignTopTrackBar.Position;
|
||||
Master.HeaderAlignLeft := HeaderAlignLeftTrackBar.Position;
|
||||
Master.SplitterWidth := SplitterWidthTrackBar.Position;
|
||||
Master.ScaleOnResize := ScaleOnResizeCheckBox.Checked;
|
||||
end;
|
||||
|
||||
procedure TAnchorDockOptionsDialog.SetMaster(const AValue: TAnchorDockMaster);
|
||||
|
||||
@ -7,7 +7,8 @@ unit anchordockpkg;
|
||||
interface
|
||||
|
||||
uses
|
||||
AnchorDocking, AnchorDockStorage, AnchorDockStr, LazarusPackageIntf;
|
||||
AnchorDocking, AnchorDockStorage, AnchorDockStr, AnchorDockOptionsDlg,
|
||||
LazarusPackageIntf;
|
||||
|
||||
implementation
|
||||
|
||||
|
||||
@ -72,6 +72,20 @@ resourcestring
|
||||
+'only one site.';
|
||||
adrsEmptyName = 'Empty name: ';
|
||||
adrsDuplicateName = 'Duplicate name: ';
|
||||
adrsDragThreshold = 'Drag threshold';
|
||||
adrsAmountOfPixelTheMouseHasToDragBeforeDragStarts = 'Amount of pixel the '
|
||||
+'mouse has to drag before drag starts';
|
||||
adrsHeaderAlignTop = 'Header align top';
|
||||
adrsMoveHeaderToTopWhenWidthHeight100HeaderAlignTop = 'Move header to top '
|
||||
+'when (Width/Height)*100<=HeaderAlignTop';
|
||||
adrsHeaderAlignLeft = 'Header align left';
|
||||
adrsMoveHeaderToLeftWhenWidthHeight100HeaderAlignLeft = 'Move header to '
|
||||
+'left when (Width/Height)*100>=HeaderAlignLeft';
|
||||
adrsSplitterWidth = 'Splitter width';
|
||||
adrsSplitterThickness = 'Splitter thickness';
|
||||
adrsScaleOnResize = 'Scale on resize';
|
||||
adrsScaleSubSitesWhenASiteIsResized =
|
||||
'Scale sub sites when a site is resized';
|
||||
|
||||
implementation
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user