mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-05-05 12:52:37 +02:00
92 lines
2.0 KiB
ObjectPascal
92 lines
2.0 KiB
ObjectPascal
unit cePointerFrame;
|
|
|
|
{$mode objfpc}{$H+}
|
|
|
|
interface
|
|
|
|
uses
|
|
Classes, SysUtils, Forms, Controls, StdCtrls, ExtCtrls, Spin,
|
|
TATypes, TAChartCombos, TAGraph,
|
|
ceBrushFrame, cePenFrame;
|
|
|
|
type
|
|
|
|
{ TPointerFrame }
|
|
|
|
TPointerFrame = class(TFrame)
|
|
Bevel1: TBevel;
|
|
Bevel2: TBevel;
|
|
Bevel3: TBevel;
|
|
cbPointerStyle: TChartComboBox;
|
|
Label1: TLabel;
|
|
Label2: TLabel;
|
|
Label3: TLabel;
|
|
lblPointerWidth: TLabel;
|
|
lblPointerHeight: TLabel;
|
|
PointerPenFrame: TPenFrame;
|
|
PointerBrushFrame: TBrushFrame;
|
|
sePointerWidth: TSpinEdit;
|
|
sePointerHeight: TSpinEdit;
|
|
procedure cbPointerStyleChange(Sender: TObject);
|
|
procedure sePointerHeightChange(Sender: TObject);
|
|
procedure sePointerWidthChange(Sender: TObject);
|
|
private
|
|
FPointer: TSeriesPointer;
|
|
FOnChange: TNotifyEvent;
|
|
procedure DoChange;
|
|
protected
|
|
function GetChart: TChart;
|
|
|
|
public
|
|
procedure Prepare(APointer: TSeriesPointer);
|
|
property OnChange: TNotifyEvent read FOnChange write FOnChange;
|
|
end;
|
|
|
|
implementation
|
|
|
|
{$R *.lfm}
|
|
|
|
type
|
|
TSeriesPointerAccess = class(TSeriesPointer);
|
|
|
|
procedure TPointerFrame.cbPointerStyleChange(Sender: TObject);
|
|
begin
|
|
FPointer.Style := cbPointerStyle.PointerStyle;
|
|
DoChange;
|
|
end;
|
|
|
|
procedure TPointerFrame.sePointerHeightChange(Sender: TObject);
|
|
begin
|
|
FPointer.VertSize := sePointerHeight.Value;
|
|
DoChange;
|
|
end;
|
|
|
|
procedure TPointerFrame.sePointerWidthChange(Sender: TObject);
|
|
begin
|
|
FPointer.HorizSize := sePointerWidth.Value;
|
|
DoChange;
|
|
end;
|
|
|
|
procedure TPointerFrame.DoChange;
|
|
begin
|
|
if Assigned(FOnChange) then FOnChange(FPointer);
|
|
end;
|
|
|
|
function TPointerFrame.GetChart: TChart;
|
|
begin
|
|
Result := TSeriesPointerAccess(FPointer).GetOwner as TChart;
|
|
end;
|
|
|
|
procedure TPointerFrame.Prepare(APointer: TSeriesPointer);
|
|
begin
|
|
FPointer := APointer;
|
|
cbPointerStyle.PointerStyle := APointer.Style;
|
|
sePointerWidth.Value := APointer.HorizSize;
|
|
sePointerHeight.Value := APointer.VertSize;
|
|
PointerBrushFrame.Prepare(APointer.Brush);
|
|
PointerPenFrame.Prepare(APointer.Pen);
|
|
end;
|
|
|
|
end.
|
|
|