Hi,
With TeeChart 8.08 & RAD 2007 but I beleive this may happen in all version.
My customer complains that when zooming ans scrolling the cursor tool (in this case a vertival line) may go beyond the RightAxis where is is still visible but cannot be dragged anymore until scrolled back between the axes by scrolling the graph.
It shoul also be noted that when the Series assigned to a cursor becomes invisible the cursor behaves in a way that customers do not understand. if you hade the series then scroll a bit off one side the moving the cursor the other way will stop at where the series was starting before it became invisible. workaround is to assign another visible series but you gotta knows
Steema: I was also tempted to upgrade my version but worder since we are soo close to 2012 if I'd better waiting for the next release. my guess is that FMX will call for more updates than usual and wonder about support for the 2011 release in the future.
Thanks
Cursor tool problem & upgrade question
Re: Cursor tool problem & upgrade question
Hi Marc,
Here it is a simple example:
Please, try to arrange a simple example project we can run as-is to reproduce the problem here.
I've reproduced it so I've added it to the wish list to be revised in future releases. In the meanwhile, you could hide/show the cursor tool manually checking its position at OnScroll and OnZoom events. Or change its style if it is showing both horizontal and vertical lines.marc_x wrote:My customer complains that when zooming ans scrolling the cursor tool (in this case a vertival line) may go beyond the RightAxis where is is still visible but cannot be dragged anymore until scrolled back between the axes by scrolling the graph.
Here it is a simple example:
Code: Select all
uses Series, TeeTools;
var Cursor1: TCursorTool;
defaultCursorStyle: TCursorToolStyle;
procedure TForm1.FormCreate(Sender: TObject);
begin
Chart1.View3D:=false;
Chart1.AddSeries(TPointSeries).FillSampleValues();
Cursor1:=Chart1.Tools.Add(TCursorTool) as TCursorTool;
defaultCursorStyle:=Cursor1.Style;
end;
procedure TForm1.Chart1Scroll(Sender: TObject);
begin
CheckCursor;
end;
procedure TForm1.Chart1Zoom(Sender: TObject);
begin
CheckCursor;
end;
procedure TForm1.Chart1UndoZoom(Sender: TObject);
begin
CheckCursor;
end;
procedure TForm1.CheckCursor;
var showCursor, showHoriz, showVert: Boolean;
begin
showCursor:=true;
showVert:=(Cursor1.XValue>=Chart1.Axes.Bottom.Minimum) and (Cursor1.XValue<=Chart1.Axes.Bottom.Maximum);
showHoriz:=(Cursor1.YValue>=Chart1.Axes.Left.Minimum) and (Cursor1.YValue<=Chart1.Axes.Left.Maximum);
if showHoriz and showVert then Cursor1.Style:=defaultCursorStyle
else if showHoriz then Cursor1.Style:=cssHorizontal
else if showVert then Cursor1.Style:=cssVertical
else showCursor:=false;
Cursor1.Active:=showCursor;
end;
I'm not sure to see this. Find below the code I'm using. With it, I scroll the chart to a side. Then I drag the cursor to the new space without problems.marc_x wrote:It shoul also be noted that when the Series assigned to a cursor becomes invisible the cursor behaves in a way that customers do not understand. if you hade the series then scroll a bit off one side the moving the cursor the other way will stop at where the series was starting before it became invisible. workaround is to assign another visible series but you gotta knows
Code: Select all
uses Series, TeeTools;
var Cursor1: TCursorTool;
procedure TForm1.FormCreate(Sender: TObject);
begin
Chart1.View3D:=false;
Chart1.AddSeries(TPointSeries).FillSampleValues();
Chart1.AddSeries(TPointSeries).FillSampleValues();
Cursor1:=Chart1.Tools.Add(TCursorTool) as TCursorTool;
Cursor1.Series:=Chart1[0];
Chart1[0].Visible:=false;
end;
As you can read in the subscription agreement:marc_x wrote:Steema: I was also tempted to upgrade my version but worder since we are soo close to 2012 if I'd better waiting for the next release. my guess is that FMX will call for more updates than usual and wonder about support for the 2011 release in the future.
This means you'll be able to download any version published in the next 12 months after a renewal (any Standard version if you have a Standard license, any Pro version if you have a Pro license and any SourceCode version if you have a SourceCode version, of course) and get support through this forums during the same period. So the major/minor version number doesn't mean too much here.The subscription period
is initially for 12 months, renewable annually. Steema will send out a reminder near the end of the subscription period offering you the option to renew.
The subscription offers
Technical support and access to all minor and major updates during the subscription period.
Best Regards,
Yeray Alonso Development & Support Steema Software Av. Montilivi 33, 17003 Girona, Catalonia (SP) | |
Please read our Bug Fixing Policy |
Re: Cursor tool problem & upgrade question
Hi,
I have attached a simple app with instruction (on the app form) to show you the 2nd cursor problem.
You will get a warning when opening the project as I added a Units property to the library.
Regards
I have attached a simple app with instruction (on the app form) to show you the 2nd cursor problem.
You will get a warning when opening the project as I added a Units property to the library.
Regards
Re: Cursor tool problem & upgrade question
Hi Marc,
Where is the attachment?
Where is the attachment?
Best Regards,
Yeray Alonso Development & Support Steema Software Av. Montilivi 33, 17003 Girona, Catalonia (SP) | |
Please read our Bug Fixing Policy |
Re: Cursor tool problem & upgrade question
Take two
- Attachments
-
- TChartTool.zip
- (65.22 KiB) Downloaded 486 times
Re: Cursor tool problem & upgrade question
Hi Marc,
You are right. The problem is that the CursorTool is limited to be moved between the FirstVisibleIndex and LastVisibleIndex of the series linked to it, and when you hide a series, these indexes aren't updated. So a workaround is to force them to be recalculated at, for example, OnUndoZoom event:
You are right. The problem is that the CursorTool is limited to be moved between the FirstVisibleIndex and LastVisibleIndex of the series linked to it, and when you hide a series, these indexes aren't updated. So a workaround is to force them to be recalculated at, for example, OnUndoZoom event:
Code: Select all
uses Series, TeeTools;
procedure TForm1.FormCreate(Sender: TObject);
begin
Chart1.View3D:=false;
Chart1.Legend.CheckBoxes:=true;
Chart1.AddSeries(TFastLineSeries).FillSampleValues(100);
Chart1.AddSeries(TFastLineSeries).FillSampleValues(100);
with Chart1.Tools.Add(TCursorTool) as TCursorTool do
begin
Series:=Chart1[0];
Style:=cssVertical;
Snap:=true;
FollowMouse:=true;
end;
end;
procedure TForm1.Chart1UndoZoom(Sender: TObject);
begin
Chart1.Draw;
Chart1[0].CalcFirstLastVisibleIndex;
end;
Best Regards,
Yeray Alonso Development & Support Steema Software Av. Montilivi 33, 17003 Girona, Catalonia (SP) | |
Please read our Bug Fixing Policy |