You've already forked lazarus-ccr
jvcllaz: Fix text background color error in JvPenEditor of JvChartDemo.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@7178 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
@@ -569,9 +569,9 @@ object JvChartDemoForm: TJvChartDemoForm
|
|||||||
ShortCut = 16455
|
ShortCut = 16455
|
||||||
OnClick = ShowgapinLineChart1Click
|
OnClick = ShowgapinLineChart1Click
|
||||||
end
|
end
|
||||||
object DateTimeAxisMode: TMenuItem
|
object mnuDateTimeAxisMode: TMenuItem
|
||||||
Caption = 'Date/Time Axis Mode'
|
Caption = 'Date/Time Axis Mode'
|
||||||
OnClick = DateTimeAxisModeClick
|
OnClick = mnuDateTimeAxisModeClick
|
||||||
end
|
end
|
||||||
object MenuNegValueTest: TMenuItem
|
object MenuNegValueTest: TMenuItem
|
||||||
AutoCheck = True
|
AutoCheck = True
|
||||||
|
@@ -105,7 +105,7 @@ type
|
|||||||
ShowDataInListbox1: TMenuItem;
|
ShowDataInListbox1: TMenuItem;
|
||||||
N4: TMenuItem;
|
N4: TMenuItem;
|
||||||
LargeDataset576samples1: TMenuItem;
|
LargeDataset576samples1: TMenuItem;
|
||||||
DateTimeAxisMode: TMenuItem;
|
mnuDateTimeAxisMode: TMenuItem;
|
||||||
PrintOptions1: TMenuItem;
|
PrintOptions1: TMenuItem;
|
||||||
PrinterSetupDialog1: TPrinterSetupDialog;
|
PrinterSetupDialog1: TPrinterSetupDialog;
|
||||||
PrintDialog1: TPrintDialog;
|
PrintDialog1: TPrintDialog;
|
||||||
@@ -145,7 +145,7 @@ type
|
|||||||
procedure Timer1Timer(Sender: TObject);
|
procedure Timer1Timer(Sender: TObject);
|
||||||
procedure ShowDataInListbox1Click(Sender: TObject);
|
procedure ShowDataInListbox1Click(Sender: TObject);
|
||||||
procedure LargeDataset576samples1Click(Sender: TObject);
|
procedure LargeDataset576samples1Click(Sender: TObject);
|
||||||
procedure DateTimeAxisModeClick(Sender: TObject);
|
procedure mnuDateTimeAxisModeClick(Sender: TObject);
|
||||||
|
|
||||||
procedure FormCreate(Sender: TObject);
|
procedure FormCreate(Sender: TObject);
|
||||||
procedure FormDestroy(Sender: TObject);
|
procedure FormDestroy(Sender: TObject);
|
||||||
@@ -281,7 +281,7 @@ begin
|
|||||||
Fds := Fdt + (FGenerationIndex / 576);
|
Fds := Fdt + (FGenerationIndex / 576);
|
||||||
|
|
||||||
// There are TWO ways to get an X Axis label plotted:
|
// There are TWO ways to get an X Axis label plotted:
|
||||||
if DateTimeAxisMode.Checked then
|
if mnuDateTimeAxisMode.Checked then
|
||||||
Chart.Data.Timestamp[I] := Fds // X legends generated by timestamps
|
Chart.Data.Timestamp[I] := Fds // X legends generated by timestamps
|
||||||
else
|
else
|
||||||
// X Legends generated by user are used by default.
|
// X Legends generated by user are used by default.
|
||||||
@@ -366,7 +366,7 @@ begin
|
|||||||
|
|
||||||
Randomize;
|
Randomize;
|
||||||
|
|
||||||
Chart.Options.XAxisDateTimeMode := DateTimeAxisMode.Checked; // Use datetime timestamp labels, just Fer Instance.
|
Chart.Options.XAxisDateTimeMode := mnuDateTimeAxisMode.Checked; // Use datetime timestamp labels, just Fer Instance.
|
||||||
|
|
||||||
if not Chart.Options.XAxisDateTimeMode then
|
if not Chart.Options.XAxisDateTimeMode then
|
||||||
Chart.Options.XAxisLegendSkipBy := 5;
|
Chart.Options.XAxisLegendSkipBy := 5;
|
||||||
@@ -869,11 +869,11 @@ begin
|
|||||||
NewValues;
|
NewValues;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TJvChartDemoForm.DateTimeAxisModeClick(Sender: TObject);
|
procedure TJvChartDemoForm.mnuDateTimeAxisModeClick(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
DateTimeAxisMode.Checked := not DateTimeAxisMode.Checked;
|
mnuDateTimeAxisMode.Checked := not mnuDateTimeAxisMode.Checked;
|
||||||
if SpeedButtonTestMouseOver.Down then begin
|
if SpeedButtonTestMouseOver.Down then begin
|
||||||
Chart.Options.XLegends.Clear;
|
Chart.Options.XLegends.Clear;
|
||||||
end else
|
end else
|
||||||
NewValues;
|
NewValues;
|
||||||
end;
|
end;
|
||||||
@@ -996,7 +996,6 @@ begin
|
|||||||
marker1.Caption :='Start';
|
marker1.Caption :='Start';
|
||||||
marker1.Visible := true;
|
marker1.Visible := true;
|
||||||
|
|
||||||
|
|
||||||
marker2 := Chart.AddFloatingMarker;
|
marker2 := Chart.AddFloatingMarker;
|
||||||
marker2.XPosition := 66;
|
marker2.XPosition := 66;
|
||||||
marker2.YPosition := Chart.Data.Value[0,marker2.XPosition]; // Snap to Pen 1
|
marker2.YPosition := Chart.Data.Value[0,marker2.XPosition]; // Snap to Pen 1
|
||||||
|
@@ -8,6 +8,7 @@ object PenEditorForm: TPenEditorForm
|
|||||||
ClientWidth = 505
|
ClientWidth = 505
|
||||||
OnCreate = FormCreate
|
OnCreate = FormCreate
|
||||||
OnDestroy = FormDestroy
|
OnDestroy = FormDestroy
|
||||||
|
Position = poScreenCenter
|
||||||
LCLVersion = '2.1.0.0'
|
LCLVersion = '2.1.0.0'
|
||||||
object btnPenColor: TButton
|
object btnPenColor: TButton
|
||||||
Left = 232
|
Left = 232
|
||||||
|
@@ -6,8 +6,8 @@ interface
|
|||||||
|
|
||||||
uses
|
uses
|
||||||
Classes, SysUtils, Forms, Controls, Graphics, Dialogs, ExtCtrls, StdCtrls,
|
Classes, SysUtils, Forms, Controls, Graphics, Dialogs, ExtCtrls, StdCtrls,
|
||||||
Spin, ButtonPanel,Contnrs,
|
ButtonPanel, Contnrs, Types,
|
||||||
JvChart, Types;
|
JvChart;
|
||||||
|
|
||||||
type
|
type
|
||||||
TPenObj = class
|
TPenObj = class
|
||||||
@@ -236,6 +236,7 @@ begin
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
// Text
|
// Text
|
||||||
|
lbPens.Canvas.Brush.Style := bsClear;
|
||||||
lbPens.Canvas.TextOut(R.Right + 2, (R.Top + R.Bottom - lbPens.Canvas.TextHeight('Rg')) div 2, pen.Legend);
|
lbPens.Canvas.TextOut(R.Right + 2, (R.Top + R.Bottom - lbPens.Canvas.TextHeight('Rg')) div 2, pen.Legend);
|
||||||
|
|
||||||
// Focus rect
|
// Focus rect
|
||||||
|
@@ -103,8 +103,6 @@ unit JvChart;
|
|||||||
interface
|
interface
|
||||||
|
|
||||||
uses
|
uses
|
||||||
{
|
|
||||||
Windows, Messages, }
|
|
||||||
LCLType, LCLIntf,
|
LCLType, LCLIntf,
|
||||||
Classes, Types, Graphics, Controls, Contnrs,
|
Classes, Types, Graphics, Controls, Contnrs,
|
||||||
JvComponent;
|
JvComponent;
|
||||||
@@ -115,7 +113,7 @@ const
|
|||||||
JvDefaultHintColor = TColor($00DDFBFA);
|
JvDefaultHintColor = TColor($00DDFBFA);
|
||||||
JvDefaultAvgLineColor = TColor($00EEDDDD);
|
JvDefaultAvgLineColor = TColor($00EEDDDD);
|
||||||
JvDefaultDivisionLineColor = clLtGray; //NEW!
|
JvDefaultDivisionLineColor = clLtGray; //NEW!
|
||||||
JvDefaultShadowColor = clLtGray; //NEW!
|
JvDefaultShadowColor = clDkGray; //NEW!
|
||||||
JvDefaultPaperColor = clWhite;
|
JvDefaultPaperColor = clWhite;
|
||||||
|
|
||||||
JvDefaultYLegends = 20;
|
JvDefaultYLegends = 20;
|
||||||
@@ -4587,6 +4585,9 @@ procedure TJvChart.MyXHeader(ACanvas: TCanvas; StrText: string);
|
|||||||
var
|
var
|
||||||
X, Y, H: Integer;
|
X, Y, H: Integer;
|
||||||
begin
|
begin
|
||||||
|
if StrText = '' then
|
||||||
|
exit;
|
||||||
|
|
||||||
H := ACanvas.TextHeight(StrText);
|
H := ACanvas.TextHeight(StrText);
|
||||||
MyAxisFont(ACanvas);
|
MyAxisFont(ACanvas);
|
||||||
Y := Options.YStartOffset + Options.YEnd + Round(1.6 * H);
|
Y := Options.YStartOffset + Options.YEnd + Round(1.6 * H);
|
||||||
@@ -4598,6 +4599,7 @@ begin
|
|||||||
end
|
end
|
||||||
else
|
else
|
||||||
begin
|
begin
|
||||||
|
{ center title within range covered by x axis }
|
||||||
X := (Options.XStartOffset + Options.XEnd) div 2;
|
X := (Options.XStartOffset + Options.XEnd) div 2;
|
||||||
MyCenterTextOut(ACanvas, X, Y, StrText);
|
MyCenterTextOut(ACanvas, X, Y, StrText);
|
||||||
end;
|
end;
|
||||||
@@ -4605,28 +4607,21 @@ end;
|
|||||||
|
|
||||||
procedure TJvChart.MyYHeader(ACanvas: TCanvas; StrText: string);
|
procedure TJvChart.MyYHeader(ACanvas: TCanvas; StrText: string);
|
||||||
var
|
var
|
||||||
{ht,} // not used (ahuser)
|
|
||||||
WD, Vert, Horiz: Integer;
|
WD, Vert, Horiz: Integer;
|
||||||
begin
|
begin
|
||||||
if Length(StrText) = 0 then
|
if Length(StrText) = 0 then
|
||||||
Exit;
|
Exit;
|
||||||
ACanvas.Brush.Color := Color;
|
ACanvas.Brush.Color := Color;
|
||||||
{ !!warning: uses Win32 only font-handle stuff!!}
|
|
||||||
ACanvas.Font.Assign(FOptions.AxisTitleFont);
|
ACanvas.Font.Assign(FOptions.AxisTitleFont);
|
||||||
// MyGraphVertFont(ACanvas); // Select Vertical Font Output.
|
|
||||||
if Options.XStartOffset > 10 then
|
if Options.XStartOffset > 10 then
|
||||||
begin
|
begin
|
||||||
{ht := MyTextHeight(StrText); }// not used (ahuser)
|
|
||||||
WD := ACanvas.TextWidth(StrText);
|
WD := ACanvas.TextWidth(StrText);
|
||||||
//Vert := Options.YStartOffset + WD; // top-aligned
|
//Vert := Options.YStartOffset + WD; // top-aligned
|
||||||
Vert := Max(0, Options.YStartOffset + (Options.YEnd + WD) div 2); // centered
|
Vert := Max(0, Options.YStartOffset + (Options.YEnd + WD) div 2); // centered
|
||||||
Horiz := 2;
|
Horiz := 2;
|
||||||
// NOTE: Because of the logical font selected, this time TextOut goes vertical.
|
|
||||||
// If this doesn't go vertical, it may be because the font selection above failed.
|
|
||||||
MyLeftTextOut(ACanvas, Horiz, Vert, StrText);
|
MyLeftTextOut(ACanvas, Horiz, Vert, StrText);
|
||||||
end;
|
end;
|
||||||
MyAxisFont(ACanvas);
|
MyAxisFont(ACanvas);
|
||||||
// Self.MyLeftTextOut(Horiz, Vert+50, '*');
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user