Opened 7 months ago

Last modified 2 days ago

#2713 readytorelease enhancement

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 (18)

comment:1 Changed 7 months ago by pfleck

  • Status changed from new to accepted

comment:2 Changed 7 months ago by pfleck

r14435 Added new ToolStripMenuItem to the chart for DataTableView and ScatterPlotView to open the configuration dialog.

comment:3 Changed 7 months ago by pfleck

r14436 Pre-commited changes of VS auto-generated code for easier review later. (re-ordering of control initialization, ...)

comment:4 Changed 7 months ago by pfleck

r14437 Added a "isVisibleInLegendCheckBox" for data rows in DataTables.

comment:5 Changed 7 months ago by pfleck

r14438 Hide the chart-title if the title is empty (to avoid unnecessary empty space)

comment:6 Changed 7 months 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 6 months 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 6 months ago by pfleck

r14516 Fixed a charting issue that wrongly interprets scatterplot data if all x-values are zero.

comment:9 Changed 6 months ago by pfleck

r14519 Fixed an issue with ObjectDisposedExceptions by using a AsynchronousContentView as base class instead of a UserControl.

comment:10 Changed 6 months ago by pfleck

  • Owner changed from pfleck to abeham
  • Status changed from accepted to reviewing

comment:11 Changed 6 weeks 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 6 weeks 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 6 weeks ago by pfleck

r14987

  • 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 6 weeks ago by pfleck

  • Description modified (diff)
  • Owner changed from pfleck to abeham
  • Status changed from assigned to reviewing

comment:15 Changed 5 weeks ago by pfleck

r14992 Fixed a potential infinite loop that creates infinite datapoints.

comment:16 Changed 4 days 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.

Reviewed r14987 and r14992: okay

comment:17 Changed 3 days 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 2 days ago by abeham

  • Owner changed from abeham to pfleck
  • Status changed from reviewing to readytorelease

ok

Note: See TracTickets for help on using tickets.