diff --git a/ApplicationCode/Commands/FractureCommands/RicCreateMultipleFracturesOptionItemUi.cpp b/ApplicationCode/Commands/FractureCommands/RicCreateMultipleFracturesOptionItemUi.cpp index f3da8d5a8c..d4eb824ef5 100644 --- a/ApplicationCode/Commands/FractureCommands/RicCreateMultipleFracturesOptionItemUi.cpp +++ b/ApplicationCode/Commands/FractureCommands/RicCreateMultipleFracturesOptionItemUi.cpp @@ -53,6 +53,22 @@ void RicCreateMultipleFracturesOptionItemUi::setValues(int topK m_minSpacing = minimumSpacing; } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +int RicCreateMultipleFracturesOptionItemUi::topKLayer() const +{ + return m_topKOneBased; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +int RicCreateMultipleFracturesOptionItemUi::baseKLayer() const +{ + return m_baseKOneBased; +} + //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- diff --git a/ApplicationCode/Commands/FractureCommands/RicCreateMultipleFracturesOptionItemUi.h b/ApplicationCode/Commands/FractureCommands/RicCreateMultipleFracturesOptionItemUi.h index 70e28bbee2..64971c75cd 100644 --- a/ApplicationCode/Commands/FractureCommands/RicCreateMultipleFracturesOptionItemUi.h +++ b/ApplicationCode/Commands/FractureCommands/RicCreateMultipleFracturesOptionItemUi.h @@ -36,6 +36,8 @@ public: void setValues(int topKOneBased, int baseKOneBased, RimFractureTemplate* fractureTemplate, double minimumSpacing); + int topKLayer() const; + int baseKLayer() const; RimFractureTemplate* fractureTemplate() const; double minimumSpacing() const; diff --git a/ApplicationCode/Commands/FractureCommands/RicNewOptionItemFeature.cpp b/ApplicationCode/Commands/FractureCommands/RicNewOptionItemFeature.cpp index 59941898b7..574a576e2d 100644 --- a/ApplicationCode/Commands/FractureCommands/RicNewOptionItemFeature.cpp +++ b/ApplicationCode/Commands/FractureCommands/RicNewOptionItemFeature.cpp @@ -66,11 +66,24 @@ void RicNewOptionItemFeature::onActionTriggered(bool isChecked) selectedOptionItem = optionItems.front(); selectedOptionItem->firstAncestorOrThisOfTypeAsserted(multipleFractionUi); } + + if (!selectedOptionItem && multipleFractionUi && !multipleFractionUi->options().empty()) + { + selectedOptionItem = multipleFractionUi->options().back(); + } } if (multipleFractionUi) { - multipleFractionUi->insertOptionItem(selectedOptionItem, new RicCreateMultipleFracturesOptionItemUi); + auto newItem = new RicCreateMultipleFracturesOptionItemUi(); + if (selectedOptionItem) + { + newItem->setValues(selectedOptionItem->topKLayer(), + selectedOptionItem->baseKLayer(), + selectedOptionItem->fractureTemplate(), + selectedOptionItem->minimumSpacing()); + } + multipleFractionUi->insertOptionItem(selectedOptionItem, newItem); multipleFractionUi->updateConnectedEditors(); } }