1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81
|
unit ceArrowFrame;
{$mode ObjFPC}{$H+}
interface
uses
Classes, SysUtils, Forms, Controls, StdCtrls, Spin,
TATypes;
type
{ TChartArrowFrame }
TChartArrowFrame = class(TFrame)
cbArrowVisible: TCheckBox;
lblArrowBaseLength: TLabel;
lblArrowLength: TLabel;
lblArrowWidth: TLabel;
seArrowBaseLength: TSpinEdit;
seArrowLength: TSpinEdit;
seArrowWidth: TSpinEdit;
procedure cbArrowVisibleChange(Sender: TObject);
procedure seArrowBaseLengthChange(Sender: TObject);
procedure seArrowLengthChange(Sender: TObject);
procedure seArrowWidthChange(Sender: TObject);
private
FArrow: TChartArrow;
procedure DoChange;
public
procedure Prepare(Arrow: TChartArrow);
end;
implementation
{$R *.lfm}
procedure TChartArrowFrame.cbArrowVisibleChange(Sender: TObject);
begin
FArrow.Visible := cbArrowVisible.Checked;
DoChange;
end;
procedure TChartArrowFrame.DoChange;
begin
lblArrowBaseLength.Enabled := cbArrowVisible.Checked;
seArrowBaseLength.Enabled := cbArrowVisible.Checked;
lblArrowLength.Enabled := cbArrowVisible.Checked;
seArrowLength.Enabled := cbArrowVisible.Checked;
lblArrowWidth.Enabled := cbArrowVisible.Checked;
seArrowWidth.Enabled := cbArrowVisible.Checked;
end;
procedure TChartArrowFrame.Prepare(Arrow: TChartArrow);
begin
FArrow := Arrow;
cbArrowVisible.Checked := Arrow.Visible;
seArrowBaseLength.Value := Arrow.BaseLength;
seArrowLength.Value := Arrow.Length;
seArrowWidth.Value := Arrow.Width;
DoChange;
end;
procedure TChartArrowFrame.seArrowBaseLengthChange(Sender: TObject);
begin
FArrow.BaseLength := seArrowBaseLength.Value;
end;
procedure TChartArrowFrame.seArrowLengthChange(Sender: TObject);
begin
FArrow.Length := seArrowLength.Value;
end;
procedure TChartArrowFrame.seArrowWidthChange(Sender: TObject);
begin
FArrow.Width := seArrowWidth.Value;
end;
end.
|