Opened 8 years ago
Closed 7 years ago
#2713 closed enhancement (done)
Configuration Context Menu for DataTableView and ScatterPlotView
Reported by: | pfleck | Owned by: | pfleck |
---|---|---|---|
Priority: | medium | Milestone: | HeuristicLab 3.3.15 |
Component: | Analysis.Views | Version: | 3.3.14 |
Keywords: | Cc: |
Description (last modified by pfleck)
The DataTableView and ScatterPlotView both offer a config dialog option, which is accessible when shown within a ViewHost.
These configuration dialogs should also be accessible via the context menu of the chart (along the export options), to be able to open the config dialog without the ViewHost.
Furthermore, the DataTableView configuration dialog is lacking the option to hide a data series in the legend (in the same way the ScatterPlot offers this option).
Additionally, an optional regression-line is added for the ScatterPlotView.
Change History (22)
comment:1 Changed 8 years ago by pfleck
- Status changed from new to accepted
comment:2 Changed 8 years ago by pfleck
comment:3 Changed 8 years ago by pfleck
r14436 Pre-commited changes of VS auto-generated code for easier review later. (re-ordering of control initialization, ...)
comment:4 Changed 8 years ago by pfleck
r14437 Added a "isVisibleInLegendCheckBox" for data rows in DataTables.
comment:5 Changed 8 years ago by pfleck
r14438 Hide the chart-title if the title is empty (to avoid unnecessary empty space)
comment:6 Changed 8 years ago by pfleck
r14439 Moved the charting logic out of DataTableView and ScatterPlotView into new DataTableControl and ScatterPlotControl. This way, the new controls can be reused without the name-textbox etc from the NamedItemView base class.
comment:7 Changed 8 years ago by pfleck
r14493 Added option in the ScatterPlotControl to show a regression curve for a ScatterPlotDataRow (linear, poly, exp, log, pow).
comment:8 Changed 8 years ago by pfleck
r14516 Fixed a charting issue that wrongly interprets scatterplot data if all x-values are zero.
comment:9 Changed 8 years ago by pfleck
r14519 Fixed an issue with ObjectDisposedExceptions by using a AsynchronousContentView as base class instead of a UserControl.
comment:10 Changed 8 years ago by pfleck
- Owner changed from pfleck to abeham
- Status changed from accepted to reviewing
comment:11 Changed 7 years ago by abeham
- Owner changed from abeham to pfleck
- Status changed from reviewing to assigned
Reviewed r14435: The tool strip menu item should read "Configure Chart...". The points indicate that an application modal dialog is going to be opened.
Reviewed r14436:14439: ok
Reviewed r14493: The scatter plot will display an error if there are negative y values and you're using Logarithmic regression. There is nothing displayed if Exponential regression is chosen. Also given the script below, the regression line is not drawn up to the last point, if e.g. Polynomial or Linear regression is chosen:
var dt = new ScatterPlot("Table", ""); var row = new ScatterPlotDataRow() { Name = "Row", VisualProperties = { PointSize = 8 }}; row.Points.AddRange(new [] { new Point2D<double>(0, -3), new Point2D<double>(1, -2), new Point2D<double>(2, -1), new Point2D<double>(3, -0.5), new Point2D<double>(4, -0.25), new Point2D<double>(5, -0.125) }); dt.Rows.Add(row); vars.dt = dt;
Reviewed r14516: ok
Reviewed r14519: Maybe you can add IConfigureableView to DataTableControl and ScatterPlotControl now that it is an AsynchronousContentView? It's also rather unique to have a content view that has neither a view nor a content attribute. Thus, I think it is better to derive DataTableView from DataTableControl instead of NamedItemView and reimplement the name/description handling.
comment:12 Changed 7 years ago by pfleck
r14982 Reverted the separation of the DataTable/ScatterPlotView in -View and -Control. Instead, a ShowName property is added to control whether the name-textbox and the info-label from the NamedItemView are shown.
comment:13 Changed 7 years ago by pfleck
- Fixed problems with negative values for some regression types.
- Fixed issue where the regression line was not drawn up to the last point.
- Tool strip now reads "Configure Chart...".
comment:14 Changed 7 years ago by pfleck
- Description modified (diff)
- Owner changed from pfleck to abeham
- Status changed from assigned to reviewing
comment:15 Changed 7 years ago by pfleck
r14992 Fixed a potential infinite loop that creates infinite datapoints.
comment:16 Changed 7 years ago by abeham
- Owner changed from abeham to pfleck
- Status changed from reviewing to assigned
Reviewed r14982:
- I think ShowName can throw an IllegalCrossThreadException if accessed from a Non-UI thread.
- The new property is called ShowName, but actually is implemented to show only the chart and hide everything else (also controls added by a potential derived view). I would thus suggest to rename it to "ShowOnlyChart" or "ShowChartOnly". Also I would use a private backing field for the property instead of accessing UI controls in the getter or setter. Introduce a method for performing the setter action and check for invoke required there.
comment:17 Changed 7 years ago by pfleck
- Owner changed from pfleck to abeham
- Status changed from assigned to reviewing
r15042 Renamed ShowName to ShowChartOnly, added a backing field and introduced a method to perform the visibility changes of the controls.
comment:18 Changed 7 years ago by abeham
- Owner changed from abeham to pfleck
- Status changed from reviewing to readytorelease
ok
comment:19 Changed 7 years ago by pfleck
comment:20 Changed 7 years ago by pfleck
Due to a svn-move operation of DataTable/ScatterPlotControl -> DataTable/ScatterPlotView (in r14982), changes of multiple tickets (#2713, #2715, #2765) were included in a single revision. Instead of a manually extracting the changes from that files, all three tickets will be merged and released simultaneously.
comment:21 Changed 7 years ago by pfleck
comment:22 Changed 7 years ago by pfleck
- Resolution set to done
- Status changed from readytorelease to closed
r14435 Added new ToolStripMenuItem to the chart for DataTableView and ScatterPlotView to open the configuration dialog.