TAChart: Update "distance" demo

git-svn-id: trunk@38499 -
This commit is contained in:
ask 2012-09-03 13:05:39 +00:00
parent 544ce86495
commit b33c818ce3
2 changed files with 44 additions and 42 deletions

View File

@ -323,7 +323,7 @@ object Form1: TForm1
TabOrder = 3 TabOrder = 3
end end
object RandomChartSource1: TRandomChartSource object RandomChartSource1: TRandomChartSource
PointsNumber = 10 PointsNumber = 100
RandSeed = 2143215771 RandSeed = 2143215771
XMax = 10 XMax = 10
XMin = 0 XMin = 0
@ -345,12 +345,12 @@ object Form1: TForm1
object ctDist: TChartToolset object ctDist: TChartToolset
left = 72 left = 72
top = 232 top = 232
object ctDistDataPointCrosshairTool1: TDataPointCrosshairTool object ctCrosshair: TDataPointCrosshairTool
Shift = [ssRight] Shift = [ssRight]
OnDraw = ctDistDataPointCrosshairTool1Draw OnDraw = ctCrosshairDraw
Size = 16 Size = 16
end end
object ctDistDataPointDistanceTool1: TDataPointDistanceTool object ctDistance1: TDataPointDistanceTool
Shift = [ssLeft] Shift = [ssLeft]
LinePen.Width = 2 LinePen.Width = 2
Marks.Distance = 30 Marks.Distance = 30
@ -361,9 +361,9 @@ object Form1: TForm1
PointerStart.Brush.Style = bsClear PointerStart.Brush.Style = bsClear
PointerStart.Pen.Color = clRed PointerStart.Pen.Color = clRed
PointerStart.VertSize = 1000 PointerStart.VertSize = 1000
OnMeasure = ctDistDataPointDistanceTool1Measure OnMeasure = ctDistance1Measure
end end
object ctDistDataPointDistanceTool2: TDataPointDistanceTool object ctDistance2: TDataPointDistanceTool
Shift = [ssCtrl, ssLeft] Shift = [ssCtrl, ssLeft]
Marks.Format = '%0:.9g' Marks.Format = '%0:.9g'
PointerEnd.HorizSize = 8 PointerEnd.HorizSize = 8
@ -372,7 +372,7 @@ object Form1: TForm1
PointerStart.Brush.Style = bsClear PointerStart.Brush.Style = bsClear
PointerStart.Style = psLeftBracket PointerStart.Style = psLeftBracket
PointerStart.VertSize = 8 PointerStart.VertSize = 8
OnMeasure = ctDistDataPointDistanceTool1Measure OnMeasure = ctDistance1Measure
end end
end end
object ChartAxisTransformations1: TChartAxisTransformations object ChartAxisTransformations1: TChartAxisTransformations

View File

