mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-17 03:49:30 +02:00
anchordocking: started options dialog
git-svn-id: trunk@26071 -
This commit is contained in:
parent
797f804dc4
commit
923c7a6c81
2
.gitattributes
vendored
2
.gitattributes
vendored
@ -2749,6 +2749,8 @@ examples/affinetransforms/unit1.pas svneol=native#text/plain
|
||||
examples/anchordocking/README.txt svneol=native#text/plain
|
||||
examples/anchordocking/anchordocking.lpk svneol=native#text/plain
|
||||
examples/anchordocking/anchordocking.pas svneol=native#text/plain
|
||||
examples/anchordocking/anchordockoptionsdlg.lfm svneol=native#text/plain
|
||||
examples/anchordocking/anchordockoptionsdlg.pas svneol=native#text/plain
|
||||
examples/anchordocking/anchordockpkg.pas svneol=native#text/plain
|
||||
examples/anchordocking/anchordockstorage.pas svneol=native#text/plain
|
||||
examples/anchordocking/anchordockstr.pas svneol=native#text/plain
|
||||
|
@ -22,7 +22,7 @@
|
||||
<License Value="modified LGPL-2 like LCL
|
||||
"/>
|
||||
<Version Minor="5"/>
|
||||
<Files Count="5">
|
||||
<Files Count="6">
|
||||
<Item1>
|
||||
<Filename Value="anchordockpkg.pas"/>
|
||||
<Type Value="Main Unit"/>
|
||||
@ -44,6 +44,10 @@
|
||||
<Filename Value="README.txt"/>
|
||||
<Type Value="Text"/>
|
||||
</Item5>
|
||||
<Item6>
|
||||
<Filename Value="anchordockoptionsdlg.pas"/>
|
||||
<UnitName Value="anchordockoptionsdlg"/>
|
||||
</Item6>
|
||||
</Files>
|
||||
<Type Value="RunAndDesignTime"/>
|
||||
<RequiredPkgs Count="2">
|
||||
|
149
examples/anchordocking/anchordockoptionsdlg.lfm
Normal file
149
examples/anchordocking/anchordockoptionsdlg.lfm
Normal file
@ -0,0 +1,149 @@
|
||||
object AnchorDockOptionsDialog: TAnchorDockOptionsDialog
|
||||
Left = 595
|
||||
Height = 220
|
||||
Top = 319
|
||||
Width = 404
|
||||
Caption = 'AnchorDockOptionsDialog'
|
||||
ClientHeight = 220
|
||||
ClientWidth = 404
|
||||
OnCreate = FormCreate
|
||||
LCLVersion = '0.9.29'
|
||||
object ButtonPanel1: TButtonPanel
|
||||
Left = 6
|
||||
Height = 42
|
||||
Top = 172
|
||||
Width = 392
|
||||
TabOrder = 0
|
||||
ShowButtons = [pbOK, pbCancel]
|
||||
end
|
||||
object DragThresholdLabel: TLabel
|
||||
Left = 10
|
||||
Height = 18
|
||||
Top = 10
|
||||
Width = 131
|
||||
Caption = 'DragThresholdLabel'
|
||||
ParentColor = False
|
||||
end
|
||||
object HeaderAlignTopLabel: TLabel
|
||||
AnchorSideLeft.Control = DragThresholdLabel
|
||||
AnchorSideTop.Control = DragThresholdLabel
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 10
|
||||
Height = 18
|
||||
Top = 38
|
||||
Width = 138
|
||||
BorderSpacing.Top = 10
|
||||
Caption = 'HeaderAlignTopLabel'
|
||||
ParentColor = False
|
||||
end
|
||||
object HeaderAlignLeftLabel: TLabel
|
||||
AnchorSideLeft.Control = DragThresholdLabel
|
||||
AnchorSideTop.Control = HeaderAlignTopLabel
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 10
|
||||
Height = 18
|
||||
Top = 66
|
||||
Width = 141
|
||||
BorderSpacing.Top = 10
|
||||
Caption = 'HeaderAlignLeftLabel'
|
||||
ParentColor = False
|
||||
end
|
||||
object SplitterWidthLabel: TLabel
|
||||
AnchorSideLeft.Control = DragThresholdLabel
|
||||
AnchorSideTop.Control = HeaderAlignLeftLabel
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 10
|
||||
Height = 18
|
||||
Top = 94
|
||||
Width = 121
|
||||
BorderSpacing.Top = 10
|
||||
Caption = 'SplitterWidthLabel'
|
||||
ParentColor = False
|
||||
end
|
||||
object ScaleOnResizeCheckBox: TCheckBox
|
||||
AnchorSideLeft.Control = DragThresholdLabel
|
||||
AnchorSideTop.Control = SplitterWidthLabel
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 10
|
||||
Height = 22
|
||||
Top = 122
|
||||
Width = 188
|
||||
BorderSpacing.Top = 10
|
||||
Caption = 'ScaleOnResizeCheckBox'
|
||||
ParentShowHint = False
|
||||
ShowHint = True
|
||||
TabOrder = 1
|
||||
end
|
||||
object DragThresholdTrackBar: TTrackBar
|
||||
AnchorSideTop.Control = DragThresholdLabel
|
||||
AnchorSideTop.Side = asrCenter
|
||||
AnchorSideRight.Control = Owner
|
||||
AnchorSideRight.Side = asrBottom
|
||||
Left = 188
|
||||
Height = 25
|
||||
Top = 7
|
||||
Width = 206
|
||||
Max = 20
|
||||
Position = 0
|
||||
Anchors = [akTop, akRight]
|
||||
BorderSpacing.Right = 10
|
||||
ParentShowHint = False
|
||||
ShowHint = True
|
||||
TabOrder = 2
|
||||
end
|
||||
object HeaderAlignTopTrackBar: TTrackBar
|
||||
AnchorSideLeft.Control = DragThresholdTrackBar
|
||||
AnchorSideTop.Control = HeaderAlignTopLabel
|
||||
AnchorSideTop.Side = asrCenter
|
||||
AnchorSideRight.Control = DragThresholdTrackBar
|
||||
AnchorSideRight.Side = asrBottom
|
||||
Left = 188
|
||||
Height = 25
|
||||
Top = 35
|
||||
Width = 206
|
||||
Frequency = 10
|
||||
Max = 150
|
||||
PageSize = 10
|
||||
Position = 0
|
||||
Anchors = [akTop, akLeft, akRight]
|
||||
ParentShowHint = False
|
||||
ShowHint = True
|
||||
TabOrder = 3
|
||||
end
|
||||
object HeaderAlignLeftTrackBar: TTrackBar
|
||||
AnchorSideLeft.Control = DragThresholdTrackBar
|
||||
AnchorSideTop.Control = HeaderAlignLeftLabel
|
||||
AnchorSideTop.Side = asrCenter
|
||||
AnchorSideRight.Control = DragThresholdTrackBar
|
||||
AnchorSideRight.Side = asrBottom
|
||||
Left = 188
|
||||
Height = 25
|
||||
Top = 63
|
||||
Width = 206
|
||||
Frequency = 10
|
||||
Max = 200
|
||||
PageSize = 10
|
||||
Position = 0
|
||||
Anchors = [akTop, akLeft, akRight]
|
||||
ParentShowHint = False
|
||||
ShowHint = True
|
||||
TabOrder = 4
|
||||
end
|
||||
object SplitterWidthTrackBar: TTrackBar
|
||||
AnchorSideLeft.Control = DragThresholdTrackBar
|
||||
AnchorSideTop.Control = SplitterWidthLabel
|
||||
AnchorSideTop.Side = asrCenter
|
||||
AnchorSideRight.Control = DragThresholdTrackBar
|
||||
AnchorSideRight.Side = asrBottom
|
||||
Left = 188
|
||||
Height = 25
|
||||
Top = 91
|
||||
Width = 206
|
||||
Min = 1
|
||||
Position = 1
|
||||
Anchors = [akTop, akLeft, akRight]
|
||||
ParentShowHint = False
|
||||
ShowHint = True
|
||||
TabOrder = 5
|
||||
end
|
||||
end
|
114
examples/anchordocking/anchordockoptionsdlg.pas
Normal file
114
examples/anchordocking/anchordockoptionsdlg.pas
Normal file
@ -0,0 +1,114 @@
|
||||
{ Unit implementing anchor docking.
|
||||
|
||||
Copyright (C) 2010 Mattias Gaertner mattias@freepascal.org
|
||||
|
||||
This library is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU Library General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or (at your
|
||||
option) any later version with the following modification:
|
||||
|
||||
As a special exception, the copyright holders of this library give you
|
||||
permission to link this library with independent modules to produce an
|
||||
executable, regardless of the license terms of these independent modules,and
|
||||
to copy and distribute the resulting executable under terms of your choice,
|
||||
provided that you also meet, for each linked independent module, the terms
|
||||
and conditions of the license of that module. An independent module is a
|
||||
module which is not derived from or based on this library. If you modify
|
||||
this library, you may extend this exception to your version of the library,
|
||||
but you are not obligated to do so. If you do not wish to do so, delete this
|
||||
exception statement from your version.
|
||||
|
||||
This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License
|
||||
for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public License
|
||||
along with this library; if not, write to the Free Software Foundation,
|
||||
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
}
|
||||
unit AnchorDockOptionsDlg;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, ButtonPanel,
|
||||
Spin, StdCtrls, ComCtrls, AnchorDocking, AnchorDockStr;
|
||||
|
||||
type
|
||||
|
||||
{ TAnchorDockOptionsDialog }
|
||||
|
||||
TAnchorDockOptionsDialog = class(TForm)
|
||||
ButtonPanel1: TButtonPanel;
|
||||
DragThresholdLabel: TLabel;
|
||||
DragThresholdTrackBar: TTrackBar;
|
||||
HeaderAlignLeftLabel: TLabel;
|
||||
HeaderAlignLeftTrackBar: TTrackBar;
|
||||
HeaderAlignTopLabel: TLabel;
|
||||
HeaderAlignTopTrackBar: TTrackBar;
|
||||
ScaleOnResizeCheckBox: TCheckBox;
|
||||
SplitterWidthLabel: TLabel;
|
||||
SplitterWidthTrackBar: TTrackBar;
|
||||
procedure FormCreate(Sender: TObject);
|
||||
private
|
||||
FMaster: TAnchorDockMaster;
|
||||
procedure SetMaster(const AValue: TAnchorDockMaster);
|
||||
public
|
||||
property Master: TAnchorDockMaster read FMaster write SetMaster;
|
||||
end;
|
||||
|
||||
function ShowAnchorDockOptions(ADockMaster: TAnchorDockMaster): TModalResult;
|
||||
|
||||
implementation
|
||||
|
||||
function ShowAnchorDockOptions(ADockMaster: TAnchorDockMaster): TModalResult;
|
||||
var
|
||||
Dlg: TAnchorDockOptionsDialog;
|
||||
begin
|
||||
Dlg:=TAnchorDockOptionsDialog.Create(nil);
|
||||
try
|
||||
Dlg.Master:=ADockMaster;
|
||||
Result:=Dlg.ShowModal;
|
||||
finally
|
||||
Dlg.Free;
|
||||
end;
|
||||
end;
|
||||
|
||||
{$R *.lfm}
|
||||
|
||||
{ TAnchorDockOptionsDialog }
|
||||
|
||||
procedure TAnchorDockOptionsDialog.FormCreate(Sender: TObject);
|
||||
begin
|
||||
DragThresholdLabel.Caption:=adrsDragThreshold;
|
||||
DragThresholdTrackBar.Hint:=adrsAmountOfPixelOfMouseMovementBeforeDragStarts;
|
||||
HeaderAlignTopLabel.Caption:=adrsHeaderAlignTop;
|
||||
HeaderAlignTopTrackBar.Hint:=
|
||||
adrsMoveHeaderToTopWhenWidthHeight100HeaderAlignTop;
|
||||
HeaderAlignLeftLabel.Caption:=adrsHeaderAlignLeft;
|
||||
HeaderAlignLeftTrackBar.Hint:=
|
||||
adrsMoveHeaderToLeftWhenWidthHeight100HeaderAlignLeft;
|
||||
SplitterWidthLabel.Caption:=adrsSplitterWidth;
|
||||
SplitterWidthTrackBar.Hint:=adrsSplitterThickness;
|
||||
ScaleOnResizeCheckBox.Caption:=adrsScaleOnResize;
|
||||
ScaleOnResizeCheckBox.Hint:=adrsScaleSubSitesWhenASiteIsResized;
|
||||
end;
|
||||
|
||||
procedure TAnchorDockOptionsDialog.SetMaster(const AValue: TAnchorDockMaster);
|
||||
begin
|
||||
if FMaster=AValue then exit;
|
||||
FMaster:=AValue;
|
||||
if Master<>nil then begin
|
||||
DragThresholdTrackBar.Position:=Master.DragTreshold;
|
||||
HeaderAlignTopTrackBar.Position:=Master.HeaderAlignTop;
|
||||
HeaderAlignLeftTrackBar.Position:=Master.HeaderAlignLeft;
|
||||
SplitterWidthTrackBar.Position:=Master.SplitterWidth;
|
||||
ScaleOnResizeCheckBox.Checked:=Master.ScaleOnResize;
|
||||
end;
|
||||
end;
|
||||
|
||||
end.
|
||||
|
Loading…
Reference in New Issue
Block a user