<table><tr><td style="">croick updated this revision to Diff 50352.<br />croick retitled this revision from "Optimize and reduce code in GuiObserver" to "Use enum to identify AbstractAspect".<br />croick edited the summary of this revision. <a href="https://phabricator.kde.org/transactions/detail/PHID-XACT-DREV-ukjdqjdc3a73yim/">(Show Details)</a><br />croick added a comment.
</td><a style="text-decoration: none; padding: 4px 8px; margin: 0 8px 8px; float: right; color: #464C5C; font-weight: bold; border-radius: 3px; background-color: #F7F7F9; background-image: linear-gradient(to bottom,#fff,#f1f0f1); display: inline-block; border: 1px solid rgba(71,87,120,.2);" href="https://phabricator.kde.org/D18420">View Revision</a></tr></table><br /><div><div><ul class="remarkup-list">
<li class="remarkup-list-item">use enum to identify AbstractAspects and use it throughout the project</li>
</ul></div></div><br /><div><strong>CHANGES TO REVISION SUMMARY</strong><div><div style="white-space: pre-wrap; color: #74777D;"><span style="padding: 0 2px; color: #333333; background: rgba(251, 175, 175, .7);">- use template function for dock widget creation</span><span style="padding: 0 2px; color: #333333; background: rgba(151, 234, 151, .6);">- replace string class name checks by an enum</span><br />
<span style="padding: 0 2px; color: #333333; background: rgba(251, 175, 175, .7);">- use template function for aspect list casting</span><span style="padding: 0 2px; color: #333333; background: rgba(151, 234, 151, .6);">  version</span><br />
<span style="padding: 0 2px; color: #333333; background: rgba(251, 175, 175, .7);">- us</span><span style="padding: 0 2px; color: #333333; background: rgba(151, 234, 151, .6);">Reduc</span>e co<span style="padding: 0 2px; color: #333333; background: rgba(251, 175, 175, .7);">mpile-time hashes for class name dependent</span><span style="padding: 0 2px; color: #333333; background: rgba(151, 234, 151, .6);">de in GuiObserver</span><br />
<span style="padding: 0 2px; color: #333333; background: rgba(251, 175, 175, .7);">  branches (switch instead of if-else if-...) to</span><span style="padding: 0 2px; color: #333333; background: rgba(151, 234, 151, .6);">- use template function for dock widget creation</span><br />
<span style="padding: 0 2px; color: #333333; background: rgba(251, 175, 175, .7);">  save a lot of string comparisons</span><span style="padding: 0 2px; color: #333333; background: rgba(151, 234, 151, .6);">- use template function for aspect list casting</span></div></div></div><br /><div><strong>REPOSITORY</strong><div><div>R262 LabPlot</div></div></div><br /><div><strong>CHANGES SINCE LAST UPDATE</strong><div><a href="https://phabricator.kde.org/D18420?vs=49969&id=50352">https://phabricator.kde.org/D18420?vs=49969&id=50352</a></div></div><br /><div><strong>BRANCH</strong><div><div>guiobserver</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D18420">https://phabricator.kde.org/D18420</a></div></div><br /><div><strong>AFFECTED FILES</strong><div><div>src/backend/cantorWorksheet/CantorWorksheet.cpp<br />
src/backend/core/AbstractAspect.cpp<br />
src/backend/core/AbstractAspect.h<br />
src/backend/core/AbstractColumn.cpp<br />
src/backend/core/AbstractColumn.h<br />
src/backend/core/AbstractFilter.h<br />
src/backend/core/AbstractPart.cpp<br />
src/backend/core/AbstractPart.h<br />
src/backend/core/AbstractSimpleFilter.h<br />
src/backend/core/AspectTreeModel.cpp<br />
src/backend/core/AspectTreeModel.h<br />
src/backend/core/Folder.cpp<br />
src/backend/core/Folder.h<br />
src/backend/core/Project.cpp<br />
src/backend/core/Workbook.cpp<br />
src/backend/core/column/Column.cpp<br />
src/backend/core/column/Column.h<br />
src/backend/core/column/ColumnStringIO.cpp<br />
src/backend/datapicker/Datapicker.cpp<br />
src/backend/datapicker/DatapickerCurve.cpp<br />
src/backend/datapicker/DatapickerImage.cpp<br />
src/backend/datapicker/DatapickerPoint.cpp<br />
src/backend/datasources/AbstractDataSource.cpp<br />
src/backend/datasources/AbstractDataSource.h<br />
src/backend/datasources/LiveDataSource.cpp<br />
src/backend/datasources/MQTTClient.cpp<br />
src/backend/datasources/MQTTSubscription.cpp<br />
src/backend/datasources/MQTTTopic.cpp<br />
src/backend/datasources/projects/LabPlotProjectParser.cpp<br />
src/backend/datasources/projects/OriginProjectParser.cpp<br />
src/backend/datasources/projects/ProjectParser.cpp<br />
src/backend/datasources/projects/ProjectParser.h<br />
src/backend/matrix/Matrix.cpp<br />
src/backend/note/Note.cpp<br />
src/backend/spreadsheet/Spreadsheet.cpp<br />
src/backend/spreadsheet/Spreadsheet.h<br />
src/backend/worksheet/TextLabel.cpp<br />
src/backend/worksheet/Worksheet.cpp<br />
src/backend/worksheet/WorksheetElement.cpp<br />
src/backend/worksheet/WorksheetElement.h<br />
src/backend/worksheet/WorksheetElementContainer.cpp<br />
src/backend/worksheet/WorksheetElementContainer.h<br />
src/backend/worksheet/WorksheetElementGroup.cpp<br />
src/backend/worksheet/plots/AbstractPlot.cpp<br />
src/backend/worksheet/plots/AbstractPlot.h<br />
src/backend/worksheet/plots/PlotArea.cpp<br />
src/backend/worksheet/plots/cartesian/Axis.cpp<br />
src/backend/worksheet/plots/cartesian/CartesianPlot.cpp<br />
src/backend/worksheet/plots/cartesian/CartesianPlotLegend.cpp<br />
src/backend/worksheet/plots/cartesian/CustomPoint.cpp<br />
src/backend/worksheet/plots/cartesian/Histogram.cpp<br />
src/backend/worksheet/plots/cartesian/XYAnalysisCurve.cpp<br />
src/backend/worksheet/plots/cartesian/XYAnalysisCurve.h<br />
src/backend/worksheet/plots/cartesian/XYConvolutionCurve.cpp<br />
src/backend/worksheet/plots/cartesian/XYCorrelationCurve.cpp<br />
src/backend/worksheet/plots/cartesian/XYCurve.cpp<br />
src/backend/worksheet/plots/cartesian/XYCurve.h<br />
src/backend/worksheet/plots/cartesian/XYDataReductionCurve.cpp<br />
src/backend/worksheet/plots/cartesian/XYDifferentiationCurve.cpp<br />
src/backend/worksheet/plots/cartesian/XYEquationCurve.cpp<br />
src/backend/worksheet/plots/cartesian/XYFitCurve.cpp<br />
src/backend/worksheet/plots/cartesian/XYFourierFilterCurve.cpp<br />
src/backend/worksheet/plots/cartesian/XYFourierTransformCurve.cpp<br />
src/backend/worksheet/plots/cartesian/XYIntegrationCurve.cpp<br />
src/backend/worksheet/plots/cartesian/XYInterpolationCurve.cpp<br />
src/backend/worksheet/plots/cartesian/XYSmoothCurve.cpp<br />
src/commonfrontend/ProjectExplorer.cpp<br />
src/commonfrontend/widgets/TreeViewComboBox.cpp<br />
src/commonfrontend/widgets/TreeViewComboBox.h<br />
src/kdefrontend/GuiObserver.cpp<br />
src/kdefrontend/MainWin.cpp<br />
src/kdefrontend/datasources/ImportDialog.cpp<br />
src/kdefrontend/datasources/ImportFileDialog.cpp<br />
src/kdefrontend/datasources/ImportProjectDialog.cpp<br />
src/kdefrontend/datasources/ImportSQLDatabaseDialog.cpp<br />
src/kdefrontend/dockwidgets/AxisDock.cpp<br />
src/kdefrontend/dockwidgets/HistogramDock.cpp<br />
src/kdefrontend/dockwidgets/XYConvolutionCurveDock.cpp<br />
src/kdefrontend/dockwidgets/XYCorrelationCurveDock.cpp<br />
src/kdefrontend/dockwidgets/XYCurveDock.cpp<br />
src/kdefrontend/dockwidgets/XYDataReductionCurveDock.cpp<br />
src/kdefrontend/dockwidgets/XYDifferentiationCurveDock.cpp<br />
src/kdefrontend/dockwidgets/XYFitCurveDock.cpp<br />
src/kdefrontend/dockwidgets/XYFourierFilterCurveDock.cpp<br />
src/kdefrontend/dockwidgets/XYFourierTransformCurveDock.cpp<br />
src/kdefrontend/dockwidgets/XYIntegrationCurveDock.cpp<br />
src/kdefrontend/dockwidgets/XYInterpolationCurveDock.cpp<br />
src/kdefrontend/dockwidgets/XYSmoothCurveDock.cpp<br />
src/kdefrontend/spreadsheet/FunctionValuesDialog.cpp<br />
src/kdefrontend/spreadsheet/FunctionValuesDialog.h<br />
src/kdefrontend/spreadsheet/PlotDataDialog.cpp</div></div></div><br /><div><strong>To: </strong>croick, LabPlot<br /><strong>Cc: </strong>asemke, kde-edu, narvaez, apol<br /></div>