heal-research / HeuristicLab

HeuristicLab - An environment for heuristic and evolutionary optimization
https://dev.heuristiclab.com
GNU General Public License v3.0
39 stars 16 forks source link

Configuration Context Menu for DataTableView and ScatterPlotView #2713

Closed HeuristicLab-Trac-Bot closed 7 years ago

HeuristicLab-Trac-Bot commented 7 years ago

Issue migrated from trac ticket # 2713

milestone: HeuristicLab 3.3.15 | component: Analysis.Views | priority: medium | resolution: done

2016-12-01 15:43:46: @NimZwei created the issue


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.

HeuristicLab-Trac-Bot commented 7 years ago

2016-12-01 15:49:38: @NimZwei changed status from new to accepted

HeuristicLab-Trac-Bot commented 7 years ago

2016-12-01 16:00:02: @NimZwei commented


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

HeuristicLab-Trac-Bot commented 7 years ago

2016-12-01 16:11:21: @NimZwei commented


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

HeuristicLab-Trac-Bot commented 7 years ago

2016-12-01 16:21:19: @NimZwei commented


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

HeuristicLab-Trac-Bot commented 7 years ago

2016-12-02 10:46:18: @NimZwei commented


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

HeuristicLab-Trac-Bot commented 7 years ago

2016-12-02 13:06:56: @NimZwei commented


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.

HeuristicLab-Trac-Bot commented 7 years ago

2016-12-16 14:31:55: @NimZwei commented


r14493 Added option in the ScatterPlotControl to show a regression curve for a ScatterPlotDataRow (linear, poly, exp, log, pow).

HeuristicLab-Trac-Bot commented 7 years ago

2016-12-21 16:48:58: @NimZwei commented


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

HeuristicLab-Trac-Bot commented 7 years ago

2016-12-22 11:02:59: @NimZwei commented


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

HeuristicLab-Trac-Bot commented 7 years ago

2017-01-05 15:22:29: @NimZwei changed status from accepted to reviewing

HeuristicLab-Trac-Bot commented 7 years ago

2017-01-05 15:22:29: @NimZwei changed owner from @NimZwei to @abeham

HeuristicLab-Trac-Bot commented 7 years ago

2017-05-11 15:16:45: @abeham changed status from reviewing to assigned

HeuristicLab-Trac-Bot commented 7 years ago

2017-05-11 15:16:45: @abeham changed owner from @abeham to @NimZwei

HeuristicLab-Trac-Bot commented 7 years ago

2017-05-11 15:16:45: @abeham commented


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 to r14439: 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:

#!csharp
    var dt = new ScatterPlot("Table", "");
    var row # new ScatterPlotDataRow() { Name"Row", VisualProperties # { PointSize8 }};
    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.

HeuristicLab-Trac-Bot commented 7 years ago

2017-05-15 16:27:03: @NimZwei commented


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.

HeuristicLab-Trac-Bot commented 7 years ago

2017-05-16 12:54:30: @NimZwei commented


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...".
HeuristicLab-Trac-Bot commented 7 years ago

2017-05-16 14:09:04: @NimZwei changed status from assigned to reviewing

HeuristicLab-Trac-Bot commented 7 years ago

2017-05-16 14:09:04: @NimZwei changed owner from @NimZwei to @abeham

HeuristicLab-Trac-Bot commented 7 years ago

2017-05-16 14:09:04: @NimZwei edited the issue description

HeuristicLab-Trac-Bot commented 7 years ago

2017-05-17 13:05:04: @NimZwei commented


r14992 Fixed a potential infinite loop that creates infinite datapoints.

HeuristicLab-Trac-Bot commented 7 years ago

2017-06-20 16:28:22: @abeham changed status from reviewing to assigned

HeuristicLab-Trac-Bot commented 7 years ago

2017-06-20 16:28:22: @abeham changed owner from @abeham to @NimZwei

HeuristicLab-Trac-Bot commented 7 years ago

2017-06-20 16:28:22: @abeham commented


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

HeuristicLab-Trac-Bot commented 7 years ago

2017-06-21 16:18:29: @NimZwei changed status from assigned to reviewing

HeuristicLab-Trac-Bot commented 7 years ago

2017-06-21 16:18:29: @NimZwei changed owner from @NimZwei to @abeham

HeuristicLab-Trac-Bot commented 7 years ago

2017-06-21 16:18:29: @NimZwei commented


r15042 Renamed ShowName to ShowChartOnly, added a backing field and introduced a method to perform the visibility changes of the controls.

HeuristicLab-Trac-Bot commented 7 years ago

2017-06-22 14:09:45: @abeham changed status from reviewing to readytorelease

HeuristicLab-Trac-Bot commented 7 years ago

2017-06-22 14:09:45: @abeham changed owner from @abeham to @NimZwei

HeuristicLab-Trac-Bot commented 7 years ago

2017-06-22 14:09:45: @abeham commented


ok

HeuristicLab-Trac-Bot commented 7 years ago

2017-06-27 11:40:37: @NimZwei commented


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

HeuristicLab-Trac-Bot commented 7 years ago

2017-06-30 16:08:44: @NimZwei commented


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.

HeuristicLab-Trac-Bot commented 7 years ago

2017-06-30 16:41:36: @NimZwei commented


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)
HeuristicLab-Trac-Bot commented 7 years ago

2017-07-04 11:37:14: @NimZwei changed status from readytorelease to closed

HeuristicLab-Trac-Bot commented 7 years ago

2017-07-04 11:37:14: @NimZwei set resolution to done