Feature #747

Finalize QuickSimulationView.

Added by pospelov almost 6 years ago. Updated almost 6 years ago.

Status:ArchivedStart date:01 Aug 2014
Priority:NormalDue date:
Assignee:-% Done:


Target version:Sprint 23


1) Refactor OutputDataWidget

The main goal is to use OutputDataWidget as a top widget to display data, and
not PlotWidget (as it is now done in QuickSimulationWidget).

1.1) PropertyWidget should be moved from PlotWidget to OutputDataWidget.
That means that OutputDataWidget should have QSlider which separates
PlotWidget from PropertyWidget.

1.2) OutputDataWidget should have the key in the constructor, to not to create
PropertyWidget at all.
Performance issue: make sure that when PropertyWidget is not shown,
no time is spend there.

1.3) Check connection of OutputDataItem in PropertyWidget::setupPropertyWidget()

1.4) Performance issue with projections in PropertyWidget: when they are not shown,
time should not be spend there.
No cross should be shown, when projections are hidden.

1.5) Take care about following warnings:

bool QCPLayoutGrid::addElement(int, int, QCPLayoutElement*) There is already an 
element in the specified row/column: 0 1
QPainter::begin: Paint device returned engine == 0, type: 2
void QCustomPlot::replot(QCustomPlot::RefreshPriority) Couldn't activate painter on buffer
i.e. CentralPlot::drawPlot() should work without warnings while calling repeatedly.
Clenup issue?

1.6) m_colorMap issue in CentralPlot::drawPlot

1.7) Strategy: first make sure that refactored widget is working in JobQueueView,
then integrate it in Quick simulation view.

2) SimulationView
2.1) The main layout should not have borders around QTabWidget.
2.2) Fancy ToolBar should be on top as for all other main Views.

3) QuickSimulationWidget

3.1) Should have toggle box "work on copy".

3.2) When switching to QuickSimulationWidget for the first time, the simulation should be started.
The progress bar should be displayed. Where?

3.3) The time of QuickSimulation should be measured and displayed on the screen with possible Warning
when it is too slow.

3.4) Kind of "Busy" widget should be possible to indicate that no sence to move slider further.

3.5) PlotWidget should be replaced with OutputDataWidget

3.6) OutputDataWidget and ModelTuningWidget should be separated with QSlider.

4) ModelTuningWidget

4.1) Creation of QStandardItemModel should be moved into some static class, for example in QuickSimulationHelper.

4.2) TreeView should not have any menu with the right mouse button.

4.3) It shouldn't be possible to modify names of items in QStandardModel.

4.4) QSlider should not have backgroup - i.e. center style.

4.5) QDoubleSpinBox should be replaced with QLineEdit + QDoubleValidator as in BeamEditorWidget

4.6) QSlider should have little buttons from the left and right which will move slider by certain ammounf of percents0

4.7) Limitations on negative values in QSlider. Make use of PropertyAttribute And AttLimits. To discuss.

4.8) Think how to change in QSlider limits from +- 10% to variable size.

4.9) Implement button - propagate back to the model.

4.10) Add InstrumentModel into the QStandardItemModel

4.11) TreeView should have correct width of columns.

5) ModelTuningDelegate

5.1) m_valueBox, m_contentWidget, m_contentLayout should not be mutable

6) Project

5.1) Currently it asks for saving project even if no project has been modified yet.


#1 Updated by pospelov almost 6 years ago

  • Description updated (diff)
  • Status changed from Sprint to Resolved

Not everything from the list has been done (QDoubleValidator, new QSlider still have to be implemented). It will come with the next refactoring item #768.

#2 Updated by pospelov almost 6 years ago

  • Status changed from Resolved to Archived

Also available in: Atom PDF