@ -31,9 +31,9 @@ type
clrFontColor: TColorButton; clrFontColor: TColorButton;
clrPenColor: TColorButton; clrPenColor: TColorButton;
ctDist: TChartToolset; ctDist: TChartToolset;
ctDistDataPointCrosshairTool1: TDataPointCrosshairTool; ctCrosshair: TDataPointCrosshairTool;
ctDistDataPointDistanceTool1: TDataPointDistanceTool; ctDistance1: TDataPointDistanceTool;
ctDistDataPointDistanceTool2: TDataPointDistanceTool; ctDistance2: TDataPointDistanceTool;
edEndbarLength: TSpinEdit; edEndbarLength: TSpinEdit;
lblEndBarLength: TLabel; lblEndBarLength: TLabel;
mDistanceText: TMemo; mDistanceText: TMemo;
@ -54,8 +54,8 @@ type
procedure clrBackgroundColorColorChanged(Sender: TObject); procedure clrBackgroundColorColorChanged(Sender: TObject);
procedure clrFontColorColorChanged(Sender: TObject); procedure clrFontColorColorChanged(Sender: TObject);
procedure clrPenColorColorChanged(Sender: TObject); procedure clrPenColorColorChanged(Sender: TObject);
procedure ctDistDataPointCrosshairTool1Draw(ASender: TDataPointCrosshairTool); procedure ctCrosshairDraw(ASender: TDataPointCrosshairTool);
procedure ctDistDataPointDistanceTool1Measure( procedure ctDistance1Measure(
ASender: TDataPointDistanceTool); ASender: TDataPointDistanceTool);
procedure edEndbarLengthChange(Sender: TObject); procedure edEndbarLengthChange(Sender: TObject);
procedure FormCreate(Sender: TObject); procedure FormCreate(Sender: TObject);
@ -98,8 +98,8 @@ end;
procedure TForm1.cbShowLabelClick(Sender: TObject); procedure TForm1.cbShowLabelClick(Sender: TObject);
begin begin
ctDistDataPointDistanceTool1.Marks.Visible := cbShowLabel.Checked; ctDistance1.Marks.Visible := cbShowLabel.Checked;
ctDistDataPointDistanceTool2.Marks.Visible := cbShowLabel.Checked; ctDistance2.Marks.Visible := cbShowLabel.Checked;
UpdateButtons; UpdateButtons;
end; end;
@ -110,18 +110,18 @@ end;
procedure TForm1.clrFontColorColorChanged(Sender: TObject); procedure TForm1.clrFontColorColorChanged(Sender: TObject);
begin begin
ctDistDataPointDistanceTool1.Marks.LabelFont.Color := clrFontColor.ButtonColor; ctDistance1.Marks.LabelFont.Color := clrFontColor.ButtonColor;
ctDistDataPointDistanceTool2.Marks.LabelFont.Color := clrFontColor.ButtonColor; ctDistance2.Marks.LabelFont.Color := clrFontColor.ButtonColor;
end; end;
procedure TForm1.clrPenColorColorChanged(Sender: TObject); procedure TForm1.clrPenColorColorChanged(Sender: TObject);
begin begin
ctDistDataPointDistanceTool1.LinePen.Color := clrPenColor.ButtonColor; ctDistance1.LinePen.Color := clrPenColor.ButtonColor;
ctDistDataPointDistanceTool2.LinePen.Color := clrPenColor.ButtonColor; ctDistance2.LinePen.Color := clrPenColor.ButtonColor;
ctDistDataPointCrosshairTool1.CrosshairPen.Color := clrPenColor.ButtonColor; ctCrosshair.CrosshairPen.Color := clrPenColor.ButtonColor;
end; end;
procedure TForm1.ctDistDataPointCrosshairTool1Draw( procedure TForm1.ctCrosshairDraw(
ASender: TDataPointCrosshairTool); ASender: TDataPointCrosshairTool);
var var
ser: TChartSeries; ser: TChartSeries;
@ -134,7 +134,7 @@ begin
Statusbar1.SimpleText := ''; Statusbar1.SimpleText := '';
end; end;
procedure TForm1.ctDistDataPointDistanceTool1Measure( procedure TForm1.ctDistance1Measure(
ASender: TDataPointDistanceTool); ASender: TDataPointDistanceTool);
const const
DIST_TEXT: array [TChartDistanceMode] of String = ('', 'x ', 'y '); DIST_TEXT: array [TChartDistanceMode] of String = ('', 'x ', 'y ');
@ -151,8 +151,8 @@ end;
procedure TForm1.edEndbarLengthChange(Sender: TObject); procedure TForm1.edEndbarLengthChange(Sender: TObject);
begin begin
ctDistDataPointDistanceTool1.PointerStart.VertSize := edEndbarLength.Value; ctDistance1.PointerStart.VertSize := edEndbarLength.Value;
ctDistDataPointDistanceTool1.PointerEnd.VertSize := edEndbarLength.Value; ctDistance1.PointerEnd.VertSize := edEndbarLength.Value;
end; end;
procedure TForm1.FormCreate(Sender: TObject); procedure TForm1.FormCreate(Sender: TObject);
@ -171,60 +171,62 @@ begin
s := mDistanceText.Lines.Text; s := mDistanceText.Lines.Text;
try try
Format(s, [1.0, 1.0]); Format(s, [1.0, 1.0]);
ctDistDataPointDistanceTool1.Marks.Format := s; ctDistance1.Marks.Format := s;
ctDistDataPointDistanceTool2.Marks.Format := s; ctDistance2.Marks.Format := s;
except except
end; end;
end; end;
procedure TForm1.rgDataPointModeClick(Sender: TObject); procedure TForm1.rgDataPointModeClick(Sender: TObject);
begin begin
with ctDistDataPointDistanceTool1 do begin with ctDistance1 do begin
DataPointMode := TDataPointDistanceTool.TDataPointMode(rgDataPointMode.ItemIndex); DataPointModeStart := TDataPointDistanceTool.TDataPointMode(rgDataPointMode.ItemIndex);
ctDistDataPointDistanceTool2.DataPointMode := DataPointMode; DataPointModeEnd := DataPointModeStart;
ctDistance2.DataPointModeStart := DataPointModeStart;
ctDistance2.DataPointModeEnd := DataPointModeStart;
end; end;
UpdateButtons; UpdateButtons;
end; end;
procedure TForm1.rgDrawingModeClick(Sender: TObject); procedure TForm1.rgDrawingModeClick(Sender: TObject);
begin begin
ctDistDataPointDistanceTool1.DrawingMode := TChartToolDrawingMode(rgDrawingMode.ItemIndex); ctDistance1.DrawingMode := TChartToolDrawingMode(rgDrawingMode.ItemIndex);
ctDistDataPointDistanceTool2.DrawingMode := TChartToolDrawingMode(rgDrawingMode.ItemIndex); ctDistance2.DrawingMode := TChartToolDrawingMode(rgDrawingMode.ItemIndex);
ctDistDataPointCrosshairTool1.DrawingMode := TChartToolDrawingMode(rgDrawingMode.ItemIndex); ctCrosshair.DrawingMode := TChartToolDrawingMode(rgDrawingMode.ItemIndex);
UpdateButtons; UpdateButtons;
end; end;
procedure TForm1.rgMeasureModeClick(Sender: TObject); procedure TForm1.rgMeasureModeClick(Sender: TObject);
begin begin
ctDistDataPointDistanceTool1.MeasureMode := TChartDistanceMode(rgMeasureMode.ItemIndex); ctDistance1.MeasureMode := TChartDistanceMode(rgMeasureMode.ItemIndex);
ctDistDataPointDistanceTool2.MeasureMode := TChartDistanceMode(rgMeasureMode.ItemIndex); ctDistance2.MeasureMode := TChartDistanceMode(rgMeasureMode.ItemIndex);
end; end;
procedure TForm1.rgSnapModeClick(Sender: TObject); procedure TForm1.rgSnapModeClick(Sender: TObject);
begin begin
ctDistDataPointDistanceTool1.DistanceMode := TChartDistanceMode(rgSnapMode.ItemIndex); ctDistance1.DistanceMode := TChartDistanceMode(rgSnapMode.ItemIndex);
ctDistDataPointDistanceTool2.DistanceMode := TChartDistanceMode(rgSnapMode.ItemIndex); ctDistance2.DistanceMode := TChartDistanceMode(rgSnapMode.ItemIndex);
ctDistDataPointCrosshairTool1.DistanceMode := TChartDistanceMode(rgSnapMode.ItemIndex); ctCrosshair.DistanceMode := TChartDistanceMode(rgSnapMode.ItemIndex);
end; end;
procedure TForm1.SwitchOptions( procedure TForm1.SwitchOptions(
AOptions: TDataPointDistanceTool.TOptions; AOn: Boolean); AOptions: TDataPointDistanceTool.TOptions; AOn: Boolean);
begin begin
with ctDistDataPointDistanceTool1 do begin with ctDistance1 do begin
if AOn then if AOn then
Options := Options + AOptions Options := Options + AOptions
else else
Options := Options - AOptions; Options := Options - AOptions;
ctDistDataPointDistanceTool2.Options := Options; ctDistance2.Options := Options;
end; end;
end; end;
procedure TForm1.UpdateButtons; procedure TForm1.UpdateButtons;
begin begin
clrPenColor.Enabled := ctDistDataPointDistanceTool1.DrawingMode=tdmNormal; clrPenColor.Enabled := ctDistance1.DrawingMode=tdmNormal;
clrFontColor.Enabled := (ctDistDataPointDistanceTool1.DrawingMode=tdmNormal) clrFontColor.Enabled := (ctDistance1.DrawingMode=tdmNormal)
and ctDistDataPointDistanceTool1.Marks.Visible; and ctDistance1.Marks.Visible;
rgSnapMode.Enabled := ctDistDataPointDistanceTool1.DataPointMode <> dpmFree; rgSnapMode.Enabled := ctDistance1.DataPointModeStart <> dpmFree;
end; end;
end. end.