* Fixed memory corruption in frmMain (caused by heContrns)
* Added range selection to frmBoundaries
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
inherited frmBoundaries: TfrmBoundaries
|
||||
Left = 1831
|
||||
Left = 445
|
||||
Height = 164
|
||||
Top = 239
|
||||
Top = 332
|
||||
Width = 402
|
||||
Caption = 'Boundaries'
|
||||
ClientHeight = 164
|
||||
@@ -17,7 +17,7 @@ inherited frmBoundaries: TfrmBoundaries
|
||||
BorderSpacing.Left = 4
|
||||
BorderSpacing.Top = 4
|
||||
Caption = 'Restrict Height'
|
||||
ClientHeight = 141
|
||||
ClientHeight = 139
|
||||
ClientWidth = 192
|
||||
TabOrder = 0
|
||||
object lblMinZ: TLabel
|
||||
@@ -25,9 +25,9 @@ inherited frmBoundaries: TfrmBoundaries
|
||||
AnchorSideTop.Control = seMinZ
|
||||
AnchorSideTop.Side = asrCenter
|
||||
Left = 4
|
||||
Height = 13
|
||||
Top = 8
|
||||
Width = 68
|
||||
Height = 15
|
||||
Top = 10
|
||||
Width = 77
|
||||
Caption = 'Minimum Z:'
|
||||
Layout = tlCenter
|
||||
ParentColor = False
|
||||
@@ -37,7 +37,7 @@ inherited frmBoundaries: TfrmBoundaries
|
||||
AnchorSideRight.Control = gbZRestriction
|
||||
AnchorSideRight.Side = asrBottom
|
||||
Left = 136
|
||||
Height = 21
|
||||
Height = 27
|
||||
Top = 4
|
||||
Width = 52
|
||||
Anchors = [akTop, akRight]
|
||||
@@ -56,8 +56,8 @@ inherited frmBoundaries: TfrmBoundaries
|
||||
AnchorSideRight.Control = gbZRestriction
|
||||
AnchorSideRight.Side = asrBottom
|
||||
Left = 4
|
||||
Height = 36
|
||||
Top = 29
|
||||
Height = 37
|
||||
Top = 35
|
||||
Width = 184
|
||||
Frequency = 10
|
||||
Max = 127
|
||||
@@ -74,9 +74,9 @@ inherited frmBoundaries: TfrmBoundaries
|
||||
AnchorSideTop.Control = seMaxZ
|
||||
AnchorSideTop.Side = asrCenter
|
||||
Left = 4
|
||||
Height = 13
|
||||
Top = 73
|
||||
Width = 71
|
||||
Height = 15
|
||||
Top = 82
|
||||
Width = 81
|
||||
Caption = 'Maximum Z:'
|
||||
Layout = tlCenter
|
||||
ParentColor = False
|
||||
@@ -87,8 +87,8 @@ inherited frmBoundaries: TfrmBoundaries
|
||||
AnchorSideRight.Control = seMinZ
|
||||
AnchorSideRight.Side = asrBottom
|
||||
Left = 136
|
||||
Height = 21
|
||||
Top = 69
|
||||
Height = 27
|
||||
Top = 76
|
||||
Width = 52
|
||||
Anchors = [akTop, akRight]
|
||||
MaxValue = 127
|
||||
@@ -104,8 +104,8 @@ inherited frmBoundaries: TfrmBoundaries
|
||||
AnchorSideRight.Control = gbZRestriction
|
||||
AnchorSideRight.Side = asrBottom
|
||||
Left = 4
|
||||
Height = 36
|
||||
Top = 94
|
||||
Height = 37
|
||||
Top = 107
|
||||
Width = 184
|
||||
Frequency = 10
|
||||
Max = 127
|
||||
@@ -133,15 +133,15 @@ inherited frmBoundaries: TfrmBoundaries
|
||||
Anchors = [akTop, akLeft, akRight, akBottom]
|
||||
BorderSpacing.Around = 4
|
||||
Caption = 'Restrict View Range'
|
||||
ClientHeight = 141
|
||||
ClientHeight = 139
|
||||
ClientWidth = 190
|
||||
TabOrder = 1
|
||||
object seMinX: TSpinEdit
|
||||
AnchorSideLeft.Control = lblX
|
||||
AnchorSideLeft.Side = asrBottom
|
||||
AnchorSideTop.Control = seMaxX
|
||||
Left = 19
|
||||
Height = 21
|
||||
Left = 20
|
||||
Height = 27
|
||||
Top = 4
|
||||
Width = 74
|
||||
BorderSpacing.Left = 4
|
||||
@@ -153,7 +153,7 @@ inherited frmBoundaries: TfrmBoundaries
|
||||
AnchorSideRight.Control = gbViewRestriction
|
||||
AnchorSideRight.Side = asrBottom
|
||||
Left = 112
|
||||
Height = 21
|
||||
Height = 27
|
||||
Top = 4
|
||||
Width = 74
|
||||
Anchors = [akTop, akRight]
|
||||
@@ -168,9 +168,9 @@ inherited frmBoundaries: TfrmBoundaries
|
||||
AnchorSideTop.Side = asrBottom
|
||||
AnchorSideRight.Control = seMinX
|
||||
AnchorSideRight.Side = asrBottom
|
||||
Left = 19
|
||||
Height = 21
|
||||
Top = 33
|
||||
Left = 20
|
||||
Height = 27
|
||||
Top = 39
|
||||
Width = 74
|
||||
Anchors = [akTop, akLeft, akRight]
|
||||
BorderSpacing.Top = 8
|
||||
@@ -183,8 +183,8 @@ inherited frmBoundaries: TfrmBoundaries
|
||||
AnchorSideRight.Control = seMaxX
|
||||
AnchorSideRight.Side = asrBottom
|
||||
Left = 112
|
||||
Height = 21
|
||||
Top = 33
|
||||
Height = 27
|
||||
Top = 39
|
||||
Width = 74
|
||||
Anchors = [akTop, akLeft, akRight]
|
||||
OnChange = seMaxYChange
|
||||
@@ -195,9 +195,9 @@ inherited frmBoundaries: TfrmBoundaries
|
||||
AnchorSideTop.Control = seMinX
|
||||
AnchorSideTop.Side = asrCenter
|
||||
Left = 4
|
||||
Height = 13
|
||||
Top = 8
|
||||
Width = 11
|
||||
Height = 15
|
||||
Top = 10
|
||||
Width = 12
|
||||
BorderSpacing.Left = 4
|
||||
Caption = 'X:'
|
||||
ParentColor = False
|
||||
@@ -207,9 +207,9 @@ inherited frmBoundaries: TfrmBoundaries
|
||||
AnchorSideTop.Control = seMinY
|
||||
AnchorSideTop.Side = asrCenter
|
||||
Left = 4
|
||||
Height = 13
|
||||
Top = 37
|
||||
Width = 10
|
||||
Height = 15
|
||||
Top = 45
|
||||
Width = 9
|
||||
Caption = 'Y:'
|
||||
ParentColor = False
|
||||
end
|
||||
@@ -218,10 +218,10 @@ inherited frmBoundaries: TfrmBoundaries
|
||||
AnchorSideLeft.Side = asrBottom
|
||||
AnchorSideTop.Control = seMaxX
|
||||
AnchorSideTop.Side = asrCenter
|
||||
Left = 97
|
||||
Height = 13
|
||||
Top = 8
|
||||
Width = 11
|
||||
Left = 98
|
||||
Height = 15
|
||||
Top = 10
|
||||
Width = 13
|
||||
BorderSpacing.Left = 4
|
||||
Caption = '—'
|
||||
ParentColor = False
|
||||
@@ -230,13 +230,31 @@ inherited frmBoundaries: TfrmBoundaries
|
||||
AnchorSideLeft.Control = lblXSep
|
||||
AnchorSideTop.Control = seMinY
|
||||
AnchorSideTop.Side = asrCenter
|
||||
Left = 97
|
||||
Height = 13
|
||||
Top = 37
|
||||
Width = 11
|
||||
Left = 98
|
||||
Height = 15
|
||||
Top = 45
|
||||
Width = 13
|
||||
Caption = '—'
|
||||
ParentColor = False
|
||||
end
|
||||
object btnSelectArea: TButton
|
||||
Left = 74
|
||||
Height = 25
|
||||
Top = 76
|
||||
Width = 112
|
||||
Caption = 'Select Area'
|
||||
OnClick = btnSelectAreaClick
|
||||
TabOrder = 4
|
||||
end
|
||||
object btnClear: TButton
|
||||
Left = 111
|
||||
Height = 25
|
||||
Top = 107
|
||||
Width = 75
|
||||
Caption = 'Clear'
|
||||
OnClick = btnClearClick
|
||||
TabOrder = 5
|
||||
end
|
||||
end
|
||||
inherited tmClose: TTimer[2]
|
||||
end
|
||||
|
||||
@@ -32,13 +32,15 @@ interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, StdCtrls,
|
||||
ComCtrls, Spin, ExtCtrls, UfrmToolWindow;
|
||||
ComCtrls, Spin, ExtCtrls, UfrmToolWindow, USelectionHelper;
|
||||
|
||||
type
|
||||
|
||||
{ TfrmBoundaries }
|
||||
|
||||
TfrmBoundaries = class(TfrmToolWindow)
|
||||
btnSelectArea: TButton;
|
||||
btnClear: TButton;
|
||||
gbZRestriction: TGroupBox;
|
||||
gbViewRestriction: TGroupBox;
|
||||
lblYSep: TLabel;
|
||||
@@ -55,6 +57,8 @@ type
|
||||
seMaxY: TSpinEdit;
|
||||
tbMaxZ: TTrackBar;
|
||||
tbMinZ: TTrackBar;
|
||||
procedure btnSelectAreaClick(Sender: TObject);
|
||||
procedure btnClearClick(Sender: TObject);
|
||||
procedure FormCreate(Sender: TObject);
|
||||
procedure seMaxXChange(Sender: TObject);
|
||||
procedure seMaxYChange(Sender: TObject);
|
||||
@@ -64,6 +68,8 @@ type
|
||||
procedure seMinZChange(Sender: TObject);
|
||||
procedure tbMaxZChange(Sender: TObject);
|
||||
procedure tbMinZChange(Sender: TObject);
|
||||
protected
|
||||
procedure RangeSelected(AX1, AY1, AX2, AY2: Word);
|
||||
public
|
||||
{ public declarations }
|
||||
end;
|
||||
@@ -89,6 +95,20 @@ begin
|
||||
seMaxY.Value := seMaxX.MaxValue;
|
||||
end;
|
||||
|
||||
procedure TfrmBoundaries.btnSelectAreaClick(Sender: TObject);
|
||||
begin
|
||||
SelectRange(@RangeSelected);
|
||||
end;
|
||||
|
||||
procedure TfrmBoundaries.btnClearClick(Sender: TObject);
|
||||
begin
|
||||
seMinX.Value := 0;
|
||||
seMinY.Value := 0;
|
||||
seMaxX.Value := seMaxX.MaxValue;
|
||||
seMaxY.Value := seMaxY.MaxValue;
|
||||
frmMain.InvalidateFilter;
|
||||
end;
|
||||
|
||||
procedure TfrmBoundaries.seMaxXChange(Sender: TObject);
|
||||
begin
|
||||
frmMain.InvalidateFilter;
|
||||
@@ -133,6 +153,15 @@ begin
|
||||
frmMain.InvalidateFilter;
|
||||
end;
|
||||
|
||||
procedure TfrmBoundaries.RangeSelected(AX1, AY1, AX2, AY2: Word);
|
||||
begin
|
||||
seMinX.Value := AX1;
|
||||
seMinY.Value := AY1;
|
||||
seMaxX.Value := AX2;
|
||||
seMaxY.Value := AY2;
|
||||
frmBoundaries.Show;
|
||||
end;
|
||||
|
||||
initialization
|
||||
{$I UfrmBoundaries.lrs}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user