From cba51615d876b51c5d81b0c780b0cc69ca0dac81 Mon Sep 17 00:00:00 2001 From: Magne Sjaastad Date: Fri, 20 Sep 2019 09:44:26 +0200 Subject: [PATCH 1/4] #4722 Summary Plot Editor : Update current item in tree view Make sure the current selected item in the tree view is updated with the value in the underlying field. --- .../cafPdmUiTreeSelectionEditor.cpp | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/Fwk/AppFwk/cafUserInterface/cafPdmUiTreeSelectionEditor.cpp b/Fwk/AppFwk/cafUserInterface/cafPdmUiTreeSelectionEditor.cpp index 0dff488240..cabc12f4f4 100644 --- a/Fwk/AppFwk/cafUserInterface/cafPdmUiTreeSelectionEditor.cpp +++ b/Fwk/AppFwk/cafUserInterface/cafPdmUiTreeSelectionEditor.cpp @@ -354,6 +354,26 @@ void PdmUiTreeSelectionEditor::configureAndUpdateUi(const QString& uiConfigName) m_treeView->setRootIsDecorated(m_model->hasGrandChildren()); m_model->resetUiValueCache(); + + if (m_attributes.fieldToReceiveCurrentItemValue) + { + PdmUiFieldHandle* uiFieldHandle = m_attributes.fieldToReceiveCurrentItemValue->uiCapability(); + if (uiFieldHandle) + { + QModelIndexList indices = allVisibleSourceModelIndices(); + QVariant currentItemValue = uiFieldHandle->uiValue(); + + for (const auto& mi : indices) + { + QVariant itemValue = m_model->data(mi, PdmUiTreeSelectionQModel::optionItemValueRole()); + if (currentItemValue == itemValue) + { + QModelIndex treeViewIndex = m_proxyModel->mapFromSource(mi); + m_treeView->setCurrentIndex(treeViewIndex); + } + } + } + } } //-------------------------------------------------------------------------------------------------- From b92618ebd360a77d99fd6a03b50b79bce0a91303 Mon Sep 17 00:00:00 2001 From: Magne Sjaastad Date: Fri, 20 Sep 2019 09:45:15 +0200 Subject: [PATCH 2/4] #4722 Summary Plot Editor : Set the current category to the first selected category --- .../UserInterface/RiuSummaryCurveDefSelection.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/ApplicationCode/UserInterface/RiuSummaryCurveDefSelection.cpp b/ApplicationCode/UserInterface/RiuSummaryCurveDefSelection.cpp index f76ae86b0b..db83fbe56a 100644 --- a/ApplicationCode/UserInterface/RiuSummaryCurveDefSelection.cpp +++ b/ApplicationCode/UserInterface/RiuSummaryCurveDefSelection.cpp @@ -605,6 +605,7 @@ void RiuSummaryCurveDefSelection::setSelectedCurveDefinitions( const std::vector { resetAllFields(); + std::set categories; for ( const auto& curveDef : curveDefinitions ) { if ( !( curveDef.summaryCase() || curveDef.isEnsembleCurve() ) ) continue; @@ -664,6 +665,14 @@ void RiuSummaryCurveDefSelection::setSelectedCurveDefinitions( const std::vector ( *identifierAndField->pdmField() ) = newSelectionVector; } } + + categories.insert( curveDef.summaryAddress().category() ); + } + + if ( !categories.empty() ) + { + RifEclipseSummaryAddress::SummaryVarCategory cat = *( categories.begin() ); + m_currentSummaryCategory.setValue( cat ); } } From f4cfc750f13d3ede728605433d360b91ca187683 Mon Sep 17 00:00:00 2001 From: Magne Sjaastad Date: Fri, 20 Sep 2019 09:52:12 +0200 Subject: [PATCH 3/4] AppFwk : Apply clang-format --- .../cafTestApplication/CustomObjectEditor.cpp | 75 +- .../cafTestApplication/CustomObjectEditor.h | 22 +- .../cafTests/cafTestApplication/Main.cpp | 2 +- .../cafTestApplication/MainWindow.cpp | 783 ++++++++++++------ .../cafTests/cafTestApplication/MainWindow.h | 39 +- .../cafTests/cafTestApplication/ManyGroups.h | 43 +- .../cafTestApplication/MenuItemProducer.cpp | 24 +- .../cafTestApplication/MenuItemProducer.h | 4 - .../cafTestApplication/WidgetLayoutTest.cpp | 30 +- .../cafTestApplication/WidgetLayoutTest.h | 9 +- .../cafTests/cafTestCvfApplication/Main.cpp | 2 +- .../cafTestCvfApplication/MainWindow.cpp | 701 ++++++++-------- .../cafTestCvfApplication/MainWindow.h | 34 +- .../TapCvfSpecialization.cpp | 18 +- .../TapCvfSpecialization.h | 22 +- .../cafTestCvfApplication/TapProject.cpp | 9 +- .../cafTestCvfApplication/TapProject.h | 8 +- .../WidgetLayoutTest.cpp | 30 +- .../cafTestCvfApplication/WidgetLayoutTest.h | 9 +- 19 files changed, 1025 insertions(+), 839 deletions(-) diff --git a/Fwk/AppFwk/cafTests/cafTestApplication/CustomObjectEditor.cpp b/Fwk/AppFwk/cafTests/cafTestApplication/CustomObjectEditor.cpp index 50e3f800d5..fa4c63cf74 100644 --- a/Fwk/AppFwk/cafTests/cafTestApplication/CustomObjectEditor.cpp +++ b/Fwk/AppFwk/cafTests/cafTestApplication/CustomObjectEditor.cpp @@ -43,57 +43,56 @@ #include #include - //================================================================================================== -/// +/// //================================================================================================== class WidgetCellIds { public: WidgetCellIds(QWidget* w, const std::vector& occupiedCellIds) - : m_customWidget(w), - m_customWidgetCellIds(occupiedCellIds) + : m_customWidget(w) + , m_customWidgetCellIds(occupiedCellIds) { } - QWidget* m_customWidget; - std::vector m_customWidgetCellIds; + QWidget* m_customWidget; + std::vector m_customWidgetCellIds; }; - namespace caf { - - //-------------------------------------------------------------------------------------------------- -/// +/// //-------------------------------------------------------------------------------------------------- CustomObjectEditor::CustomObjectEditor() { m_columnCount = 3; - m_rowCount = 2; + m_rowCount = 2; } //-------------------------------------------------------------------------------------------------- -/// +/// //-------------------------------------------------------------------------------------------------- -CustomObjectEditor::~CustomObjectEditor() -{ -} +CustomObjectEditor::~CustomObjectEditor() {} //-------------------------------------------------------------------------------------------------- -/// +/// //-------------------------------------------------------------------------------------------------- void CustomObjectEditor::defineGridLayout(int rowCount, int columnCount) { - m_rowCount = rowCount; + m_rowCount = rowCount; m_columnCount = columnCount; } //-------------------------------------------------------------------------------------------------- -/// +/// //-------------------------------------------------------------------------------------------------- -void CustomObjectEditor::addWidget(QWidget* widget, int row, int column, int rowSpan, int columnSpan, Qt::Alignment alignment /*= 0*/) +void CustomObjectEditor::addWidget(QWidget* widget, + int row, + int column, + int rowSpan, + int columnSpan, + Qt::Alignment alignment /*= 0*/) { CAF_ASSERT(isAreaAvailable(row, column, rowSpan, columnSpan)); @@ -104,7 +103,7 @@ void CustomObjectEditor::addWidget(QWidget* widget, int row, int column, int row } //-------------------------------------------------------------------------------------------------- -/// +/// //-------------------------------------------------------------------------------------------------- void CustomObjectEditor::removeWidget(QWidget* widget) { @@ -127,7 +126,7 @@ void CustomObjectEditor::removeWidget(QWidget* widget) } //-------------------------------------------------------------------------------------------------- -/// +/// //-------------------------------------------------------------------------------------------------- void CustomObjectEditor::addBlankCell(int row, int column) { @@ -135,7 +134,7 @@ void CustomObjectEditor::addBlankCell(int row, int column) } //-------------------------------------------------------------------------------------------------- -/// +/// //-------------------------------------------------------------------------------------------------- QWidget* CustomObjectEditor::createWidget(QWidget* parent) { @@ -149,9 +148,10 @@ QWidget* CustomObjectEditor::createWidget(QWidget* parent) } //-------------------------------------------------------------------------------------------------- -/// +/// //-------------------------------------------------------------------------------------------------- -void CustomObjectEditor::recursivelyConfigureAndUpdateTopLevelUiOrdering(const PdmUiOrdering& topLevelUiOrdering, const QString& uiConfigName) +void CustomObjectEditor::recursivelyConfigureAndUpdateTopLevelUiOrdering(const PdmUiOrdering& topLevelUiOrdering, + const QString& uiConfigName) { resetCellId(); @@ -165,14 +165,14 @@ void CustomObjectEditor::recursivelyConfigureAndUpdateTopLevelUiOrdering(const P if (topLevelUiItems[i].first->isUiGroup()) { - PdmUiGroup* group = static_cast(topLevelUiItems[i].first); + PdmUiGroup* group = static_cast(topLevelUiItems[i].first); QMinimizePanel* groupBox = findOrCreateGroupBox(this->widget(), group, uiConfigName); /// Insert the group box at the correct position of the parent layout - int nextCellId = getNextAvailableCellId(); - std::pair rowCol = rowAndColumn(nextCellId); + int nextCellId = getNextAvailableCellId(); + std::pair rowCol = rowAndColumn(nextCellId); m_layout->addWidget(groupBox, rowCol.first, rowCol.second, 1, 1); - + recursivelyConfigureAndUpdateUiOrderingInNewGridLayout(*group, groupBox->contentFrame(), uiConfigName); } @@ -181,7 +181,7 @@ void CustomObjectEditor::recursivelyConfigureAndUpdateTopLevelUiOrdering(const P } //-------------------------------------------------------------------------------------------------- -/// +/// //-------------------------------------------------------------------------------------------------- bool CustomObjectEditor::isAreaAvailable(int row, int column, int rowSpan, int columnSpan) const { @@ -201,7 +201,7 @@ bool CustomObjectEditor::isAreaAvailable(int row, int column, int rowSpan, int c } //-------------------------------------------------------------------------------------------------- -/// +/// //-------------------------------------------------------------------------------------------------- bool CustomObjectEditor::isCellIdAvailable(int cellId) const { @@ -220,7 +220,7 @@ bool CustomObjectEditor::isCellIdAvailable(int cellId) const } //-------------------------------------------------------------------------------------------------- -/// +/// //-------------------------------------------------------------------------------------------------- void CustomObjectEditor::resetCellId() { @@ -228,18 +228,18 @@ void CustomObjectEditor::resetCellId() } //-------------------------------------------------------------------------------------------------- -/// +/// //-------------------------------------------------------------------------------------------------- std::pair CustomObjectEditor::rowAndColumn(int cellId) const { - int column = cellId % m_columnCount; - int row = cellId / m_columnCount; + int column = cellId % m_columnCount; + int row = cellId / m_columnCount; return std::make_pair(row, column); } //-------------------------------------------------------------------------------------------------- -/// +/// //-------------------------------------------------------------------------------------------------- int CustomObjectEditor::cellId(int row, int column) const { @@ -247,7 +247,7 @@ int CustomObjectEditor::cellId(int row, int column) const } //-------------------------------------------------------------------------------------------------- -/// +/// //-------------------------------------------------------------------------------------------------- int CustomObjectEditor::getNextAvailableCellId() { @@ -267,7 +267,7 @@ int CustomObjectEditor::getNextAvailableCellId() } //-------------------------------------------------------------------------------------------------- -/// +/// //-------------------------------------------------------------------------------------------------- std::vector CustomObjectEditor::cellIds(int row, int column, int rowSpan, int columnSpan) const { @@ -284,5 +284,4 @@ std::vector CustomObjectEditor::cellIds(int row, int column, int rowSpan, i return cells; } - } // end namespace caf diff --git a/Fwk/AppFwk/cafTests/cafTestApplication/CustomObjectEditor.h b/Fwk/AppFwk/cafTests/cafTestApplication/CustomObjectEditor.h index 4c9bb600f1..bd8108ddcc 100644 --- a/Fwk/AppFwk/cafTests/cafTestApplication/CustomObjectEditor.h +++ b/Fwk/AppFwk/cafTests/cafTestApplication/CustomObjectEditor.h @@ -48,13 +48,11 @@ class QWidget; class WidgetCellIds; -namespace caf +namespace caf { - class PdmUiItem; class PdmUiGroup; - //================================================================================================== /// Automatically layout top level groups into a grid layout /// @@ -77,9 +75,9 @@ public: void addBlankCell(int row, int column); private: - QWidget* createWidget(QWidget* parent) override; - void recursivelyConfigureAndUpdateTopLevelUiOrdering(const PdmUiOrdering& topLevelUiOrdering, - const QString& uiConfigName) override; + QWidget* createWidget(QWidget* parent) override; + void recursivelyConfigureAndUpdateTopLevelUiOrdering(const PdmUiOrdering& topLevelUiOrdering, + const QString& uiConfigName) override; bool isAreaAvailable(int row, int column, int rowSpan, int columnSpan) const; bool isCellIdAvailable(int cellId) const; @@ -90,15 +88,13 @@ private: std::vector cellIds(int row, int column, int rowSpan, int columnSpan) const; private: - QPointer m_layout; + QPointer m_layout; - int m_rowCount; - int m_columnCount; - int m_currentCellId; + int m_rowCount; + int m_columnCount; + int m_currentCellId; - std::vector m_customWidgetAreas; + std::vector m_customWidgetAreas; }; - - } // end namespace caf diff --git a/Fwk/AppFwk/cafTests/cafTestApplication/Main.cpp b/Fwk/AppFwk/cafTests/cafTestApplication/Main.cpp index 07e435c16d..2fcebf530f 100644 --- a/Fwk/AppFwk/cafTests/cafTestApplication/Main.cpp +++ b/Fwk/AppFwk/cafTests/cafTestApplication/Main.cpp @@ -3,7 +3,7 @@ #include -int main(int argc, char *argv[]) +int main(int argc, char* argv[]) { QApplication app(argc, argv); diff --git a/Fwk/AppFwk/cafTests/cafTestApplication/MainWindow.cpp b/Fwk/AppFwk/cafTests/cafTestApplication/MainWindow.cpp index a76fc35c63..6ffdf32fc5 100644 --- a/Fwk/AppFwk/cafTests/cafTestApplication/MainWindow.cpp +++ b/Fwk/AppFwk/cafTests/cafTestApplication/MainWindow.cpp @@ -5,18 +5,16 @@ #include "CustomObjectEditor.h" #include "ManyGroups.h" -#include "WidgetLayoutTest.h" #include "MenuItemProducer.h" - - +#include "WidgetLayoutTest.h" #include "cafAppEnum.h" #ifdef TAP_USE_COMMAND_FRAMEWORK #include "cafCmdExecCommandManager.h" -#include "cafCmdSelectionHelper.h" #include "cafCmdFeatureManager.h" -#endif +#include "cafCmdSelectionHelper.h" +#endif #include "cafFilePath.h" #include "cafPdmDocument.h" @@ -27,9 +25,9 @@ #include "cafPdmReferenceHelper.h" #include "cafPdmUiComboBoxEditor.h" #include "cafPdmUiFilePathEditor.h" -#include "cafPdmUiOrdering.h" #include "cafPdmUiItem.h" #include "cafPdmUiListEditor.h" +#include "cafPdmUiOrdering.h" #include "cafPdmUiPropertyView.h" #include "cafPdmUiPushButtonEditor.h" #include "cafPdmUiTableView.h" @@ -39,25 +37,25 @@ #include "cafPdmUiTreeView.h" #include "cafSelectionManager.h" +#include "cafCmdFeatureMenuBuilder.h" #include #include #include #include #include #include -#include "cafCmdFeatureMenuBuilder.h" - class DemoPdmObjectGroup : public caf::PdmDocument { CAF_PDM_HEADER_INIT; -public: - DemoPdmObjectGroup() +public: + DemoPdmObjectGroup() { CAF_PDM_InitFieldNoDefault(&objects, "PdmObjects", "", "", "", "") - objects.uiCapability()->setUiHidden(true); + objects.uiCapability() + ->setUiHidden(true); } public: @@ -66,34 +64,59 @@ public: CAF_PDM_SOURCE_INIT(DemoPdmObjectGroup, "DemoPdmObjectGroup"); -class SmallDemoPdmObject: public caf::PdmObject +class SmallDemoPdmObject : public caf::PdmObject { CAF_PDM_HEADER_INIT; + public: + SmallDemoPdmObject() + { + CAF_PDM_InitObject("Small Demo Object", + ":/images/win/filenew.png", + "This object is a demo of the CAF framework", + "This object is a demo of the CAF framework"); - SmallDemoPdmObject() - { - CAF_PDM_InitObject("Small Demo Object", ":/images/win/filenew.png", "This object is a demo of the CAF framework", "This object is a demo of the CAF framework"); - - CAF_PDM_InitField(&m_toggleField, "Toggle", false, "Add Items To Multi Select", "", "Toggle Field tooltip", " Toggle Field whatsthis"); - CAF_PDM_InitField(&m_doubleField, "BigNumber", 0.0, "Big Number", "", "Enter a big number here", "This is a place you can enter a big real value if you want" ); + CAF_PDM_InitField( + &m_toggleField, "Toggle", false, "Add Items To Multi Select", "", "Toggle Field tooltip", " Toggle Field whatsthis"); + CAF_PDM_InitField(&m_doubleField, + "BigNumber", + 0.0, + "Big Number", + "", + "Enter a big number here", + "This is a place you can enter a big real value if you want"); m_doubleField.uiCapability()->setCustomContextMenuEnabled(true); - CAF_PDM_InitField(&m_intField, "IntNumber", 0, "Small Number", "", "Enter some small number here", "This is a place you can enter a small integer value if you want"); - CAF_PDM_InitField(&m_textField, "TextField", QString(""), "Text", "", "Text tooltip", "This is a place you can enter a small integer value if you want"); + CAF_PDM_InitField(&m_intField, + "IntNumber", + 0, + "Small Number", + "", + "Enter some small number here", + "This is a place you can enter a small integer value if you want"); + CAF_PDM_InitField(&m_textField, + "TextField", + QString(""), + "Text", + "", + "Text tooltip", + "This is a place you can enter a small integer value if you want"); m_proxyDoubleField.registerSetMethod(this, &SmallDemoPdmObject::setDoubleMember); m_proxyDoubleField.registerGetMethod(this, &SmallDemoPdmObject::doubleMember); CAF_PDM_InitFieldNoDefault(&m_proxyDoubleField, "ProxyDouble", "Proxy Double", "", "", ""); - - CAF_PDM_InitField(&m_fileName, "FileName", caf::FilePath("filename"), "File Name", "", "", ""); - - CAF_PDM_InitFieldNoDefault(&m_fileNameList, "FileNameList", "File Name List", "", "", ""); + + CAF_PDM_InitField(&m_fileName, "FileName", caf::FilePath("filename"), "File Name", "", "", ""); + + CAF_PDM_InitFieldNoDefault(&m_fileNameList, "FileNameList", "File Name List", "", "", ""); m_fileNameList.uiCapability()->setUiEditorTypeName(caf::PdmUiListEditor::uiEditorTypeName()); m_proxyDoubleField = 0; - if (!(m_proxyDoubleField == 3)) { std::cout << "Double is not 3 " << std::endl; } - + if (!(m_proxyDoubleField == 3)) + { + std::cout << "Double is not 3 " << std::endl; + } + CAF_PDM_InitFieldNoDefault(&m_multiSelectList, "SelectedItems", "Multi Select Field", "", "", ""); m_multiSelectList.xmlCapability()->setIOReadable(false); m_multiSelectList.xmlCapability()->setIOWritable(false); @@ -104,25 +127,23 @@ public: m_multiSelectList.v().push_back("Third"); } - caf::PdmField m_doubleField; caf::PdmField m_intField; caf::PdmField m_textField; - caf::PdmProxyValueField m_proxyDoubleField; - caf::PdmField m_fileName; + caf::PdmProxyValueField m_proxyDoubleField; + caf::PdmField m_fileName; caf::PdmField> m_fileNameList; - caf::PdmField > m_multiSelectList; + caf::PdmField> m_multiSelectList; - - caf::PdmField m_toggleField; - caf::PdmFieldHandle* objectToggleField() override + caf::PdmField m_toggleField; + caf::PdmFieldHandle* objectToggleField() override { return &m_toggleField; } - void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue) override + void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue) override { if (changedField == &m_toggleField) { @@ -130,14 +151,22 @@ public: } } - void setDoubleMember(const double& d) { m_doubleMember = d; std::cout << "setDoubleMember" << std::endl; } - double doubleMember() const { std::cout << "doubleMember" << std::endl; return m_doubleMember; } - + void setDoubleMember(const double& d) + { + m_doubleMember = d; + std::cout << "setDoubleMember" << std::endl; + } + double doubleMember() const + { + std::cout << "doubleMember" << std::endl; + return m_doubleMember; + } //-------------------------------------------------------------------------------------------------- - /// + /// //-------------------------------------------------------------------------------------------------- - QList calculateValueOptions(const caf::PdmFieldHandle* fieldNeedingOptions, bool* useOptionsOnly) override + QList calculateValueOptions(const caf::PdmFieldHandle* fieldNeedingOptions, + bool* useOptionsOnly) override { QList options; @@ -152,7 +181,7 @@ public: options.push_back(caf::PdmOptionItemInfo::createHeader(text, false, caf::QIconProvider(":/images/win/textbold.png"))); { - text = "Second_a"; + text = "Second_a"; caf::PdmOptionItemInfo itemInfo = caf::PdmOptionItemInfo(text, text, true); itemInfo.setLevel(1); options.push_back(itemInfo); @@ -160,7 +189,8 @@ public: { text = "Second_b"; - caf::PdmOptionItemInfo itemInfo = caf::PdmOptionItemInfo(text, text, false, caf::QIconProvider(":/images/win/filenew.png")); + caf::PdmOptionItemInfo itemInfo = + caf::PdmOptionItemInfo(text, text, false, caf::QIconProvider(":/images/win/filenew.png")); itemInfo.setLevel(1); options.push_back(itemInfo); } @@ -168,7 +198,7 @@ public: int additionalSubItems = 2; for (auto i = 0; i < additionalSubItems; i++) { - text = "Second_b_" + QString::number(i); + text = "Second_b_" + QString::number(i); caf::PdmOptionItemInfo itemInfo = caf::PdmOptionItemInfo(text, text); itemInfo.setLevel(1); options.push_back(itemInfo); @@ -181,7 +211,7 @@ public: } for (auto i = 0; i < s_additionalSubItems; i++) { - text = "Second_b_" + QString::number(i); + text = "Second_b_" + QString::number(i); caf::PdmOptionItemInfo itemInfo = caf::PdmOptionItemInfo(text, text); itemInfo.setLevel(1); options.push_back(itemInfo); @@ -195,16 +225,12 @@ public: } return options; - } - //-------------------------------------------------------------------------------------------------- - /// + /// //-------------------------------------------------------------------------------------------------- - void defineCustomContextMenu(const caf::PdmFieldHandle* fieldNeedingMenu, - QMenu* menu, - QWidget* fieldEditorWidget) override + void defineCustomContextMenu(const caf::PdmFieldHandle* fieldNeedingMenu, QMenu* menu, QWidget* fieldEditorWidget) override { menu->addAction("test"); menu->addAction("other test <<>>"); @@ -215,7 +241,7 @@ private: protected: //-------------------------------------------------------------------------------------------------- - /// + /// //-------------------------------------------------------------------------------------------------- void defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) override { @@ -231,66 +257,241 @@ protected: CAF_PDM_SOURCE_INIT(SmallDemoPdmObject, "SmallDemoPdmObject"); - class SmallGridDemoPdmObject : public caf::PdmObject { CAF_PDM_HEADER_INIT; -public: +public: SmallGridDemoPdmObject() { - CAF_PDM_InitObject("Small Grid Demo Object", "", "This object is a demo of the CAF framework", "This object is a demo of the CAF framework"); + CAF_PDM_InitObject("Small Grid Demo Object", + "", + "This object is a demo of the CAF framework", + "This object is a demo of the CAF framework"); - CAF_PDM_InitField(&m_intFieldStandard, "Standard", 0, "Standard", "", "Enter some small number here", "This is a place you can enter a small integer value if you want"); - CAF_PDM_InitField(&m_intFieldUseFullSpace, "FullSpace", 0, "Use Full Space For Both", "", "Enter some small number here", "This is a place you can enter a small integer value if you want"); - CAF_PDM_InitField(&m_intFieldUseFullSpaceLabel, "FullSpaceLabel", 0, "Total 3, Label MAX", "", "Enter some small number here", "This is a place you can enter a small integer value if you want"); - CAF_PDM_InitField(&m_intFieldUseFullSpaceField, "FullSpaceField", 0, "Total MAX, Label 1", "", "Enter some small number here", "This is a place you can enter a small integer value if you want"); - CAF_PDM_InitField(&m_intFieldWideLabel,"WideLabel", 0, "Wide Label", "", "Enter some small number here", "This is a place you can enter a small integer value if you want"); - CAF_PDM_InitField(&m_intFieldWideField,"WideField", 0, "Wide Field", "", "Enter some small number here", "This is a place you can enter a small integer value if you want"); - CAF_PDM_InitField(&m_intFieldLeft, "LeftField", 0, "Left Field", "", "Enter some small number here", "This is a place you can enter a small integer value if you want"); - CAF_PDM_InitField(&m_intFieldRight, "RightField", 0, "Right Field With More Text", "", "Enter some small number here", "This is a place you can enter a small integer value if you want"); - CAF_PDM_InitField(&m_intFieldWideBoth, "WideBoth", 0, "Wide Both", "", "Enter some small number here", "This is a place you can enter a small integer value if you want"); + CAF_PDM_InitField(&m_intFieldStandard, + "Standard", + 0, + "Standard", + "", + "Enter some small number here", + "This is a place you can enter a small integer value if you want"); + CAF_PDM_InitField(&m_intFieldUseFullSpace, + "FullSpace", + 0, + "Use Full Space For Both", + "", + "Enter some small number here", + "This is a place you can enter a small integer value if you want"); + CAF_PDM_InitField(&m_intFieldUseFullSpaceLabel, + "FullSpaceLabel", + 0, + "Total 3, Label MAX", + "", + "Enter some small number here", + "This is a place you can enter a small integer value if you want"); + CAF_PDM_InitField(&m_intFieldUseFullSpaceField, + "FullSpaceField", + 0, + "Total MAX, Label 1", + "", + "Enter some small number here", + "This is a place you can enter a small integer value if you want"); + CAF_PDM_InitField(&m_intFieldWideLabel, + "WideLabel", + 0, + "Wide Label", + "", + "Enter some small number here", + "This is a place you can enter a small integer value if you want"); + CAF_PDM_InitField(&m_intFieldWideField, + "WideField", + 0, + "Wide Field", + "", + "Enter some small number here", + "This is a place you can enter a small integer value if you want"); + CAF_PDM_InitField(&m_intFieldLeft, + "LeftField", + 0, + "Left Field", + "", + "Enter some small number here", + "This is a place you can enter a small integer value if you want"); + CAF_PDM_InitField(&m_intFieldRight, + "RightField", + 0, + "Right Field With More Text", + "", + "Enter some small number here", + "This is a place you can enter a small integer value if you want"); + CAF_PDM_InitField(&m_intFieldWideBoth, + "WideBoth", + 0, + "Wide Both", + "", + "Enter some small number here", + "This is a place you can enter a small integer value if you want"); - CAF_PDM_InitField(&m_intFieldWideBoth2, "WideBoth2", 0, "Wide Both", "", "Enter some small number here", "This is a place you can enter a small integer value if you want"); - CAF_PDM_InitField(&m_intFieldLeft2, "LeftFieldInGrp", 0, "Left Field", "", "Enter some small number here", "This is a place you can enter a small integer value if you want"); - CAF_PDM_InitField(&m_intFieldCenter, "CenterFieldInGrp", 0, "Center Field", "", "Enter some small number here", "This is a place you can enter a small integer value if you want"); - CAF_PDM_InitField(&m_intFieldRight2, "RightFieldInGrp", 0, "Right Field", "", "Enter some small number here", "This is a place you can enter a small integer value if you want"); - CAF_PDM_InitField(&m_intFieldLabelTop, "FieldLabelTop", 0, "Field Label Top", "", "Enter some small number here", "This is a place you can enter a small integer value if you want"); + CAF_PDM_InitField(&m_intFieldWideBoth2, + "WideBoth2", + 0, + "Wide Both", + "", + "Enter some small number here", + "This is a place you can enter a small integer value if you want"); + CAF_PDM_InitField(&m_intFieldLeft2, + "LeftFieldInGrp", + 0, + "Left Field", + "", + "Enter some small number here", + "This is a place you can enter a small integer value if you want"); + CAF_PDM_InitField(&m_intFieldCenter, + "CenterFieldInGrp", + 0, + "Center Field", + "", + "Enter some small number here", + "This is a place you can enter a small integer value if you want"); + CAF_PDM_InitField(&m_intFieldRight2, + "RightFieldInGrp", + 0, + "Right Field", + "", + "Enter some small number here", + "This is a place you can enter a small integer value if you want"); + CAF_PDM_InitField(&m_intFieldLabelTop, + "FieldLabelTop", + 0, + "Field Label Top", + "", + "Enter some small number here", + "This is a place you can enter a small integer value if you want"); m_intFieldLabelTop.uiCapability()->setUiLabelPosition(caf::PdmUiItemInfo::TOP); - CAF_PDM_InitField(&m_stringFieldLabelHidden, "FieldLabelHidden", QString("Hidden Label Field"), "Field Label Hidden", "", "Enter some small number here", "This is a place you can enter a small integer value if you want"); + CAF_PDM_InitField(&m_stringFieldLabelHidden, + "FieldLabelHidden", + QString("Hidden Label Field"), + "Field Label Hidden", + "", + "Enter some small number here", + "This is a place you can enter a small integer value if you want"); m_stringFieldLabelHidden.uiCapability()->setUiLabelPosition(caf::PdmUiItemInfo::HIDDEN); - CAF_PDM_InitField(&m_intFieldWideBothAuto, "WideBothAuto", 0, "Wide ", "", "Enter some small number here", "This is a place you can enter a small integer value if you want"); - CAF_PDM_InitField(&m_intFieldLeftAuto, "LeftFieldInGrpAuto", 0, "Left Field", "", "Enter some small number here", "This is a place you can enter a small integer value if you want"); - CAF_PDM_InitField(&m_intFieldCenterAuto, "CenterFieldInGrpAuto", 0, "Center Field", "", "Enter some small number here", "This is a place you can enter a small integer value if you want"); - CAF_PDM_InitField(&m_intFieldRightAuto, "RightFieldInGrpAuto", 0, "Right Field", "", "Enter some small number here", "This is a place you can enter a small integer value if you want"); - CAF_PDM_InitField(&m_intFieldLabelTopAuto, "FieldLabelTopAuto", 0, "Field Label Top", "", "Enter some small number here", "This is a place you can enter a small integer value if you want"); + CAF_PDM_InitField(&m_intFieldWideBothAuto, + "WideBothAuto", + 0, + "Wide ", + "", + "Enter some small number here", + "This is a place you can enter a small integer value if you want"); + CAF_PDM_InitField(&m_intFieldLeftAuto, + "LeftFieldInGrpAuto", + 0, + "Left Field", + "", + "Enter some small number here", + "This is a place you can enter a small integer value if you want"); + CAF_PDM_InitField(&m_intFieldCenterAuto, + "CenterFieldInGrpAuto", + 0, + "Center Field", + "", + "Enter some small number here", + "This is a place you can enter a small integer value if you want"); + CAF_PDM_InitField(&m_intFieldRightAuto, + "RightFieldInGrpAuto", + 0, + "Right Field", + "", + "Enter some small number here", + "This is a place you can enter a small integer value if you want"); + CAF_PDM_InitField(&m_intFieldLabelTopAuto, + "FieldLabelTopAuto", + 0, + "Field Label Top", + "", + "Enter some small number here", + "This is a place you can enter a small integer value if you want"); m_intFieldLabelTopAuto.uiCapability()->setUiLabelPosition(caf::PdmUiItemInfo::TOP); - CAF_PDM_InitField(&m_stringFieldLabelHiddenAuto, "FieldLabelHiddenAuto", QString("Hidden Label Field"), "Field Label Hidden", "", "Enter some small number here", "This is a place you can enter a small integer value if you want"); + CAF_PDM_InitField(&m_stringFieldLabelHiddenAuto, + "FieldLabelHiddenAuto", + QString("Hidden Label Field"), + "Field Label Hidden", + "", + "Enter some small number here", + "This is a place you can enter a small integer value if you want"); m_stringFieldLabelHiddenAuto.uiCapability()->setUiLabelPosition(caf::PdmUiItemInfo::HIDDEN); - CAF_PDM_InitField(&m_intFieldLeftOfGroup, "FieldLeftOfGrp", 0, "Left of group", "", "Enter some small number here", "This is a place you can enter a small integer value if you want"); - CAF_PDM_InitField(&m_intFieldRightOfGroup, "FieldRightOfGrp", 0, "Right of group wide label", "", "Enter some small number here", "This is a place you can enter a small integer value if you want"); - - CAF_PDM_InitField(&m_intFieldInsideGroup1, "FieldInGrp1", 0, "Inside Group", "", "Enter some small number here", "This is a place you can enter a small integer value if you want"); - CAF_PDM_InitField(&m_intFieldInsideGroup2, "FieldInGrp2", 0, "Inside Group", "", "Enter some small number here", "This is a place you can enter a small integer value if you want"); - CAF_PDM_InitField(&m_intFieldInsideGroup3, "FieldInGrp3", 0, "Inside Group", "", "Enter some small number here", "This is a place you can enter a small integer value if you want"); - CAF_PDM_InitField(&m_intFieldInsideGroup4, "FieldInGrp4", 0, "Inside Group", "", "Enter some small number here", "This is a place you can enter a small integer value if you want"); - CAF_PDM_InitField(&m_intFieldInsideGroup5, "FieldInGrp5", 0, "Inside Group", "", "Enter some small number here", "This is a place you can enter a small integer value if you want"); - CAF_PDM_InitField(&m_intFieldInsideGroup6, "FieldInGrp6", 0, "Inside Group", "", "Enter some small number here", "This is a place you can enter a small integer value if you want"); + CAF_PDM_InitField(&m_intFieldLeftOfGroup, + "FieldLeftOfGrp", + 0, + "Left of group", + "", + "Enter some small number here", + "This is a place you can enter a small integer value if you want"); + CAF_PDM_InitField(&m_intFieldRightOfGroup, + "FieldRightOfGrp", + 0, + "Right of group wide label", + "", + "Enter some small number here", + "This is a place you can enter a small integer value if you want"); + CAF_PDM_InitField(&m_intFieldInsideGroup1, + "FieldInGrp1", + 0, + "Inside Group", + "", + "Enter some small number here", + "This is a place you can enter a small integer value if you want"); + CAF_PDM_InitField(&m_intFieldInsideGroup2, + "FieldInGrp2", + 0, + "Inside Group", + "", + "Enter some small number here", + "This is a place you can enter a small integer value if you want"); + CAF_PDM_InitField(&m_intFieldInsideGroup3, + "FieldInGrp3", + 0, + "Inside Group", + "", + "Enter some small number here", + "This is a place you can enter a small integer value if you want"); + CAF_PDM_InitField(&m_intFieldInsideGroup4, + "FieldInGrp4", + 0, + "Inside Group", + "", + "Enter some small number here", + "This is a place you can enter a small integer value if you want"); + CAF_PDM_InitField(&m_intFieldInsideGroup5, + "FieldInGrp5", + 0, + "Inside Group", + "", + "Enter some small number here", + "This is a place you can enter a small integer value if you want"); + CAF_PDM_InitField(&m_intFieldInsideGroup6, + "FieldInGrp6", + 0, + "Inside Group", + "", + "Enter some small number here", + "This is a place you can enter a small integer value if you want"); } // Outside group - caf::PdmField m_intFieldStandard; - caf::PdmField m_intFieldUseFullSpace; - caf::PdmField m_intFieldUseFullSpaceLabel; - caf::PdmField m_intFieldUseFullSpaceField; - caf::PdmField m_intFieldWideLabel; - caf::PdmField m_intFieldWideField; - caf::PdmField m_intFieldWideBoth; - caf::PdmField m_intFieldLeft; - caf::PdmField m_intFieldRight; + caf::PdmField m_intFieldStandard; + caf::PdmField m_intFieldUseFullSpace; + caf::PdmField m_intFieldUseFullSpaceLabel; + caf::PdmField m_intFieldUseFullSpaceField; + caf::PdmField m_intFieldWideLabel; + caf::PdmField m_intFieldWideField; + caf::PdmField m_intFieldWideBoth; + caf::PdmField m_intFieldLeft; + caf::PdmField m_intFieldRight; // First group caf::PdmField m_intFieldWideBoth2; @@ -309,27 +510,32 @@ public: caf::PdmField m_stringFieldLabelHiddenAuto; // Combination with groups - caf::PdmField m_intFieldLeftOfGroup; - caf::PdmField m_intFieldRightOfGroup; - caf::PdmField m_intFieldInsideGroup1; - caf::PdmField m_intFieldInsideGroup2; + caf::PdmField m_intFieldLeftOfGroup; + caf::PdmField m_intFieldRightOfGroup; + caf::PdmField m_intFieldInsideGroup1; + caf::PdmField m_intFieldInsideGroup2; // Side-by-side groups - caf::PdmField m_intFieldInsideGroup3; - caf::PdmField m_intFieldInsideGroup4; - caf::PdmField m_intFieldInsideGroup5; - caf::PdmField m_intFieldInsideGroup6; + caf::PdmField m_intFieldInsideGroup3; + caf::PdmField m_intFieldInsideGroup4; + caf::PdmField m_intFieldInsideGroup5; + caf::PdmField m_intFieldInsideGroup6; protected: //-------------------------------------------------------------------------------------------------- - /// + /// //-------------------------------------------------------------------------------------------------- void defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) override { uiOrdering.add(&m_intFieldStandard); - uiOrdering.add(&m_intFieldUseFullSpace, caf::PdmUiOrdering::LayoutOptions(true, caf::PdmUiOrdering::LayoutOptions::MAX_COLUMN_SPAN, caf::PdmUiOrdering::LayoutOptions::MAX_COLUMN_SPAN)); - uiOrdering.add(&m_intFieldUseFullSpaceLabel, caf::PdmUiOrdering::LayoutOptions(true, 3, caf::PdmUiOrdering::LayoutOptions::MAX_COLUMN_SPAN)); - uiOrdering.add(&m_intFieldUseFullSpaceField, caf::PdmUiOrdering::LayoutOptions(true, caf::PdmUiOrdering::LayoutOptions::MAX_COLUMN_SPAN, 1)); + uiOrdering.add(&m_intFieldUseFullSpace, + caf::PdmUiOrdering::LayoutOptions(true, + caf::PdmUiOrdering::LayoutOptions::MAX_COLUMN_SPAN, + caf::PdmUiOrdering::LayoutOptions::MAX_COLUMN_SPAN)); + uiOrdering.add(&m_intFieldUseFullSpaceLabel, + caf::PdmUiOrdering::LayoutOptions(true, 3, caf::PdmUiOrdering::LayoutOptions::MAX_COLUMN_SPAN)); + uiOrdering.add(&m_intFieldUseFullSpaceField, + caf::PdmUiOrdering::LayoutOptions(true, caf::PdmUiOrdering::LayoutOptions::MAX_COLUMN_SPAN, 1)); uiOrdering.add(&m_intFieldWideLabel, caf::PdmUiOrdering::LayoutOptions(true, 4, 3)); uiOrdering.add(&m_intFieldWideField, caf::PdmUiOrdering::LayoutOptions(true, 4, 1)); uiOrdering.add(&m_intFieldLeft, caf::PdmUiOrdering::LayoutOptions(true)); @@ -338,7 +544,7 @@ protected: QString dynamicGroupName = QString("Dynamic Group Text (%1)").arg(m_intFieldStandard); - caf::PdmUiGroup* group = uiOrdering.addNewGroup("Wide Group", { true, 4 }); + caf::PdmUiGroup* group = uiOrdering.addNewGroup("Wide Group", {true, 4}); group->add(&m_intFieldWideBoth2, caf::PdmUiOrdering::LayoutOptions(true, 6, 3)); group->add(&m_intFieldLeft2, caf::PdmUiOrdering::LayoutOptions(true)); group->add(&m_intFieldCenter, caf::PdmUiOrdering::LayoutOptions(false)); @@ -346,7 +552,8 @@ protected: group->add(&m_intFieldLabelTop, caf::PdmUiOrdering::LayoutOptions(true, 6)); group->add(&m_stringFieldLabelHidden, caf::PdmUiOrdering::LayoutOptions(true, 6)); - caf::PdmUiGroup* autoGroup = uiOrdering.addNewGroup("Automatic Full Width Group", caf::PdmUiOrdering::LayoutOptions(true)); + caf::PdmUiGroup* autoGroup = + uiOrdering.addNewGroup("Automatic Full Width Group", caf::PdmUiOrdering::LayoutOptions(true)); autoGroup->add(&m_intFieldWideBothAuto, caf::PdmUiOrdering::LayoutOptions(true)); autoGroup->add(&m_intFieldLeftAuto, caf::PdmUiOrdering::LayoutOptions(true)); autoGroup->add(&m_intFieldCenterAuto, false); @@ -354,7 +561,6 @@ protected: autoGroup->add(&m_intFieldLabelTopAuto, true); autoGroup->add(&m_stringFieldLabelHiddenAuto, true); - uiOrdering.add(&m_intFieldLeftOfGroup); caf::PdmUiGroup* group2 = uiOrdering.addNewGroup("Right Group", caf::PdmUiOrdering::LayoutOptions(false, 2, 0)); group2->setEnableFrame(false); @@ -371,7 +577,6 @@ protected: groupR->setEnableFrame(false); groupR->add(&m_intFieldInsideGroup4); groupR->add(&m_intFieldInsideGroup6); - } }; @@ -396,43 +601,58 @@ public: "", "Enter some small number here", "This is a place you can enter a small integer value if you want"); - } // Outside group caf::PdmField m_intFieldStandard; - + protected: //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- void defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) override { - uiOrdering.add(&m_intFieldStandard); + uiOrdering.add(&m_intFieldStandard); } }; CAF_PDM_SOURCE_INIT(SingleEditorPdmObject, "SingleEditorObject"); -class SmallDemoPdmObjectA: public caf::PdmObject +class SmallDemoPdmObjectA : public caf::PdmObject { CAF_PDM_HEADER_INIT; -public: +public: enum TestEnumType { - T1, T2, T3 + T1, + T2, + T3 }; - - SmallDemoPdmObjectA() - { - CAF_PDM_InitObject("Small Demo Object A", "", "This object is a demo of the CAF framework", "This object is a demo of the CAF framework"); + SmallDemoPdmObjectA() + { + CAF_PDM_InitObject("Small Demo Object A", + "", + "This object is a demo of the CAF framework", + "This object is a demo of the CAF framework"); CAF_PDM_InitField(&m_toggleField, "Toggle", false, "Toggle Field", "", "Toggle Field tooltip", " Toggle Field whatsthis"); CAF_PDM_InitField(&m_pushButtonField, "Push", false, "Button Field", "", "", " "); - CAF_PDM_InitField(&m_doubleField, "BigNumber", 0.0, "Big Number", "", "Enter a big number here", "This is a place you can enter a big real value if you want"); - CAF_PDM_InitField(&m_intField, "IntNumber", 0, "Small Number", "", "Enter some small number here","This is a place you can enter a small integer value if you want"); + CAF_PDM_InitField(&m_doubleField, + "BigNumber", + 0.0, + "Big Number", + "", + "Enter a big number here", + "This is a place you can enter a big real value if you want"); + CAF_PDM_InitField(&m_intField, + "IntNumber", + 0, + "Small Number", + "", + "Enter some small number here", + "This is a place you can enter a small integer value if you want"); CAF_PDM_InitField(&m_textField, "TextField", QString("Small Demo Object A"), "Name Text Field", "", "", ""); CAF_PDM_InitField(&m_testEnumField, "TestEnumValue", caf::AppEnum(T1), "EnumField", "", "", ""); CAF_PDM_InitFieldNoDefault(&m_ptrField, "m_ptrField", "PtrField", "", "", ""); @@ -445,36 +665,42 @@ public: m_testEnumField.capability()->setUiEditorTypeName(caf::PdmUiListEditor::uiEditorTypeName()); CAF_PDM_InitFieldNoDefault(&m_multipleAppEnum, "MultipleAppEnumValue", "MultipleAppEnumValue", "", "", ""); - m_multipleAppEnum.capability()->setUiEditorTypeName(caf::PdmUiTreeSelectionEditor::uiEditorTypeName()); + m_multipleAppEnum.capability()->setUiEditorTypeName( + caf::PdmUiTreeSelectionEditor::uiEditorTypeName()); CAF_PDM_InitFieldNoDefault(&m_highlightedEnum, "HighlightedEnum", "HighlightedEnum", "", "", ""); m_highlightedEnum.uiCapability()->setUiHidden(true); } - caf::PdmField m_doubleField; - caf::PdmField m_intField; - caf::PdmField m_textField; - caf::PdmField< caf::AppEnum > m_testEnumField; - caf::PdmPtrField m_ptrField; + caf::PdmField m_doubleField; + caf::PdmField m_intField; + caf::PdmField m_textField; + caf::PdmField> m_testEnumField; + caf::PdmPtrField m_ptrField; - caf::PdmProxyValueField< caf::AppEnum > m_proxyEnumField; - void setEnumMember(const caf::AppEnum& val) { m_proxyEnumMember = val; } - caf::AppEnum enumMember() const { return m_proxyEnumMember; } + caf::PdmProxyValueField> m_proxyEnumField; + void setEnumMember(const caf::AppEnum& val) + { + m_proxyEnumMember = val; + } + caf::AppEnum enumMember() const + { + return m_proxyEnumMember; + } TestEnumType m_proxyEnumMember; - // vector of app enum - caf::PdmField< std::vector< caf::AppEnum > > m_multipleAppEnum; - caf::PdmField< caf::AppEnum > m_highlightedEnum; + caf::PdmField>> m_multipleAppEnum; + caf::PdmField> m_highlightedEnum; - caf::PdmField m_toggleField; - caf::PdmField m_pushButtonField; + caf::PdmField m_toggleField; + caf::PdmField m_pushButtonField; - caf::PdmFieldHandle* objectToggleField() override + caf::PdmFieldHandle* objectToggleField() override { return &m_toggleField; } - void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue) override + void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue) override { if (changedField == &m_toggleField) { @@ -482,7 +708,7 @@ public: } else if (changedField == &m_highlightedEnum) { - std::cout << "Highlight value " << m_highlightedEnum() << std::endl; + std::cout << "Highlight value " << m_highlightedEnum() << std::endl; } else if (changedField == &m_pushButtonField) { @@ -490,13 +716,14 @@ public: } } - QList calculateValueOptions(const caf::PdmFieldHandle* fieldNeedingOptions, bool * useOptionsOnly) override + QList calculateValueOptions(const caf::PdmFieldHandle* fieldNeedingOptions, + bool* useOptionsOnly) override { QList options; - + if (&m_ptrField == fieldNeedingOptions) { - caf::PdmFieldHandle* field; + caf::PdmFieldHandle* field; std::vector objects; field = this->parentField(); @@ -518,7 +745,9 @@ public: } } - options.push_back(caf::PdmOptionItemInfo(uiObject->uiName() + "(" + userDesc + ")", QVariant::fromValue(caf::PdmPointer(objects[i])))); + options.push_back( + caf::PdmOptionItemInfo(uiObject->uiName() + "(" + userDesc + ")", + QVariant::fromValue(caf::PdmPointer(objects[i])))); } } } @@ -526,7 +755,8 @@ public: { for (size_t i = 0; i < caf::AppEnum::size(); ++i) { - options.push_back(caf::PdmOptionItemInfo(caf::AppEnum::uiTextFromIndex(i), caf::AppEnum::fromIndex(i))); + options.push_back(caf::PdmOptionItemInfo(caf::AppEnum::uiTextFromIndex(i), + caf::AppEnum::fromIndex(i))); } } @@ -536,7 +766,7 @@ public: } //-------------------------------------------------------------------------------------------------- - /// + /// //-------------------------------------------------------------------------------------------------- caf::PdmFieldHandle* userDescriptionField() override { @@ -545,9 +775,11 @@ public: protected: //-------------------------------------------------------------------------------------------------- - /// + /// //-------------------------------------------------------------------------------------------------- - void defineEditorAttribute(const caf::PdmFieldHandle* field, QString uiConfigName, caf::PdmUiEditorAttribute* attribute) override + void defineEditorAttribute(const caf::PdmFieldHandle* field, + QString uiConfigName, + caf::PdmUiEditorAttribute* attribute) override { if (field == &m_multipleAppEnum) { @@ -567,13 +799,13 @@ protected: } } - //-------------------------------------------------------------------------------------------------- - /// + /// //-------------------------------------------------------------------------------------------------- void defineObjectEditorAttribute(QString uiConfigName, caf::PdmUiEditorAttribute* attribute) override { - caf::PdmUiTableViewPushButtonEditorAttribute* attr = dynamic_cast(attribute); + caf::PdmUiTableViewPushButtonEditorAttribute* attr = + dynamic_cast(attribute); if (attr) { attr->registerPushButtonTextForFieldKeyword(m_pushButtonField.keyword(), "Edit"); @@ -585,44 +817,66 @@ CAF_PDM_SOURCE_INIT(SmallDemoPdmObjectA, "SmallDemoPdmObjectA"); namespace caf { - template<> - void AppEnum::setUp() - { - addItem(SmallDemoPdmObjectA::T1, "T1", "An A letter"); - addItem(SmallDemoPdmObjectA::T2, "T2", "A B letter"); - addItem(SmallDemoPdmObjectA::T3, "T3", "A B C letter"); - setDefault(SmallDemoPdmObjectA::T1); - - } - +template<> +void AppEnum::setUp() +{ + addItem(SmallDemoPdmObjectA::T1, "T1", "An A letter"); + addItem(SmallDemoPdmObjectA::T2, "T2", "A B letter"); + addItem(SmallDemoPdmObjectA::T3, "T3", "A B C letter"); + setDefault(SmallDemoPdmObjectA::T1); } + +} // namespace caf Q_DECLARE_METATYPE(caf::AppEnum); - - - -class DemoPdmObject: public caf::PdmObject +class DemoPdmObject : public caf::PdmObject { CAF_PDM_HEADER_INIT; + public: + DemoPdmObject() + { + CAF_PDM_InitObject( + "Demo Object", "", "This object is a demo of the CAF framework", "This object is a demo of the CAF framework"); - DemoPdmObject() - { - CAF_PDM_InitObject( "Demo Object", "", "This object is a demo of the CAF framework", "This object is a demo of the CAF framework"); - CAF_PDM_InitField(&m_toggleField, "Toggle", false, "Toggle Field", "", "Toggle Field tooltip", " Toggle Field whatsthis"); - CAF_PDM_InitField(&m_doubleField, "BigNumber", 0.0, "Big Number", "", "Enter a big number here", "This is a place you can enter a big real value if you want"); - CAF_PDM_InitField(&m_intField, "IntNumber", 0, "Small Number", "", "Enter some small number here", "This is a place you can enter a small integer value if you want" ); - CAF_PDM_InitField(&m_boolField, "BooleanValue", false, "Boolean:" , "", "Boolean:Enter some small number here", "Boolean:This is a place you can enter a small integer value if you want"); - CAF_PDM_InitField(&m_textField, "TextField", QString("Demo Object Description Field"), "Description Field", "", "", ""); - CAF_PDM_InitField(&m_filePath, "FilePath", QString(""), "Filename", "", "", ""); - CAF_PDM_InitField(&m_longText, "LongText", QString("Test text"), "Long Text", "", "", ""); + CAF_PDM_InitField(&m_doubleField, + "BigNumber", + 0.0, + "Big Number", + "", + "Enter a big number here", + "This is a place you can enter a big real value if you want"); + CAF_PDM_InitField(&m_intField, + "IntNumber", + 0, + "Small Number", + "", + "Enter some small number here", + "This is a place you can enter a small integer value if you want"); + CAF_PDM_InitField(&m_boolField, + "BooleanValue", + false, + "Boolean:", + "", + "Boolean:Enter some small number here", + "Boolean:This is a place you can enter a small integer value if you want"); + CAF_PDM_InitField(&m_textField, "TextField", QString("Demo Object Description Field"), "Description Field", "", "", ""); + CAF_PDM_InitField(&m_filePath, "FilePath", QString(""), "Filename", "", "", ""); + CAF_PDM_InitField(&m_longText, "LongText", QString("Test text"), "Long Text", "", "", ""); - CAF_PDM_InitFieldNoDefault(&m_multiSelectList, "MultiSelect", "Selection List", "", "List" , "This is a multi selection list" ); - CAF_PDM_InitFieldNoDefault(&m_objectList, "ObjectList", "Objects list Field", "", "List" , "This is a list of PdmObjects" ); - CAF_PDM_InitFieldNoDefault(&m_objectListOfSameType, "m_objectListOfSameType", "Same type Objects list Field", "", "Same type List" , "Same type list of PdmObjects" ); + CAF_PDM_InitFieldNoDefault( + &m_multiSelectList, "MultiSelect", "Selection List", "", "List", "This is a multi selection list"); + CAF_PDM_InitFieldNoDefault(&m_objectList, "ObjectList", "Objects list Field", "", "List", "This is a list of PdmObjects"); + CAF_PDM_InitFieldNoDefault(&m_objectListOfSameType, + "m_objectListOfSameType", + "Same type Objects list Field", + "", + "Same type List", + "Same type list of PdmObjects"); m_objectListOfSameType.uiCapability()->setUiEditorTypeName(caf::PdmUiTableViewEditor::uiEditorTypeName()); - m_objectListOfSameType.uiCapability()->setCustomContextMenuEnabled(true);; + m_objectListOfSameType.uiCapability()->setCustomContextMenuEnabled(true); + ; CAF_PDM_InitFieldNoDefault(&m_ptrField, "m_ptrField", "PtrField", "", "Same type List", "Same type list of PdmObjects"); m_filePath.capability()->setUiEditorTypeName(caf::PdmUiFilePathEditor::uiEditorTypeName()); @@ -634,39 +888,38 @@ public: } //-------------------------------------------------------------------------------------------------- - /// + /// //-------------------------------------------------------------------------------------------------- - void defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) override + void defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) override { uiOrdering.add(&m_objectListOfSameType); uiOrdering.add(&m_ptrField); uiOrdering.add(&m_boolField); caf::PdmUiGroup* group1 = uiOrdering.addNewGroup("Name1"); group1->add(&m_doubleField); - caf::PdmUiGroup* group2 = uiOrdering.addNewGroup("Name2"); + caf::PdmUiGroup* group2 = uiOrdering.addNewGroup("Name2"); group2->add(&m_intField); caf::PdmUiGroup* group3 = group2->addNewGroup("Name3"); - //group3->add(&m_textField); + // group3->add(&m_textField); uiOrdering.skipRemainingFields(); } //-------------------------------------------------------------------------------------------------- - /// + /// //-------------------------------------------------------------------------------------------------- - QList calculateValueOptions(const caf::PdmFieldHandle* fieldNeedingOptions, bool * useOptionsOnly) override + QList calculateValueOptions(const caf::PdmFieldHandle* fieldNeedingOptions, + bool* useOptionsOnly) override { QList options; if (&m_multiSelectList == fieldNeedingOptions) { - options.push_back(caf::PdmOptionItemInfo("Choice 1", "Choice1")); options.push_back(caf::PdmOptionItemInfo("Choice 2", "Choice2")); options.push_back(caf::PdmOptionItemInfo("Choice 3", "Choice3")); options.push_back(caf::PdmOptionItemInfo("Choice 4", "Choice4")); options.push_back(caf::PdmOptionItemInfo("Choice 5", "Choice5")); options.push_back(caf::PdmOptionItemInfo("Choice 6", "Choice6")); - } if (&m_ptrField == fieldNeedingOptions) @@ -676,7 +929,9 @@ public: caf::PdmUiObjectHandle* uiObject = caf::uiObj(m_objectListOfSameType[i]); if (uiObject) { - options.push_back(caf::PdmOptionItemInfo(uiObject->uiName(), QVariant::fromValue(caf::PdmPointer(m_objectListOfSameType[i])))); + options.push_back(caf::PdmOptionItemInfo( + uiObject->uiName(), + QVariant::fromValue(caf::PdmPointer(m_objectListOfSameType[i])))); } } } @@ -687,52 +942,47 @@ public: } //-------------------------------------------------------------------------------------------------- - /// + /// //-------------------------------------------------------------------------------------------------- - caf::PdmFieldHandle* userDescriptionField() override + caf::PdmFieldHandle* userDescriptionField() override { return &m_textField; } - - // Fields - caf::PdmField m_boolField; - caf::PdmField m_doubleField; - caf::PdmField m_intField; - caf::PdmField m_textField; - - caf::PdmField m_filePath; + caf::PdmField m_boolField; + caf::PdmField m_doubleField; + caf::PdmField m_intField; + caf::PdmField m_textField; - caf::PdmField m_longText; - caf::PdmField > m_multiSelectList; + caf::PdmField m_filePath; + caf::PdmField m_longText; + caf::PdmField> m_multiSelectList; - caf::PdmChildArrayField< caf::PdmObjectHandle* > m_objectList; - caf::PdmChildArrayField< SmallDemoPdmObjectA* > m_objectListOfSameType; - caf::PdmPtrField m_ptrField; + caf::PdmChildArrayField m_objectList; + caf::PdmChildArrayField m_objectListOfSameType; + caf::PdmPtrField m_ptrField; - - caf::PdmField m_toggleField; + caf::PdmField m_toggleField; MenuItemProducer* m_menuItemProducer; - caf::PdmFieldHandle* objectToggleField() override + caf::PdmFieldHandle* objectToggleField() override { return &m_toggleField; } - void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue) override + void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue) override { - if (changedField == &m_toggleField) - { - std::cout << "Toggle Field changed" << std::endl; - } + if (changedField == &m_toggleField) + { + std::cout << "Toggle Field changed" << std::endl; + } } - //-------------------------------------------------------------------------------------------------- - /// + /// //-------------------------------------------------------------------------------------------------- void onEditorWidgetsCreated() override { @@ -754,9 +1004,10 @@ public: } } } + protected: //-------------------------------------------------------------------------------------------------- - /// + /// //-------------------------------------------------------------------------------------------------- void defineCustomContextMenu(const caf::PdmFieldHandle* fieldNeedingMenu, QMenu* menu, QWidget* fieldEditorWidget) override { @@ -765,17 +1016,14 @@ protected: caf::PdmUiTableView::addActionsToMenu(menu, &m_objectListOfSameType); } } - }; CAF_PDM_SOURCE_INIT(DemoPdmObject, "DemoPdmObject"); - - MainWindow* MainWindow::sm_mainWindowInstance = nullptr; //-------------------------------------------------------------------------------------------------- -/// +/// //-------------------------------------------------------------------------------------------------- MainWindow::MainWindow() { @@ -784,7 +1032,7 @@ MainWindow::MainWindow() // Initialize command framework // Register default command features (add/delete item in list) - + QPixmap pix; pix.load(":/images/curvePlot.png"); @@ -807,11 +1055,10 @@ MainWindow::MainWindow() caf::CmdExecCommandManager::instance()->enableUndoCommandSystem(true); undoView->setStack(caf::CmdExecCommandManager::instance()->undoStack()); #endif - } //-------------------------------------------------------------------------------------------------- -/// +/// //-------------------------------------------------------------------------------------------------- void MainWindow::createDockPanels() { @@ -824,9 +1071,9 @@ void MainWindow::createDockPanels() dockWidget->setWidget(m_pdmUiTreeView); m_pdmUiTreeView->treeView()->setContextMenuPolicy(Qt::CustomContextMenu); - QObject::connect(m_pdmUiTreeView->treeView(), - SIGNAL(customContextMenuRequested(const QPoint&)), - SLOT(slotCustomMenuRequestedForProjectTree(const QPoint&))); + QObject::connect(m_pdmUiTreeView->treeView(), + SIGNAL(customContextMenuRequested(const QPoint&)), + SLOT(slotCustomMenuRequestedForProjectTree(const QPoint&))); m_pdmUiTreeView->treeView()->setSelectionMode(QAbstractItemView::ExtendedSelection); m_pdmUiTreeView->enableSelectionManagerUpdating(true); @@ -840,13 +1087,12 @@ void MainWindow::createDockPanels() dockWidget->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea); m_customObjectEditor = new caf::CustomObjectEditor; - QWidget* w = m_customObjectEditor->getOrCreateWidget(this); + QWidget* w = m_customObjectEditor->getOrCreateWidget(this); dockWidget->setWidget(w); addDockWidget(Qt::RightDockWidgetArea, dockWidget); } - { QDockWidget* dockWidget = new QDockWidget("cafPropertyView", this); dockWidget->setObjectName("dockWidget"); @@ -883,7 +1129,6 @@ void MainWindow::createDockPanels() addDockWidget(Qt::RightDockWidgetArea, dockWidget); } - { QDockWidget* dockWidget = new QDockWidget("Undo stack", this); dockWidget->setObjectName("dockWidget"); @@ -894,11 +1139,10 @@ void MainWindow::createDockPanels() addDockWidget(Qt::RightDockWidgetArea, dockWidget); } - } //-------------------------------------------------------------------------------------------------- -/// +/// //-------------------------------------------------------------------------------------------------- void MainWindow::buildTestModel() { @@ -923,7 +1167,7 @@ void MainWindow::buildTestModel() m_testRoot->objects.push_back(singleEditorObj); DemoPdmObject* demoObj2 = new DemoPdmObject; - + demoObject->m_textField = "Mitt Demo Obj"; demoObject->m_objectList.push_back(demoObj2); demoObject->m_objectList.push_back(new SmallDemoPdmObjectA()); @@ -936,22 +1180,20 @@ void MainWindow::buildTestModel() demoObject->m_objectListOfSameType.push_back(new SmallDemoPdmObjectA()); demoObject->m_objectListOfSameType.push_back(new SmallDemoPdmObjectA()); - demoObj2->m_objectList.push_back(new SmallDemoPdmObjectA()); demoObj2->m_objectList.push_back(new SmallDemoPdmObjectA()); demoObj2->m_objectList.push_back(new SmallDemoPdmObject()); - + delete smallObj3; } - //-------------------------------------------------------------------------------------------------- -/// +/// //-------------------------------------------------------------------------------------------------- void MainWindow::setPdmRoot(caf::PdmObjectHandle* pdmRoot) { caf::PdmUiObjectHandle* uiObject = uiObj(pdmRoot); - + m_pdmUiTreeView->setPdmItem(uiObject); connect(m_pdmUiTreeView, SIGNAL(selectionChanged()), SLOT(slotSimpleSelectionChanged())); @@ -967,7 +1209,7 @@ void MainWindow::setPdmRoot(caf::PdmObjectHandle* pdmRoot) if (fields.size()) { - caf::PdmFieldHandle* field = fields[0]; + caf::PdmFieldHandle* field = fields[0]; caf::PdmUiFieldHandle* uiFieldHandle = field->uiCapability(); if (uiFieldHandle) { @@ -1005,12 +1247,11 @@ void MainWindow::setPdmRoot(caf::PdmObjectHandle* pdmRoot) m_customObjectEditor->setPdmObject(nullptr); } - m_customObjectEditor->updateUi(); } //-------------------------------------------------------------------------------------------------- -/// +/// //-------------------------------------------------------------------------------------------------- MainWindow::~MainWindow() { @@ -1027,7 +1268,7 @@ MainWindow::~MainWindow() } //-------------------------------------------------------------------------------------------------- -/// +/// //-------------------------------------------------------------------------------------------------- void MainWindow::releaseTestData() { @@ -1039,7 +1280,7 @@ void MainWindow::releaseTestData() } //-------------------------------------------------------------------------------------------------- -/// +/// //-------------------------------------------------------------------------------------------------- MainWindow* MainWindow::instance() { @@ -1047,13 +1288,13 @@ MainWindow* MainWindow::instance() } //-------------------------------------------------------------------------------------------------- -/// +/// //-------------------------------------------------------------------------------------------------- void MainWindow::createActions() { { - QAction* loadAction = new QAction("Load Project", this); - QAction* saveAction = new QAction("Save Project", this); + QAction* loadAction = new QAction("Load Project", this); + QAction* saveAction = new QAction("Save Project", this); connect(loadAction, SIGNAL(triggered()), SLOT(slotLoadProject())); connect(saveAction, SIGNAL(triggered()), SLOT(slotSaveProject())); @@ -1064,9 +1305,9 @@ void MainWindow::createActions() } { - QAction* editInsert = new QAction("&Insert", this); - QAction* editRemove = new QAction("&Remove", this); - QAction* editRemoveAll = new QAction("Remove all", this); + QAction* editInsert = new QAction("&Insert", this); + QAction* editRemove = new QAction("&Remove", this); + QAction* editRemoveAll = new QAction("Remove all", this); connect(editInsert, SIGNAL(triggered()), SLOT(slotInsert())); connect(editRemove, SIGNAL(triggered()), SLOT(slotRemove())); @@ -1080,7 +1321,7 @@ void MainWindow::createActions() } //-------------------------------------------------------------------------------------------------- -/// +/// //-------------------------------------------------------------------------------------------------- void MainWindow::slotInsert() { @@ -1089,11 +1330,11 @@ void MainWindow::slotInsert() for (size_t i = 0; i < selection.size(); ++i) { - caf::PdmUiFieldHandle* uiFh = dynamic_cast(selection[i]); - caf::PdmChildArrayField< caf::PdmObjectHandle*> * field = nullptr; + caf::PdmUiFieldHandle* uiFh = dynamic_cast(selection[i]); + caf::PdmChildArrayField* field = nullptr; + + if (uiFh) field = dynamic_cast*>(uiFh->fieldHandle()); - if (uiFh) field = dynamic_cast *>(uiFh->fieldHandle()); - if (field) { field->push_back(new DemoPdmObject); @@ -1101,7 +1342,7 @@ void MainWindow::slotInsert() return; } - #if 0 +#if 0 caf::PdmChildArrayFieldHandle* listField = NULL; if (uiFh) listField = dynamic_cast(uiFh->fieldHandle()); @@ -1111,12 +1352,12 @@ void MainWindow::slotInsert() caf::PdmObjectHandle* obj = listField->createAppendObject(); listField->capability()->updateConnectedEditors(); } - #endif +#endif } } //-------------------------------------------------------------------------------------------------- -/// +/// //-------------------------------------------------------------------------------------------------- void MainWindow::slotRemove() { @@ -1125,7 +1366,7 @@ void MainWindow::slotRemove() for (size_t i = 0; i < selection.size(); ++i) { - caf::PdmObjectHandle* obj = dynamic_cast< caf::PdmObjectHandle*>(selection[i]); + caf::PdmObjectHandle* obj = dynamic_cast(selection[i]); if (obj) { caf::PdmFieldHandle* field = obj->parentField(); @@ -1146,26 +1387,23 @@ void MainWindow::slotRemove() } //-------------------------------------------------------------------------------------------------- -/// +/// //-------------------------------------------------------------------------------------------------- -void MainWindow::slotRemoveAll() -{ - -} +void MainWindow::slotRemoveAll() {} //-------------------------------------------------------------------------------------------------- -/// +/// //-------------------------------------------------------------------------------------------------- void MainWindow::slotSimpleSelectionChanged() { std::vector selection; m_pdmUiTreeView->selectedUiItems(selection); - caf::PdmObjectHandle* obj = nullptr; + caf::PdmObjectHandle* obj = nullptr; caf::PdmChildArrayFieldHandle* listField = nullptr; if (selection.size()) { - caf::PdmUiObjectHandle* pdmUiObj = dynamic_cast( selection[0] ); + caf::PdmUiObjectHandle* pdmUiObj = dynamic_cast(selection[0]); if (pdmUiObj) obj = pdmUiObj->objectHandle(); } @@ -1173,14 +1411,14 @@ void MainWindow::slotSimpleSelectionChanged() } //-------------------------------------------------------------------------------------------------- -/// +/// //-------------------------------------------------------------------------------------------------- void MainWindow::slotShowTableView() { std::vector selection; m_pdmUiTreeView2->selectedUiItems(selection); - caf::PdmObjectHandle* obj = nullptr; - caf::PdmUiFieldHandle* uiFieldHandle = nullptr; + caf::PdmObjectHandle* obj = nullptr; + caf::PdmUiFieldHandle* uiFieldHandle = nullptr; caf::PdmChildArrayFieldHandle* childArrayFieldHandle = nullptr; if (selection.size()) @@ -1197,7 +1435,7 @@ void MainWindow::slotShowTableView() { if (!childArrayFieldHandle->hasSameFieldCountForAllObjects()) { - uiFieldHandle = nullptr; + uiFieldHandle = nullptr; childArrayFieldHandle = nullptr; } } @@ -1211,20 +1449,19 @@ void MainWindow::slotShowTableView() } } - - //-------------------------------------------------------------------------------------------------- -/// +/// //-------------------------------------------------------------------------------------------------- void MainWindow::slotLoadProject() { - QString fileName = QFileDialog::getOpenFileName(nullptr, tr("Open Project File"), "test.proj", "Project Files (*.proj);;All files(*.*)"); + QString fileName = + QFileDialog::getOpenFileName(nullptr, tr("Open Project File"), "test.proj", "Project Files (*.proj);;All files(*.*)"); if (!fileName.isEmpty()) { setPdmRoot(nullptr); releaseTestData(); - m_testRoot = new DemoPdmObjectGroup; + m_testRoot = new DemoPdmObjectGroup; m_testRoot->fileName = fileName; m_testRoot->readFile(); @@ -1233,11 +1470,12 @@ void MainWindow::slotLoadProject() } //-------------------------------------------------------------------------------------------------- -/// +/// //-------------------------------------------------------------------------------------------------- void MainWindow::slotSaveProject() { - QString fileName = QFileDialog::getSaveFileName(nullptr, tr("Save Project File"), "test.proj", "Project Files (*.proj);;All files(*.*)"); + QString fileName = + QFileDialog::getSaveFileName(nullptr, tr("Save Project File"), "test.proj", "Project Files (*.proj);;All files(*.*)"); if (!fileName.isEmpty()) { m_testRoot->fileName = fileName; @@ -1246,7 +1484,7 @@ void MainWindow::slotSaveProject() } //-------------------------------------------------------------------------------------------------- -/// +/// //-------------------------------------------------------------------------------------------------- void MainWindow::slotCustomMenuRequestedForProjectTree(const QPoint&) { @@ -1270,5 +1508,4 @@ void MainWindow::slotCustomMenuRequestedForProjectTree(const QPoint&) menu.exec(QCursor::pos()); caf::CmdFeatureManager::instance()->setCurrentContextMenuTargetWidget(nullptr); } - } diff --git a/Fwk/AppFwk/cafTests/cafTestApplication/MainWindow.h b/Fwk/AppFwk/cafTests/cafTestApplication/MainWindow.h index fd6484dc52..e6faaf1fa6 100644 --- a/Fwk/AppFwk/cafTests/cafTestApplication/MainWindow.h +++ b/Fwk/AppFwk/cafTests/cafTestApplication/MainWindow.h @@ -1,8 +1,8 @@ #pragma once -#include #include #include +#include class DemoPdmObject; class DemoPdmObjectGroup; @@ -12,14 +12,14 @@ class QLabel; namespace caf { - class PdmObjectCollection; - class PdmObjectHandle; - class UiTreeModelPdm; - class PdmUiPropertyView; - class PdmUiTreeView; - class PdmUiTableView; - class CustomObjectEditor; -} +class PdmObjectCollection; +class PdmObjectHandle; +class UiTreeModelPdm; +class PdmUiPropertyView; +class PdmUiTreeView; +class PdmUiTableView; +class CustomObjectEditor; +} // namespace caf class MainWindow : public QMainWindow { @@ -30,7 +30,7 @@ public: ~MainWindow() override; static MainWindow* instance(); - void setPdmRoot(caf::PdmObjectHandle* pdmRoot); + void setPdmRoot(caf::PdmObjectHandle* pdmRoot); private: void createActions(); @@ -56,17 +56,16 @@ private: static MainWindow* sm_mainWindowInstance; private: - QUndoView* undoView; + QUndoView* undoView; - caf::PdmUiTreeView* m_pdmUiTreeView; - caf::PdmUiTreeView* m_pdmUiTreeView2; - caf::PdmUiPropertyView* m_pdmUiPropertyView; - caf::PdmUiTableView* m_pdmUiTableView; - DemoPdmObjectGroup* m_testRoot; + caf::PdmUiTreeView* m_pdmUiTreeView; + caf::PdmUiTreeView* m_pdmUiTreeView2; + caf::PdmUiPropertyView* m_pdmUiPropertyView; + caf::PdmUiTableView* m_pdmUiTableView; + DemoPdmObjectGroup* m_testRoot; - caf::CustomObjectEditor* m_customObjectEditor; + caf::CustomObjectEditor* m_customObjectEditor; - QLabel* m_plotLabel; - QLabel* m_smallPlotLabel; + QLabel* m_plotLabel; + QLabel* m_smallPlotLabel; }; - diff --git a/Fwk/AppFwk/cafTests/cafTestApplication/ManyGroups.h b/Fwk/AppFwk/cafTests/cafTestApplication/ManyGroups.h index d1204a7e50..3464cd52c5 100644 --- a/Fwk/AppFwk/cafTests/cafTestApplication/ManyGroups.h +++ b/Fwk/AppFwk/cafTests/cafTestApplication/ManyGroups.h @@ -1,49 +1,56 @@ #pragma once -#include "cafPdmObject.h" #include "cafPdmField.h" +#include "cafPdmObject.h" #include "cafPdmProxyValueField.h" - class ManyGroups : public caf::PdmObject { CAF_PDM_HEADER_INIT; -public: +public: ManyGroups(); - caf::PdmField m_doubleField; - caf::PdmField m_intField; - caf::PdmField m_textField; + caf::PdmField m_doubleField; + caf::PdmField m_intField; + caf::PdmField m_textField; caf::PdmProxyValueField m_proxyDoubleField; - caf::PdmField > m_multiSelectList; - caf::PdmField m_stringWithMultipleOptions; + caf::PdmField> m_multiSelectList; + caf::PdmField m_stringWithMultipleOptions; - caf::PdmField m_toggleField; + caf::PdmField m_toggleField; caf::PdmFieldHandle* objectToggleField() override; void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue) override; - void setDoubleMember(const double& d) { m_doubleMember = d; std::cout << "setDoubleMember" << std::endl; } - double doubleMember() const { std::cout << "doubleMember" << std::endl; return m_doubleMember; } - + void setDoubleMember(const double& d) + { + m_doubleMember = d; + std::cout << "setDoubleMember" << std::endl; + } + double doubleMember() const + { + std::cout << "doubleMember" << std::endl; + return m_doubleMember; + } //-------------------------------------------------------------------------------------------------- - /// + /// //-------------------------------------------------------------------------------------------------- - QList calculateValueOptions(const caf::PdmFieldHandle* fieldNeedingOptions, bool* useOptionsOnly) override; + QList calculateValueOptions(const caf::PdmFieldHandle* fieldNeedingOptions, + bool* useOptionsOnly) override; private: double m_doubleMember; protected: //-------------------------------------------------------------------------------------------------- - /// + /// //-------------------------------------------------------------------------------------------------- void defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) override; - void defineEditorAttribute(const caf::PdmFieldHandle* field, QString uiConfigName, caf::PdmUiEditorAttribute* attribute) override; - + void defineEditorAttribute(const caf::PdmFieldHandle* field, + QString uiConfigName, + caf::PdmUiEditorAttribute* attribute) override; }; - diff --git a/Fwk/AppFwk/cafTests/cafTestApplication/MenuItemProducer.cpp b/Fwk/AppFwk/cafTests/cafTestApplication/MenuItemProducer.cpp index 050ee9d714..32fb4d3775 100644 --- a/Fwk/AppFwk/cafTests/cafTestApplication/MenuItemProducer.cpp +++ b/Fwk/AppFwk/cafTests/cafTestApplication/MenuItemProducer.cpp @@ -43,17 +43,13 @@ #include #include +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +MenuItemProducer::MenuItemProducer() {} //-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -MenuItemProducer::MenuItemProducer() -{ - -} - -//-------------------------------------------------------------------------------------------------- -/// +/// //-------------------------------------------------------------------------------------------------- void MenuItemProducer::attachTextEdit(QTextEdit* textEdit) { @@ -62,16 +58,16 @@ void MenuItemProducer::attachTextEdit(QTextEdit* textEdit) textEdit->setContextMenuPolicy(Qt::CustomContextMenu); QObject::connect(textEdit, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(slotMenuItems(QPoint))); } - + m_textEdit = textEdit; } //-------------------------------------------------------------------------------------------------- -/// +/// //-------------------------------------------------------------------------------------------------- void MenuItemProducer::slotMenuItems(QPoint point) { - QMenu menu; + QMenu menu; QAction act("Testing", this); connect(&act, SIGNAL(triggered()), SLOT(slotShowText())); @@ -89,13 +85,13 @@ void MenuItemProducer::slotMenuItems(QPoint point) } //-------------------------------------------------------------------------------------------------- -/// +/// //-------------------------------------------------------------------------------------------------- void MenuItemProducer::slotShowText() { if (m_textEdit) { - QAction* action = qobject_cast(sender()); + QAction* action = qobject_cast(sender()); if (action) { QTextCursor cursor = m_textEdit->textCursor(); diff --git a/Fwk/AppFwk/cafTests/cafTestApplication/MenuItemProducer.h b/Fwk/AppFwk/cafTests/cafTestApplication/MenuItemProducer.h index 2215cf9861..887c20e24a 100644 --- a/Fwk/AppFwk/cafTests/cafTestApplication/MenuItemProducer.h +++ b/Fwk/AppFwk/cafTests/cafTestApplication/MenuItemProducer.h @@ -36,7 +36,6 @@ #pragma once - #include #include #include @@ -65,6 +64,3 @@ private: QPointer m_textEdit; int m_textPosition; }; - - - diff --git a/Fwk/AppFwk/cafTests/cafTestApplication/WidgetLayoutTest.cpp b/Fwk/AppFwk/cafTests/cafTestApplication/WidgetLayoutTest.cpp index 0953e82eaa..8cef5da848 100644 --- a/Fwk/AppFwk/cafTests/cafTestApplication/WidgetLayoutTest.cpp +++ b/Fwk/AppFwk/cafTests/cafTestApplication/WidgetLayoutTest.cpp @@ -2,23 +2,20 @@ #include "WidgetLayoutTest.h" #include -#include -#include #include #include - - - +#include +#include //-------------------------------------------------------------------------------------------------- -/// +/// //-------------------------------------------------------------------------------------------------- WidgetLayoutTest::WidgetLayoutTest(QWidget* parent /*= 0*/, Qt::WindowFlags f /*= 0*/) : QWidget(parent, f) { QVBoxLayout* l = new QVBoxLayout; setLayout(l); - + { QPushButton* b1 = new QPushButton("Original config", this); connect(b1, SIGNAL(clicked()), SLOT(setUpInitialConfiguration())); @@ -47,11 +44,11 @@ WidgetLayoutTest::WidgetLayoutTest(QWidget* parent /*= 0*/, Qt::WindowFlags f /* m_widget4 = new QLineEdit("4", this); m_widget5 = new QLineEdit("5", this); - m_groupBoxA = new QGroupBox("Groupbox A", this); + m_groupBoxA = new QGroupBox("Groupbox A", this); m_groupBoxALayout = new QGridLayout(); m_groupBoxA->setLayout(m_groupBoxALayout); - m_groupBoxB = new QGroupBox("Groupbox B", this); + m_groupBoxB = new QGroupBox("Groupbox B", this); m_groupBoxBLayout = new QGridLayout(); m_groupBoxB->setLayout(m_groupBoxBLayout); @@ -59,22 +56,19 @@ WidgetLayoutTest::WidgetLayoutTest(QWidget* parent /*= 0*/, Qt::WindowFlags f /* } //-------------------------------------------------------------------------------------------------- -/// +/// //-------------------------------------------------------------------------------------------------- -WidgetLayoutTest::~WidgetLayoutTest() -{ - -} +WidgetLayoutTest::~WidgetLayoutTest() {} //-------------------------------------------------------------------------------------------------- -/// +/// //-------------------------------------------------------------------------------------------------- void WidgetLayoutTest::setUpInitialConfiguration() { m_mainLayout->addWidget(m_widget1); m_mainLayout->addWidget(m_groupBoxA); - + m_groupBoxALayout->addWidget(m_widget2, 0, 0); if (!m_widget3) { @@ -89,7 +83,7 @@ void WidgetLayoutTest::setUpInitialConfiguration() } //-------------------------------------------------------------------------------------------------- -/// +/// //-------------------------------------------------------------------------------------------------- void WidgetLayoutTest::setUpInitialConfigurationA() { @@ -100,7 +94,7 @@ void WidgetLayoutTest::setUpInitialConfigurationA() } //-------------------------------------------------------------------------------------------------- -/// +/// //-------------------------------------------------------------------------------------------------- void WidgetLayoutTest::setUpInitialConfigurationB() { diff --git a/Fwk/AppFwk/cafTests/cafTestApplication/WidgetLayoutTest.h b/Fwk/AppFwk/cafTests/cafTestApplication/WidgetLayoutTest.h index 3f6a20d64d..68dba8027a 100644 --- a/Fwk/AppFwk/cafTests/cafTestApplication/WidgetLayoutTest.h +++ b/Fwk/AppFwk/cafTests/cafTestApplication/WidgetLayoutTest.h @@ -2,12 +2,9 @@ #include - class QGridLayout; class QGroupBox; - - class WidgetLayoutTest : public QWidget { Q_OBJECT @@ -19,10 +16,10 @@ public: private: QGridLayout* m_mainLayout; - QGroupBox* m_groupBoxA; + QGroupBox* m_groupBoxA; QGridLayout* m_groupBoxALayout; - QGroupBox* m_groupBoxB; + QGroupBox* m_groupBoxB; QGridLayout* m_groupBoxBLayout; QWidget* m_widget1; @@ -36,6 +33,4 @@ private slots: void setUpInitialConfigurationA(); void setUpInitialConfigurationB(); - }; - diff --git a/Fwk/AppFwk/cafTests/cafTestCvfApplication/Main.cpp b/Fwk/AppFwk/cafTests/cafTestCvfApplication/Main.cpp index 5fe2f4f22c..ef6179eb60 100644 --- a/Fwk/AppFwk/cafTests/cafTestCvfApplication/Main.cpp +++ b/Fwk/AppFwk/cafTests/cafTestCvfApplication/Main.cpp @@ -3,7 +3,7 @@ #include -int main(int argc, char *argv[]) +int main(int argc, char* argv[]) { QApplication app(argc, argv); diff --git a/Fwk/AppFwk/cafTests/cafTestCvfApplication/MainWindow.cpp b/Fwk/AppFwk/cafTests/cafTestCvfApplication/MainWindow.cpp index 08a3f90ad3..4565ac88b1 100644 --- a/Fwk/AppFwk/cafTests/cafTestCvfApplication/MainWindow.cpp +++ b/Fwk/AppFwk/cafTests/cafTestCvfApplication/MainWindow.cpp @@ -1,355 +1,346 @@ -#include "MainWindow.h" - -#include "WidgetLayoutTest.h" - -#include "cafAppEnum.h" -#include "cafPdmField.h" -#include "cafPdmObject.h" -#include "cafPdmObjectGroup.h" -#include "cafPdmProxyValueField.h" -#include "cafPdmPtrField.h" -#include "cafPdmReferenceHelper.h" -#include "cafPdmUiFilePathEditor.h" -#include "cafPdmUiListEditor.h" -#include "cafPdmUiPropertyView.h" -#include "cafPdmUiTableView.h" -#include "cafPdmUiTextEditor.h" -#include "cafPdmUiTreeView.h" -#include "cafSelectionManager.h" - -#include -#include -#include -#include -#include - -#ifdef TAP_USE_COMMAND_FRAMEWORK -#include "cafCmdExecCommandManager.h" -#include "cafCmdSelectionHelper.h" -#include "cafCmdFeatureManager.h" -#endif -#include "TapProject.h" - - -MainWindow* MainWindow::sm_mainWindowInstance = NULL; - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -MainWindow::MainWindow() -{ - // Initialize command framework - - // Register default command features (add/delete item in list) - - createActions(); - createDockPanels(); - - buildTestModel(); - setPdmRoot(m_project); - - sm_mainWindowInstance = this; - caf::SelectionManager::instance()->setPdmRootObject(m_project); - -#ifdef TAP_USE_COMMAND_FRAMEWORK - caf::CmdExecCommandManager::instance()->enableUndoCommandSystem(true); - undoView->setStack(caf::CmdExecCommandManager::instance()->undoStack()); -#endif - -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void MainWindow::createDockPanels() -{ - { - QDockWidget* dockWidget = new QDockWidget("PdmTreeView - controls property view", this); - dockWidget->setObjectName("dockWidget"); - dockWidget->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea); - - m_pdmUiTreeView = new caf::PdmUiTreeView(dockWidget); - dockWidget->setWidget(m_pdmUiTreeView); - - addDockWidget(Qt::LeftDockWidgetArea, dockWidget); - } - - { - QDockWidget* dockWidget = new QDockWidget("cafPropertyView", this); - dockWidget->setObjectName("dockWidget"); - dockWidget->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea); - - m_pdmUiPropertyView = new caf::PdmUiPropertyView(dockWidget); - dockWidget->setWidget(m_pdmUiPropertyView); - - addDockWidget(Qt::LeftDockWidgetArea, dockWidget); - } - - { - QDockWidget* dockWidget = new QDockWidget("PdmTreeView2 - controls table view", this); - dockWidget->setObjectName("dockWidget"); - dockWidget->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea); - - m_pdmUiTreeView2 = new caf::PdmUiTreeView(dockWidget); - m_pdmUiTreeView2->enableDefaultContextMenu(true); - m_pdmUiTreeView2->enableSelectionManagerUpdating(true); - dockWidget->setWidget(m_pdmUiTreeView2); - - addDockWidget(Qt::RightDockWidgetArea, dockWidget); - } - - { - QDockWidget* dockWidget = new QDockWidget("cafTableView", this); - dockWidget->setObjectName("dockWidget"); - dockWidget->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea); - - m_pdmUiTableView = new caf::PdmUiTableView(dockWidget); - m_pdmUiTableView->setSelectionRole(caf::SelectionManager::CURRENT); - m_pdmUiTableView->enableDefaultContextMenu(true); - - dockWidget->setWidget(m_pdmUiTableView); - - addDockWidget(Qt::RightDockWidgetArea, dockWidget); - } - - - { - QDockWidget* dockWidget = new QDockWidget("Undo stack", this); - dockWidget->setObjectName("dockWidget"); - dockWidget->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea); - - undoView = new QUndoView(this); - dockWidget->setWidget(undoView); - - addDockWidget(Qt::RightDockWidgetArea, dockWidget); - } - -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void MainWindow::buildTestModel() -{ - m_project = new TapProject; -} - - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void MainWindow::setPdmRoot(caf::PdmObjectHandle* pdmRoot) -{ - caf::PdmUiObjectHandle* uiObject = uiObj(pdmRoot); - if (uiObject) - { - m_pdmUiTreeView->setPdmItem(uiObject); - } - - connect(m_pdmUiTreeView, SIGNAL(selectionChanged()), SLOT(slotSimpleSelectionChanged())); - - // Set up test of using a field as a root item - // Hack, because we know that pdmRoot is a PdmObjectGroup ... - - std::vector fields; - pdmRoot->fields(fields); - if (fields.size()) - { - caf::PdmFieldHandle* field = fields[0]; - caf::PdmUiFieldHandle* uiFieldHandle = field->uiCapability(); - if (uiFieldHandle) - { - m_pdmUiTreeView2->setPdmItem(uiFieldHandle); - uiFieldHandle->updateConnectedEditors(); - } - } - - if (uiObject) - { - m_pdmUiTreeView2->setPdmItem(uiObject); - } - - connect(m_pdmUiTreeView2, SIGNAL(selectionChanged()), SLOT(slotShowTableView())); -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -MainWindow::~MainWindow() -{ - m_pdmUiTreeView->setPdmItem(NULL); - m_pdmUiTreeView2->setPdmItem(NULL); - m_pdmUiPropertyView->showProperties(NULL); - m_pdmUiTableView->setListField(NULL); -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void MainWindow::releaseTestData() -{ - if (m_project) - { - delete m_project; - } -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -MainWindow* MainWindow::instance() -{ - return sm_mainWindowInstance; -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void MainWindow::createActions() -{ - // Create actions - QAction* editInsert = new QAction("&Insert", this); - QAction* editRemove = new QAction("&Remove", this); - QAction* editRemoveAll = new QAction("Remove all", this); - - connect(editInsert, SIGNAL(triggered()), SLOT(slotInsert())); - connect(editRemove, SIGNAL(triggered()), SLOT(slotRemove())); - connect(editRemoveAll, SIGNAL(triggered()), SLOT(slotRemoveAll())); - - - // Create menus - QMenu* editMenu = menuBar()->addMenu("&Edit"); - editMenu->addAction(editInsert); - editMenu->addAction(editRemove); - editMenu->addAction(editRemoveAll); -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void MainWindow::slotInsert() -{ -/* - std::vector selection; - m_pdmUiTreeView->selectedUiItems(selection); - - for (size_t i = 0; i < selection.size(); ++i) - { - caf::PdmUiFieldHandle* uiFh = dynamic_cast(selection[i]); - caf::PdmChildArrayField< caf::PdmObjectHandle*> * field = NULL; - - if (uiFh) field = dynamic_cast *>(uiFh->fieldHandle()); - - if (field) - { - field->push_back(new DemoPdmObject); - field->capability()->updateConnectedEditors(); - - return; - } - #if 0 - caf::PdmChildArrayFieldHandle* listField = NULL; - - if (uiFh) listField = dynamic_cast(uiFh->fieldHandle()); - - if (listField) - { - caf::PdmObjectHandle* obj = listField->createAppendObject(); - listField->capability()->updateConnectedEditors(); - } - #endif - } -*/ -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void MainWindow::slotRemove() -{ - std::vector selection; - m_pdmUiTreeView->selectedUiItems(selection); - - for (size_t i = 0; i < selection.size(); ++i) - { - caf::PdmObjectHandle* obj = dynamic_cast< caf::PdmObjectHandle*>(selection[i]); - if (obj) - { - caf::PdmFieldHandle* field = obj->parentField(); - - // Ordering is important - - field->removeChildObject(obj); - - // Delete object - delete obj; - - // Update editors - field->uiCapability()->updateConnectedEditors(); - - break; - } - } -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void MainWindow::slotRemoveAll() -{ - -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void MainWindow::slotSimpleSelectionChanged() -{ - std::vector selection; - m_pdmUiTreeView->selectedUiItems(selection); - caf::PdmObjectHandle* obj = NULL; - caf::PdmChildArrayFieldHandle* listField = NULL; - - if (selection.size()) - { - caf::PdmUiObjectHandle* pdmUiObj = dynamic_cast( selection[0] ); - if (pdmUiObj) obj = pdmUiObj->objectHandle(); - } - - m_pdmUiPropertyView->showProperties(obj); -} - -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void MainWindow::slotShowTableView() -{ - std::vector selection; - m_pdmUiTreeView2->selectedUiItems(selection); - caf::PdmObjectHandle* obj = NULL; - caf::PdmChildArrayFieldHandle* listField = NULL; - - if (selection.size()) - { - caf::PdmUiItem* pdmUiItem = selection[0]; - - caf::PdmUiFieldHandle* guiField = dynamic_cast(pdmUiItem); - - if (guiField) listField = dynamic_cast(guiField->fieldHandle()); - - if (listField) - { - if (!listField->hasSameFieldCountForAllObjects()) - { - listField = NULL; - } - } - } - - m_pdmUiTableView->setListField(listField); - - if (listField) - { - listField->uiCapability()->updateConnectedEditors(); - } -} +#include "MainWindow.h" + +#include "WidgetLayoutTest.h" + +#include "cafAppEnum.h" +#include "cafPdmField.h" +#include "cafPdmObject.h" +#include "cafPdmObjectGroup.h" +#include "cafPdmProxyValueField.h" +#include "cafPdmPtrField.h" +#include "cafPdmReferenceHelper.h" +#include "cafPdmUiFilePathEditor.h" +#include "cafPdmUiListEditor.h" +#include "cafPdmUiPropertyView.h" +#include "cafPdmUiTableView.h" +#include "cafPdmUiTextEditor.h" +#include "cafPdmUiTreeView.h" +#include "cafSelectionManager.h" + +#include +#include +#include +#include +#include + +#ifdef TAP_USE_COMMAND_FRAMEWORK +#include "cafCmdExecCommandManager.h" +#include "cafCmdFeatureManager.h" +#include "cafCmdSelectionHelper.h" +#endif +#include "TapProject.h" + +MainWindow* MainWindow::sm_mainWindowInstance = NULL; + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +MainWindow::MainWindow() +{ + // Initialize command framework + + // Register default command features (add/delete item in list) + + createActions(); + createDockPanels(); + + buildTestModel(); + setPdmRoot(m_project); + + sm_mainWindowInstance = this; + caf::SelectionManager::instance()->setPdmRootObject(m_project); + +#ifdef TAP_USE_COMMAND_FRAMEWORK + caf::CmdExecCommandManager::instance()->enableUndoCommandSystem(true); + undoView->setStack(caf::CmdExecCommandManager::instance()->undoStack()); +#endif +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void MainWindow::createDockPanels() +{ + { + QDockWidget* dockWidget = new QDockWidget("PdmTreeView - controls property view", this); + dockWidget->setObjectName("dockWidget"); + dockWidget->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea); + + m_pdmUiTreeView = new caf::PdmUiTreeView(dockWidget); + dockWidget->setWidget(m_pdmUiTreeView); + + addDockWidget(Qt::LeftDockWidgetArea, dockWidget); + } + + { + QDockWidget* dockWidget = new QDockWidget("cafPropertyView", this); + dockWidget->setObjectName("dockWidget"); + dockWidget->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea); + + m_pdmUiPropertyView = new caf::PdmUiPropertyView(dockWidget); + dockWidget->setWidget(m_pdmUiPropertyView); + + addDockWidget(Qt::LeftDockWidgetArea, dockWidget); + } + + { + QDockWidget* dockWidget = new QDockWidget("PdmTreeView2 - controls table view", this); + dockWidget->setObjectName("dockWidget"); + dockWidget->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea); + + m_pdmUiTreeView2 = new caf::PdmUiTreeView(dockWidget); + m_pdmUiTreeView2->enableDefaultContextMenu(true); + m_pdmUiTreeView2->enableSelectionManagerUpdating(true); + dockWidget->setWidget(m_pdmUiTreeView2); + + addDockWidget(Qt::RightDockWidgetArea, dockWidget); + } + + { + QDockWidget* dockWidget = new QDockWidget("cafTableView", this); + dockWidget->setObjectName("dockWidget"); + dockWidget->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea); + + m_pdmUiTableView = new caf::PdmUiTableView(dockWidget); + m_pdmUiTableView->setSelectionRole(caf::SelectionManager::CURRENT); + m_pdmUiTableView->enableDefaultContextMenu(true); + + dockWidget->setWidget(m_pdmUiTableView); + + addDockWidget(Qt::RightDockWidgetArea, dockWidget); + } + + { + QDockWidget* dockWidget = new QDockWidget("Undo stack", this); + dockWidget->setObjectName("dockWidget"); + dockWidget->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea); + + undoView = new QUndoView(this); + dockWidget->setWidget(undoView); + + addDockWidget(Qt::RightDockWidgetArea, dockWidget); + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void MainWindow::buildTestModel() +{ + m_project = new TapProject; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void MainWindow::setPdmRoot(caf::PdmObjectHandle* pdmRoot) +{ + caf::PdmUiObjectHandle* uiObject = uiObj(pdmRoot); + if (uiObject) + { + m_pdmUiTreeView->setPdmItem(uiObject); + } + + connect(m_pdmUiTreeView, SIGNAL(selectionChanged()), SLOT(slotSimpleSelectionChanged())); + + // Set up test of using a field as a root item + // Hack, because we know that pdmRoot is a PdmObjectGroup ... + + std::vector fields; + pdmRoot->fields(fields); + if (fields.size()) + { + caf::PdmFieldHandle* field = fields[0]; + caf::PdmUiFieldHandle* uiFieldHandle = field->uiCapability(); + if (uiFieldHandle) + { + m_pdmUiTreeView2->setPdmItem(uiFieldHandle); + uiFieldHandle->updateConnectedEditors(); + } + } + + if (uiObject) + { + m_pdmUiTreeView2->setPdmItem(uiObject); + } + + connect(m_pdmUiTreeView2, SIGNAL(selectionChanged()), SLOT(slotShowTableView())); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +MainWindow::~MainWindow() +{ + m_pdmUiTreeView->setPdmItem(NULL); + m_pdmUiTreeView2->setPdmItem(NULL); + m_pdmUiPropertyView->showProperties(NULL); + m_pdmUiTableView->setListField(NULL); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void MainWindow::releaseTestData() +{ + if (m_project) + { + delete m_project; + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +MainWindow* MainWindow::instance() +{ + return sm_mainWindowInstance; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void MainWindow::createActions() +{ + // Create actions + QAction* editInsert = new QAction("&Insert", this); + QAction* editRemove = new QAction("&Remove", this); + QAction* editRemoveAll = new QAction("Remove all", this); + + connect(editInsert, SIGNAL(triggered()), SLOT(slotInsert())); + connect(editRemove, SIGNAL(triggered()), SLOT(slotRemove())); + connect(editRemoveAll, SIGNAL(triggered()), SLOT(slotRemoveAll())); + + // Create menus + QMenu* editMenu = menuBar()->addMenu("&Edit"); + editMenu->addAction(editInsert); + editMenu->addAction(editRemove); + editMenu->addAction(editRemoveAll); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void MainWindow::slotInsert() +{ + /* + std::vector selection; + m_pdmUiTreeView->selectedUiItems(selection); + + for (size_t i = 0; i < selection.size(); ++i) + { + caf::PdmUiFieldHandle* uiFh = dynamic_cast(selection[i]); + caf::PdmChildArrayField< caf::PdmObjectHandle*> * field = NULL; + + if (uiFh) field = dynamic_cast *>(uiFh->fieldHandle()); + + if (field) + { + field->push_back(new DemoPdmObject); + field->capability()->updateConnectedEditors(); + + return; + } + #if 0 + caf::PdmChildArrayFieldHandle* listField = NULL; + + if (uiFh) listField = dynamic_cast(uiFh->fieldHandle()); + + if (listField) + { + caf::PdmObjectHandle* obj = listField->createAppendObject(); + listField->capability()->updateConnectedEditors(); + } + #endif + } + */ +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void MainWindow::slotRemove() +{ + std::vector selection; + m_pdmUiTreeView->selectedUiItems(selection); + + for (size_t i = 0; i < selection.size(); ++i) + { + caf::PdmObjectHandle* obj = dynamic_cast(selection[i]); + if (obj) + { + caf::PdmFieldHandle* field = obj->parentField(); + + // Ordering is important + + field->removeChildObject(obj); + + // Delete object + delete obj; + + // Update editors + field->uiCapability()->updateConnectedEditors(); + + break; + } + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void MainWindow::slotRemoveAll() {} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void MainWindow::slotSimpleSelectionChanged() +{ + std::vector selection; + m_pdmUiTreeView->selectedUiItems(selection); + caf::PdmObjectHandle* obj = NULL; + caf::PdmChildArrayFieldHandle* listField = NULL; + + if (selection.size()) + { + caf::PdmUiObjectHandle* pdmUiObj = dynamic_cast(selection[0]); + if (pdmUiObj) obj = pdmUiObj->objectHandle(); + } + + m_pdmUiPropertyView->showProperties(obj); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void MainWindow::slotShowTableView() +{ + std::vector selection; + m_pdmUiTreeView2->selectedUiItems(selection); + caf::PdmObjectHandle* obj = NULL; + caf::PdmChildArrayFieldHandle* listField = NULL; + + if (selection.size()) + { + caf::PdmUiItem* pdmUiItem = selection[0]; + + caf::PdmUiFieldHandle* guiField = dynamic_cast(pdmUiItem); + + if (guiField) listField = dynamic_cast(guiField->fieldHandle()); + + if (listField) + { + if (!listField->hasSameFieldCountForAllObjects()) + { + listField = NULL; + } + } + } + + m_pdmUiTableView->setListField(listField); + + if (listField) + { + listField->uiCapability()->updateConnectedEditors(); + } +} diff --git a/Fwk/AppFwk/cafTests/cafTestCvfApplication/MainWindow.h b/Fwk/AppFwk/cafTests/cafTestCvfApplication/MainWindow.h index afa9d3ad56..00b40de79e 100644 --- a/Fwk/AppFwk/cafTests/cafTestCvfApplication/MainWindow.h +++ b/Fwk/AppFwk/cafTests/cafTestCvfApplication/MainWindow.h @@ -1,24 +1,23 @@ #pragma once -#include #include #include +#include class QTreeView; class QUndoView; class TapProject; - namespace caf { - class PdmObjectCollection; - class PdmObjectHandle; - class UiTreeModelPdm; - class PdmUiPropertyView; - class PdmUiTreeView; - class PdmUiTableView; -} +class PdmObjectCollection; +class PdmObjectHandle; +class UiTreeModelPdm; +class PdmUiPropertyView; +class PdmUiTreeView; +class PdmUiTableView; +} // namespace caf class MainWindow : public QMainWindow { @@ -29,7 +28,7 @@ public: ~MainWindow(); static MainWindow* instance(); - void setPdmRoot(caf::PdmObjectHandle* pdmRoot); + void setPdmRoot(caf::PdmObjectHandle* pdmRoot); private: void createActions(); @@ -37,7 +36,6 @@ private: void createToolBars(); void createDockPanels(); - void buildTestModel(); void releaseTestData(); @@ -49,18 +47,16 @@ private slots: void slotSimpleSelectionChanged(); void slotShowTableView(); - private: static MainWindow* sm_mainWindowInstance; private: - QUndoView* undoView; + QUndoView* undoView; - caf::PdmUiTreeView* m_pdmUiTreeView; - caf::PdmUiTreeView* m_pdmUiTreeView2; - caf::PdmUiPropertyView* m_pdmUiPropertyView; - caf::PdmUiTableView* m_pdmUiTableView; + caf::PdmUiTreeView* m_pdmUiTreeView; + caf::PdmUiTreeView* m_pdmUiTreeView2; + caf::PdmUiPropertyView* m_pdmUiPropertyView; + caf::PdmUiTableView* m_pdmUiTableView; - TapProject* m_project; + TapProject* m_project; }; - diff --git a/Fwk/AppFwk/cafTests/cafTestCvfApplication/TapCvfSpecialization.cpp b/Fwk/AppFwk/cafTests/cafTestCvfApplication/TapCvfSpecialization.cpp index b580788ea1..dea0717560 100644 --- a/Fwk/AppFwk/cafTests/cafTestCvfApplication/TapCvfSpecialization.cpp +++ b/Fwk/AppFwk/cafTests/cafTestCvfApplication/TapCvfSpecialization.cpp @@ -2,13 +2,10 @@ #include "cafPdmUiListEditor.h" - - CAF_PDM_SOURCE_INIT(TapCvfSpecialization, "TapCvfSpecialization"); - //-------------------------------------------------------------------------------------------------- -/// +/// //-------------------------------------------------------------------------------------------------- TapCvfSpecialization::TapCvfSpecialization() { @@ -24,9 +21,11 @@ TapCvfSpecialization::TapCvfSpecialization() } //-------------------------------------------------------------------------------------------------- -/// +/// //-------------------------------------------------------------------------------------------------- -void TapCvfSpecialization::fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue) +void TapCvfSpecialization::fieldChangedByUi(const caf::PdmFieldHandle* changedField, + const QVariant& oldValue, + const QVariant& newValue) { if (changedField == &m_colorField) { @@ -35,9 +34,11 @@ void TapCvfSpecialization::fieldChangedByUi(const caf::PdmFieldHandle* changedFi } //-------------------------------------------------------------------------------------------------- -/// +/// //-------------------------------------------------------------------------------------------------- -void TapCvfSpecialization::defineEditorAttribute(const caf::PdmFieldHandle* field, QString uiConfigName, caf::PdmUiEditorAttribute* attribute) +void TapCvfSpecialization::defineEditorAttribute(const caf::PdmFieldHandle* field, + QString uiConfigName, + caf::PdmUiEditorAttribute* attribute) { if (field == &m_vecArrayField) { @@ -48,4 +49,3 @@ void TapCvfSpecialization::defineEditorAttribute(const caf::PdmFieldHandle* fiel } } } - diff --git a/Fwk/AppFwk/cafTests/cafTestCvfApplication/TapCvfSpecialization.h b/Fwk/AppFwk/cafTests/cafTestCvfApplication/TapCvfSpecialization.h index 2ca8a1c269..f28ee8050e 100644 --- a/Fwk/AppFwk/cafTests/cafTestCvfApplication/TapCvfSpecialization.h +++ b/Fwk/AppFwk/cafTests/cafTestCvfApplication/TapCvfSpecialization.h @@ -1,42 +1,38 @@ #pragma once - #include "cvfBase.h" #include "cvfColor3.h" -#include "cvfVector3.h" #include "cvfMatrix4.h" +#include "cvfVector3.h" #include "cafPdmFieldCvfColor.h" -#include "cafPdmFieldCvfVec3d.h" #include "cafPdmFieldCvfMat4d.h" +#include "cafPdmFieldCvfVec3d.h" -#include "cafPdmObject.h" #include "cafPdmField.h" - +#include "cafPdmObject.h" #include - class TapCvfSpecialization : public caf::PdmObject { CAF_PDM_HEADER_INIT; + public: - TapCvfSpecialization(); - caf::PdmField m_testField; caf::PdmField m_colorField; - caf::PdmField m_vectorField; - caf::PdmField m_matrixField; + caf::PdmField m_vectorField; + caf::PdmField m_matrixField; - caf::PdmField< std::vector< cvf::Vec3d> > m_vecArrayField; + caf::PdmField> m_vecArrayField; public: virtual void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue); protected: - virtual void defineEditorAttribute(const caf::PdmFieldHandle* field, QString uiConfigName, caf::PdmUiEditorAttribute* attribute); + virtual void + defineEditorAttribute(const caf::PdmFieldHandle* field, QString uiConfigName, caf::PdmUiEditorAttribute* attribute); }; - diff --git a/Fwk/AppFwk/cafTests/cafTestCvfApplication/TapProject.cpp b/Fwk/AppFwk/cafTests/cafTestCvfApplication/TapProject.cpp index 22fe1c2e1d..8a6be11b25 100644 --- a/Fwk/AppFwk/cafTests/cafTestCvfApplication/TapProject.cpp +++ b/Fwk/AppFwk/cafTests/cafTestCvfApplication/TapProject.cpp @@ -4,7 +4,7 @@ CAF_PDM_SOURCE_INIT(TapProject, "RPMProject"); //-------------------------------------------------------------------------------------------------- -/// +/// //-------------------------------------------------------------------------------------------------- TapProject::TapProject(void) { @@ -15,9 +15,6 @@ TapProject::TapProject(void) } //-------------------------------------------------------------------------------------------------- -/// +/// //-------------------------------------------------------------------------------------------------- -TapProject::~TapProject(void) -{ - -} +TapProject::~TapProject(void) {} diff --git a/Fwk/AppFwk/cafTests/cafTestCvfApplication/TapProject.h b/Fwk/AppFwk/cafTests/cafTestCvfApplication/TapProject.h index ac27ea67ee..468712f8f2 100644 --- a/Fwk/AppFwk/cafTests/cafTestCvfApplication/TapProject.h +++ b/Fwk/AppFwk/cafTests/cafTestCvfApplication/TapProject.h @@ -1,13 +1,11 @@ #pragma once - -#include "cafPdmDocument.h" #include "cafPdmChildArrayField.h" #include "cafPdmChildField.h" +#include "cafPdmDocument.h" class TapCvfSpecialization; - class TapProject : public caf::PdmDocument { CAF_PDM_HEADER_INIT; @@ -16,7 +14,7 @@ public: TapProject(void); virtual ~TapProject(void); - caf::PdmChildArrayField< caf::PdmObjectHandle* > m_objectList; + caf::PdmChildArrayField m_objectList; - caf::PdmChildField< TapCvfSpecialization* > m_testSpecialization; + caf::PdmChildField m_testSpecialization; }; \ No newline at end of file diff --git a/Fwk/AppFwk/cafTests/cafTestCvfApplication/WidgetLayoutTest.cpp b/Fwk/AppFwk/cafTests/cafTestCvfApplication/WidgetLayoutTest.cpp index ce5e33eca1..df1bdc99db 100644 --- a/Fwk/AppFwk/cafTests/cafTestCvfApplication/WidgetLayoutTest.cpp +++ b/Fwk/AppFwk/cafTests/cafTestCvfApplication/WidgetLayoutTest.cpp @@ -2,23 +2,20 @@ #include "WidgetLayoutTest.h" #include -#include -#include #include #include - - - +#include +#include //-------------------------------------------------------------------------------------------------- -/// +/// //-------------------------------------------------------------------------------------------------- WidgetLayoutTest::WidgetLayoutTest(QWidget* parent /*= 0*/, Qt::WindowFlags f /*= 0*/) : QWidget(parent, f) { QVBoxLayout* l = new QVBoxLayout; setLayout(l); - + { QPushButton* b1 = new QPushButton("Original config", this); connect(b1, SIGNAL(clicked()), SLOT(setUpInitialConfiguration())); @@ -47,11 +44,11 @@ WidgetLayoutTest::WidgetLayoutTest(QWidget* parent /*= 0*/, Qt::WindowFlags f /* m_widget4 = new QLineEdit("4", this); m_widget5 = new QLineEdit("5", this); - m_groupBoxA = new QGroupBox("Groupbox A", this); + m_groupBoxA = new QGroupBox("Groupbox A", this); m_groupBoxALayout = new QGridLayout(); m_groupBoxA->setLayout(m_groupBoxALayout); - m_groupBoxB = new QGroupBox("Groupbox B", this); + m_groupBoxB = new QGroupBox("Groupbox B", this); m_groupBoxBLayout = new QGridLayout(); m_groupBoxB->setLayout(m_groupBoxBLayout); @@ -59,22 +56,19 @@ WidgetLayoutTest::WidgetLayoutTest(QWidget* parent /*= 0*/, Qt::WindowFlags f /* } //-------------------------------------------------------------------------------------------------- -/// +/// //-------------------------------------------------------------------------------------------------- -WidgetLayoutTest::~WidgetLayoutTest() -{ - -} +WidgetLayoutTest::~WidgetLayoutTest() {} //-------------------------------------------------------------------------------------------------- -/// +/// //-------------------------------------------------------------------------------------------------- void WidgetLayoutTest::setUpInitialConfiguration() { m_mainLayout->addWidget(m_widget1); m_mainLayout->addWidget(m_groupBoxA); - + m_groupBoxALayout->addWidget(m_widget2, 0, 0); if (!m_widget3) { @@ -89,7 +83,7 @@ void WidgetLayoutTest::setUpInitialConfiguration() } //-------------------------------------------------------------------------------------------------- -/// +/// //-------------------------------------------------------------------------------------------------- void WidgetLayoutTest::setUpInitialConfigurationA() { @@ -100,7 +94,7 @@ void WidgetLayoutTest::setUpInitialConfigurationA() } //-------------------------------------------------------------------------------------------------- -/// +/// //-------------------------------------------------------------------------------------------------- void WidgetLayoutTest::setUpInitialConfigurationB() { diff --git a/Fwk/AppFwk/cafTests/cafTestCvfApplication/WidgetLayoutTest.h b/Fwk/AppFwk/cafTests/cafTestCvfApplication/WidgetLayoutTest.h index 3a9a1f8207..ced8966507 100644 --- a/Fwk/AppFwk/cafTests/cafTestCvfApplication/WidgetLayoutTest.h +++ b/Fwk/AppFwk/cafTests/cafTestCvfApplication/WidgetLayoutTest.h @@ -2,12 +2,9 @@ #include - class QGridLayout; class QGroupBox; - - class WidgetLayoutTest : public QWidget { Q_OBJECT @@ -19,10 +16,10 @@ public: private: QGridLayout* m_mainLayout; - QGroupBox* m_groupBoxA; + QGroupBox* m_groupBoxA; QGridLayout* m_groupBoxALayout; - QGroupBox* m_groupBoxB; + QGroupBox* m_groupBoxB; QGridLayout* m_groupBoxBLayout; QWidget* m_widget1; @@ -36,6 +33,4 @@ private slots: void setUpInitialConfigurationA(); void setUpInitialConfigurationB(); - }; - From a9080e14c3dd4b6d442bab2bdce6a1cc180f7c83 Mon Sep 17 00:00:00 2001 From: Magne Sjaastad Date: Fri, 20 Sep 2019 09:53:44 +0200 Subject: [PATCH 4/4] #4722 AppFwk: Rename --- .../UserInterface/RiuSummaryCurveDefSelection.cpp | 2 +- Fwk/AppFwk/cafTests/cafTestApplication/MainWindow.cpp | 2 +- .../cafUserInterface/cafPdmUiTreeSelectionEditor.cpp | 8 ++++---- Fwk/AppFwk/cafUserInterface/cafPdmUiTreeSelectionEditor.h | 6 +++--- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/ApplicationCode/UserInterface/RiuSummaryCurveDefSelection.cpp b/ApplicationCode/UserInterface/RiuSummaryCurveDefSelection.cpp index db83fbe56a..8ba53d646b 100644 --- a/ApplicationCode/UserInterface/RiuSummaryCurveDefSelection.cpp +++ b/ApplicationCode/UserInterface/RiuSummaryCurveDefSelection.cpp @@ -1189,7 +1189,7 @@ void RiuSummaryCurveDefSelection::defineEditorAttribute( const caf::PdmFieldHand { if ( &m_selectedSummaryCategories == field ) { - attrib->fieldToReceiveCurrentItemValue = &m_currentSummaryCategory; + attrib->currentIndexFieldHandle = &m_currentSummaryCategory; attrib->showTextFilter = false; attrib->showToggleAllCheckbox = false; attrib->setCurrentIndexWhenItemIsChecked = true; diff --git a/Fwk/AppFwk/cafTests/cafTestApplication/MainWindow.cpp b/Fwk/AppFwk/cafTests/cafTestApplication/MainWindow.cpp index 6ffdf32fc5..e41504a3c2 100644 --- a/Fwk/AppFwk/cafTests/cafTestApplication/MainWindow.cpp +++ b/Fwk/AppFwk/cafTests/cafTestApplication/MainWindow.cpp @@ -786,7 +786,7 @@ protected: caf::PdmUiTreeSelectionEditorAttribute* attr = dynamic_cast(attribute); if (attr) { - attr->fieldToReceiveCurrentItemValue = &m_highlightedEnum; + attr->currentIndexFieldHandle = &m_highlightedEnum; } } else if (field == &m_proxyEnumField) diff --git a/Fwk/AppFwk/cafUserInterface/cafPdmUiTreeSelectionEditor.cpp b/Fwk/AppFwk/cafUserInterface/cafPdmUiTreeSelectionEditor.cpp index cabc12f4f4..df3cdcba00 100644 --- a/Fwk/AppFwk/cafUserInterface/cafPdmUiTreeSelectionEditor.cpp +++ b/Fwk/AppFwk/cafUserInterface/cafPdmUiTreeSelectionEditor.cpp @@ -355,9 +355,9 @@ void PdmUiTreeSelectionEditor::configureAndUpdateUi(const QString& uiConfigName) m_model->resetUiValueCache(); - if (m_attributes.fieldToReceiveCurrentItemValue) + if (m_attributes.currentIndexFieldHandle) { - PdmUiFieldHandle* uiFieldHandle = m_attributes.fieldToReceiveCurrentItemValue->uiCapability(); + PdmUiFieldHandle* uiFieldHandle = m_attributes.currentIndexFieldHandle->uiCapability(); if (uiFieldHandle) { QModelIndexList indices = allVisibleSourceModelIndices(); @@ -657,9 +657,9 @@ void PdmUiTreeSelectionEditor::currentChanged(const QModelIndex& current) m_proxyModel->setData(current, true, Qt::CheckStateRole); } - if (m_attributes.fieldToReceiveCurrentItemValue) + if (m_attributes.currentIndexFieldHandle) { - PdmUiFieldHandle* uiFieldHandle = m_attributes.fieldToReceiveCurrentItemValue->uiCapability(); + PdmUiFieldHandle* uiFieldHandle = m_attributes.currentIndexFieldHandle->uiCapability(); if (uiFieldHandle) { QVariant v = m_proxyModel->data(current, PdmUiTreeSelectionQModel::optionItemValueRole()); diff --git a/Fwk/AppFwk/cafUserInterface/cafPdmUiTreeSelectionEditor.h b/Fwk/AppFwk/cafUserInterface/cafPdmUiTreeSelectionEditor.h index 97a5a883a2..542f5d4418 100644 --- a/Fwk/AppFwk/cafUserInterface/cafPdmUiTreeSelectionEditor.h +++ b/Fwk/AppFwk/cafUserInterface/cafPdmUiTreeSelectionEditor.h @@ -64,11 +64,11 @@ public: bool singleSelectionMode; bool setCurrentIndexWhenItemIsChecked; - /// fieldToReceiveCurrentFieldValue is used to communicate the value of current item in the tree view + /// currentIndexFieldHandle is used to communicate the value of current item in the tree view /// This is useful when displaying a list of appEnums, and a dependent view is displaying content based on /// the current item in the tree view /// Make sure the type of the receiving field is of the same type as the field used in PdmUiTreeSelectionEditor - caf::PdmFieldHandle* fieldToReceiveCurrentItemValue; + caf::PdmFieldHandle* currentIndexFieldHandle; public: PdmUiTreeSelectionEditorAttribute() @@ -78,7 +78,7 @@ public: singleSelectionMode = false; setCurrentIndexWhenItemIsChecked = false; - fieldToReceiveCurrentItemValue = nullptr; + currentIndexFieldHandle = nullptr; } };