I'm using a line series graph with pointer.
How to create custom tooltip when i click on pointer ?
Thanks a lot for your answer.
custom tooltip
Re: custom tooltip
I also want to custom the display of label to add an icon to represent a level for each y value
-
- Site Admin
- Posts: 14730
- Joined: Mon Jun 09, 2003 4:00 am
- Location: Banyoles, Catalonia
- Contact:
Re: custom tooltip
Hi Mulderone,
You should use a MarksTip tool as in the Tools -> Mark Tips examples at TeeChart.Features.jar demo.
Hope this helps!
You should use a MarksTip tool as in the Tools -> Mark Tips examples at TeeChart.Features.jar demo.
Hope this helps!
Best Regards,
Narcís Calvet / Development & Support Steema Software Avinguda Montilivi 33, 17003 Girona, Catalonia Tel: 34 972 218 797 http://www.steema.com |
Instructions - How to post in this forum |
Re: custom tooltip
i look at the code and test it but it's not precise when you touch the screen.
It's possible to add a listener on the SeriePoint or get the nearest SeriePointer for an X,Y coordinate ?
I understand that the android version share the same code as Java library but using mouse on PC is most precise, which is not the case on Android device.
I just want to touch a single point on the line series and draw a custom toast nearest the point.
Is it possible or not ?
It's possible to add a listener on the SeriePoint or get the nearest SeriePointer for an X,Y coordinate ?
I understand that the android version share the same code as Java library but using mouse on PC is most precise, which is not the case on Android device.
I just want to touch a single point on the line series and draw a custom toast nearest the point.
Is it possible or not ?
-
- Site Admin
- Posts: 14730
- Joined: Mon Jun 09, 2003 4:00 am
- Location: Banyoles, Catalonia
- Contact:
Re: custom tooltip
Hi Mulderone,
Yes, you could use series' click event, its clicked method in chart mouse events or the NearestPoint tool.
Yes, you could use series' click event, its clicked method in chart mouse events or the NearestPoint tool.
Best Regards,
Narcís Calvet / Development & Support Steema Software Avinguda Montilivi 33, 17003 Girona, Catalonia Tel: 34 972 218 797 http://www.steema.com |
Instructions - How to post in this forum |
Re: custom tooltip
Could you be more precise ?
the series accept only 2 listeners, i'm using the the serieMouseListener but i 'have a nullPointer exception when i touch the graph and i can't find the nearestPoint method
Could you help me ?
the NullPointerException stackTrace
the series accept only 2 listeners, i'm using the the serieMouseListener but i 'have a nullPointer exception when i touch the graph and i can't find the nearestPoint method
Could you help me ?
Code: Select all
final Series series = Series.createNewSeries(this.getChart(), Line.class,
null);
series.getXValues().setDateTime(true);
/**
* Configuration graphique des points de la série
*/
final SeriesPointer seriesPointer = ((CustomPoint) series).getPointer();
seriesPointer.setVisible(true);
seriesPointer.setVertSize(6);
seriesPointer.setHorizSize(6);
seriesPointer.setColor(series.getColor());
seriesPointer.getPen().setColor(Color.WHITE);
seriesPointer.getPen().setVisible(true);
seriesPointer.getPen().setWidth(3);
seriesPointer.setStyle(PointerStyle.CIRCLE);
/**
* Configuration graphique des tooltips de chaque point
*/
final MarksTip marksTip = new MarksTip(
this.getChart());
series.addSeriesMouseListener(new SeriesMouseAdapter() {
public void seriesClicked(SeriesMouseEvent e) {
marksTip.setMouseDelay(0);
marksTip.setSeries(series);
Toast t;
t = Toast.makeText(activity, marksTip.getSeries()
.getValueMarkText(e.getValueIndex()),
Toast.LENGTH_SHORT);
t.show();
};
});
11-22 14:26:13.745: E/AndroidRuntime(2049): java.lang.NullPointerException
11-22 14:26:13.745: E/AndroidRuntime(2049): at com.steema.teechart.styles.Custom.checkPointInLine(Custom.java:425)
11-22 14:26:13.745: E/AndroidRuntime(2049): at com.steema.teechart.styles.Custom.clicked(Custom.java:510)
11-22 14:26:13.745: E/AndroidRuntime(2049): at com.steema.teechart.styles.Series.clicked(Series.java:3130)
11-22 14:26:13.745: E/AndroidRuntime(2049): at com.steema.teechart.tools.MarksTip.mouseEvent(MarksTip.java:222)
11-22 14:26:13.745: E/AndroidRuntime(2049): at com.steema.teechart.Chart.broadcastMouseEvent(Chart.java:938)
11-22 14:26:13.745: E/AndroidRuntime(2049): at com.steema.teechart.Chart.broadcastMouseEvent(Chart.java:928)
11-22 14:26:13.745: E/AndroidRuntime(2049): at com.steema.teechart.Chart.mouseMoved(Chart.java:1313)
11-22 14:26:13.745: E/AndroidRuntime(2049): at com.steema.teechart.TChart.processMouseMotionEvent(TChart.java:971)
11-22 14:26:13.745: E/AndroidRuntime(2049): at com.steema.teechart.TChart.onTouch(TChart.java:1137)
11-22 14:26:13.745: E/AndroidRuntime(2049): at android.view.View.dispatchTouchEvent(View.java:3762)
11-22 14:26:13.745: E/AndroidRuntime(2049): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:936)
11-22 14:26:13.745: E/AndroidRuntime(2049): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:936)
11-22 14:26:13.745: E/AndroidRuntime(2049): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:936)
11-22 14:26:13.745: E/AndroidRuntime(2049): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:936)
11-22 14:26:13.745: E/AndroidRuntime(2049): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:936)
11-22 14:26:13.745: E/AndroidRuntime(2049): at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1716)
11-22 14:26:13.745: E/AndroidRuntime(2049): at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1114)
11-22 14:26:13.745: E/AndroidRuntime(2049): at android.app.Activity.dispatchTouchEvent(Activity.java:2086)
11-22 14:26:13.745: E/AndroidRuntime(2049): at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1700)
11-22 14:26:13.745: E/AndroidRuntime(2049): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:936)
11-22 14:26:13.745: E/AndroidRuntime(2049): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:936)
11-22 14:26:13.745: E/AndroidRuntime(2049): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:936)
11-22 14:26:13.745: E/AndroidRuntime(2049): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:936)
11-22 14:26:13.745: E/AndroidRuntime(2049): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:936)
11-22 14:26:13.745: E/AndroidRuntime(2049): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:936)
11-22 14:26:13.745: E/AndroidRuntime(2049): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:936)
11-22 14:26:13.745: E/AndroidRuntime(2049): at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1716)
11-22 14:26:13.745: E/AndroidRuntime(2049): at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1114)
11-22 14:26:13.745: E/AndroidRuntime(2049): at android.app.Activity.dispatchTouchEvent(Activity.java:2086)
11-22 14:26:13.745: E/AndroidRuntime(2049): at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1700)
11-22 14:26:13.745: E/AndroidRuntime(2049): at android.view.ViewRoot.handleMessage(ViewRoot.java:1785)
11-22 14:26:13.745: E/AndroidRuntime(2049): at android.os.Handler.dispatchMessage(Handler.java:99)
11-22 14:26:13.745: E/AndroidRuntime(2049): at android.os.Looper.loop(Looper.java:123)
11-22 14:26:13.745: E/AndroidRuntime(2049): at android.app.ActivityThread.main(ActivityThread.java:4627)
11-22 14:26:13.745: E/AndroidRuntime(2049): at java.lang.reflect.Method.invokeNative(Native Method)
11-22 14:26:13.745: E/AndroidRuntime(2049): at java.lang.reflect.Method.invoke(Method.java:521)
11-22 14:26:13.745: E/AndroidRuntime(2049): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
11-22 14:26:13.745: E/AndroidRuntime(2049): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
11-22 14:26:13.745: E/AndroidRuntime(2049): at dalvik.system.NativeStart.main(Native Method)
Re: custom tooltip
Hello Mulderone,
I'm not getting the error you are with that code but I see the MarksTip has an strange response. It has to be revised.
In the meanwhile, the following code seems to work better, could you please give it a try?
I'm not getting the error you are with that code but I see the MarksTip has an strange response. It has to be revised.
In the meanwhile, the following code seems to work better, could you please give it a try?
Code: Select all
private static com.steema.teechart.tools.Annotation annot1;
com.steema.teechart.styles.Line lineSeries;
private void initializeChart() {
tChart1.getAspect().setView3D(false);
tChart1.getLegend().setVisible(false);
lineSeries = new com.steema.teechart.styles.Line(tChart1.getChart());
lineSeries.getPointer().setVisible(true);
lineSeries.fillSampleValues(10);
annot1 = new com.steema.teechart.tools.Annotation(tChart1.getChart());
annot1.setActive(false);
lineSeries.addSeriesMouseListener(new SeriesMouseListener() {
@Override
public void seriesExited(SeriesMouseEvent e) {}
@Override
public void seriesEntered(SeriesMouseEvent e) {}
@Override
public void seriesClicked(SeriesMouseEvent e) {
annot1.setActive(false);
for (int valueIndex=0; valueIndex<lineSeries.getCount(); valueIndex++) {
if (lineSeries.clickedPointer(lineSeries.calcXPos(valueIndex), lineSeries.calcYPos(valueIndex), e.getPoint().x, e.getPoint().y)) {
annot1.setText(String.valueOf(lineSeries.getYValues().getValue(valueIndex)));
annot1.getShape().setCustomPosition(true);
annot1.setLeft(e.getPoint().x);
annot1.setTop(e.getPoint().y - 20);
annot1.setActive(true);
}
}
}
});
Best Regards,
Yeray Alonso Development & Support Steema Software Av. Montilivi 33, 17003 Girona, Catalonia (SP) | |
Please read our Bug Fixing Policy |
Re: custom tooltip
thanks for your help.
I've found a solution : a SerieMouseListener and i'm using a Toast object with a custom inner view.
I don't pop-up the toast near the point but the look&feel is ok
I've found a solution : a SerieMouseListener and i'm using a Toast object with a custom inner view.
I don't pop-up the toast near the point but the look&feel is ok