[Lazarus] Installing Components

Technical tech at polypressuk.co.uk
Sun May 30 11:28:24 CEST 2010


Alexander Klenin wrote:
> So let's take you as a representative sample ;-)
> Do you feel it is justified to remove these
> properties to get multiple reticules and TReticule.Pen property instead?
>   
As I was browsing through the code last night, I was actually surprised 
that the reticule pen property
was not already made public in TAChart.  I'll have the check out the 
LineDragTool--it sounds like it
will work better for what I want to do anyway.  Rather than make so many 
heavy changes to the reticule,
I wonder if it would be easier and more compatible to make a new tool 
like LineDrag that can be configured
to snap to point and act like a reticule--or not.  Perhaps at some point 
later the reticule, with all its
hard-coded properties and marriage to mouse movements, could be 
deprecated. 

> However, what you want is not actually a job for reticules,
> since they are designed to follow cursor and data points.
> It is better performed by dragging TConstantLine-s
> In fact, similar feature request has already come up in the past,
> so I implemented it now -- see TConstantLineDragTool
> and toolsdemo at r25751
>   
I don't mind the way the reticule snaps to data points for my current 
application.  I'm working with
discrete samples and any interpretation between data points is 
meaningless anyway.  Even if the
motion is made continuous, I still want to return discrete 
horizontal-axis values:
(sample1, sample2, sample3...) or (0ms, 10ms, 20ms, 30ms ...), for 
example.  I haven't looked at the
new tool yet, but it would be neat if it had a couple properties to make 
the motion continuous or discrete
and to make the returned value continuous or discrete.  Combined with 
the pen property, that should make
it able to replace the vertical reticule in functionality while still 
allowing multiple instances, dragging, pen properties, etc.

If it was possible to have two vertical drag tools and two horizontal 
drag tools, you could implement
measurement cursors on the chart that acted like oscilloscope cursors.  
Very useful to me.

> This can be done, see "Linear transform" page in axis demo.
> Try changing Offset value of catTCelToFahr transformation.
> The most serious limitation is that you must calculate the offset (and
> scale, if needed),
> yourself -- TChart can not do this automatically based on series value range.
> This is the main point left for closing two long-standing tracker issues
I did check that out and it almost works for me.  I'm displaying series 
of the same height, so
I can use a scale of 1 and manually calculated offsets.  I just have to 
come up with a way to add
names for each series on the left of the chart.  I think I can do it if 
I hide every axis but the first one
and then name the visible axis similar to the "customized marks" 
example.  I want something like
CH1 -
CH2 -
CH3 -
where each series is vertically aligned with the label on the left.

I REALY like TAChart and TATools, by the way.  Thanks for all the work 
you've done maintaining and extending it.

-Rick





More information about the Lazarus mailing list