mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#7342 Property Editor : Support multi-select of objects of same type
This commit is contained in:
parent
f14386314e
commit
14c09f30cf
@ -1423,10 +1423,9 @@ void RiuMainWindow::selectedObjectsChanged()
|
||||
m_projectTreeView->selectedUiItems( uiItems );
|
||||
|
||||
caf::PdmObjectHandle* firstSelectedObject = nullptr;
|
||||
|
||||
if ( uiItems.size() == 1 )
|
||||
if ( !uiItems.empty() )
|
||||
{
|
||||
firstSelectedObject = dynamic_cast<caf::PdmObjectHandle*>( uiItems[0] );
|
||||
firstSelectedObject = dynamic_cast<caf::PdmObjectHandle*>( uiItems.front() );
|
||||
}
|
||||
|
||||
updateUiFieldsFromActiveResult( firstSelectedObject );
|
||||
@ -1439,7 +1438,7 @@ void RiuMainWindow::selectedObjectsChanged()
|
||||
|
||||
if ( !firstSelectedObject )
|
||||
{
|
||||
caf::PdmFieldHandle* selectedField = dynamic_cast<caf::PdmFieldHandle*>( uiItems[0] );
|
||||
caf::PdmFieldHandle* selectedField = dynamic_cast<caf::PdmFieldHandle*>( uiItems.front() );
|
||||
if ( selectedField ) firstSelectedObject = selectedField->ownerObject();
|
||||
}
|
||||
|
||||
|
@ -832,10 +832,9 @@ void RiuPlotMainWindow::selectedObjectsChanged()
|
||||
m_projectTreeView->selectedUiItems( uiItems );
|
||||
|
||||
caf::PdmObjectHandle* firstSelectedObject = nullptr;
|
||||
|
||||
if ( uiItems.size() == 1 )
|
||||
if ( !uiItems.empty() )
|
||||
{
|
||||
firstSelectedObject = dynamic_cast<caf::PdmObjectHandle*>( uiItems[0] );
|
||||
firstSelectedObject = dynamic_cast<caf::PdmObjectHandle*>( uiItems.front() );
|
||||
}
|
||||
|
||||
m_pdmUiPropertyView->showProperties( firstSelectedObject );
|
||||
@ -846,7 +845,7 @@ void RiuPlotMainWindow::selectedObjectsChanged()
|
||||
|
||||
if ( !firstSelectedObject )
|
||||
{
|
||||
caf::PdmFieldHandle* selectedField = dynamic_cast<caf::PdmFieldHandle*>( uiItems[0] );
|
||||
caf::PdmFieldHandle* selectedField = dynamic_cast<caf::PdmFieldHandle*>( uiItems.front() );
|
||||
if ( selectedField ) firstSelectedObject = selectedField->ownerObject();
|
||||
}
|
||||
|
||||
|
@ -96,12 +96,12 @@ void PdmUiCommandSystemProxy::setUiValueToField( PdmUiFieldHandle* uiFieldHandle
|
||||
{
|
||||
std::vector<PdmUiItem*> items;
|
||||
|
||||
int selectionLevel = 1; // = 0;
|
||||
int selectionLevel = 0;
|
||||
SelectionManager::instance()->selectedItems( items, selectionLevel );
|
||||
|
||||
for ( size_t i = 0; i < items.size(); i++ )
|
||||
for ( auto& item : items )
|
||||
{
|
||||
PdmObjectHandle* objectHandle = dynamic_cast<PdmObjectHandle*>( items[i] );
|
||||
PdmObjectHandle* objectHandle = dynamic_cast<PdmObjectHandle*>( item );
|
||||
if ( objectHandle && typeid( *objectHandle ) == fieldOwnerTypeId )
|
||||
{
|
||||
// An object is selected, find field with same keyword as the current field being edited
|
||||
@ -115,7 +115,7 @@ void PdmUiCommandSystemProxy::setUiValueToField( PdmUiFieldHandle* uiFieldHandle
|
||||
{
|
||||
// Todo Remove when dust has settled. Selection manager is not supposed to select single fields
|
||||
// A field is selected, check if keywords are identical
|
||||
PdmUiFieldHandle* itemFieldHandle = dynamic_cast<PdmUiFieldHandle*>( items[i] );
|
||||
PdmUiFieldHandle* itemFieldHandle = dynamic_cast<PdmUiFieldHandle*>( item );
|
||||
if ( itemFieldHandle )
|
||||
{
|
||||
PdmFieldHandle* field = itemFieldHandle->fieldHandle();
|
||||
|
Loading…
Reference in New Issue
Block a user