![]() | Steema Issues DatabaseNote: This database is for bugs and wishes only. For technical support help, if you are a customer please visit our online forums;otherwise you can use StackOverflow. Before using this bug-tracker we recommend a look at this document, Steema Bug Fixing Policy. |
| Summary: | empty marks display non-empty marks text. | ||
|---|---|---|---|
| Product: | VCL TeeChart | Reporter: | narcís calvet <narcis> |
| Component: | Series | Assignee: | Steema Issue Manager <issuemanager> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | CC: | david |
| Priority: | Normal | ||
| Version: | 140220 | ||
| Target Milestone: | --- | ||
| Hardware: | PC | ||
| OS: | Windows | ||
| URL: | http://www.teechart.net/support/viewtopic.php?f=3&t=14762 | ||
| Chart Series: | --- | Delphi / C++ Builder RAD IDE Version: | |
| Attachments: | Only one mark (index 3) should be displayed. | ||
This behaviour has always been like this. The default "smsLabel" style will use the point Label, and if empty, it will use the point Value. We will need to add a new style enum to not break backwards compatibility: Series1.Marks.Style := smsLabelOnly ; Fixed. The best solution is:
1) A new enum has been added, and this new enum is made the default:
Series1.Marks.Style := smsLabelOrValue
2) The existing smsLabel will now return only the series point text Label.
If label is empty (''), no mark will be displayed.
--------
Compatibility:
Existing charts with old default smsLabel will use the new smsLabelOrValue when loaded. Everything will work as before.
The only backwards-compatible problem is when Style is set by code to "smsLabel". In this case, empty Labels will not display Value.
If this is the desired behaviour, style should be set to smsLabelOrValue.
|
Created attachment 117 [details] Only one mark (index 3) should be displayed. The attached project should only display display a mark, where index is 3, other marks should not be displayed. However, it copies the same mark for all points in the series. A workaround is implementing OnGetMarkText event like this: procedure TForm1.Series1GetMarkText(Sender: TChartSeries; ValueIndex: Integer; var MarkText: String); begin if Series1.Labels[ValueIndex]='' then MarkText:=''; end;