Opened 9 months ago

Closed 6 weeks 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 9 months ago by pfleck

  • Status changed from new to accepted

comment:2 Changed 9 months ago by pfleck

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

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

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

comment:5 Changed 9 months ago by pfleck

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

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

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

comment:9 Changed 8 months ago by pfleck

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

comment:10 Changed 7 months ago by pfleck

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

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

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

comment:15 Changed 3 months ago by pfleck

r14992 Fixed a potential infinite loop that creates infinite datapoints.

comment:16 Changed 2 months 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 2 months 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 8 weeks ago by abeham

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

ok

comment:19 Changed 7 weeks ago by pfleck

In r14982, I accidentally included some changes of #2715 in the change (moved the whole file); thus, this ticket will be released after #2715.

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

r15097: Merged to stable

  • 14435-14439,14493,14516,14519,14982,14987,14992,15042 (from #2713)
  • 14457-14458,14508,14582,14740,14984,15068,15095 (from #2715)
  • 14860-14861 (from #2765)

comment:22 Changed 6 weeks ago by pfleck

  • Resolution set to done
  • Status changed from readytorelease to closed
Note: See TracTickets for help on using tickets.