mirror of
https://git.salome-platform.org/gitpub/modules/geom.git
synced 2025-04-02 19:34:28 +05:00
NPAL17269: Performance pb. when creating a group with GUI.
This commit is contained in:
parent
06656bb3f5
commit
0e5f6bb0a2
@ -320,7 +320,7 @@ void GEOMGUI_OCCSelector::setSelection( const SUIT_DataOwnerPtrList& aList )
|
|||||||
// DO the selection
|
// DO the selection
|
||||||
int i = 1, n = ownersmap.Extent();
|
int i = 1, n = ownersmap.Extent();
|
||||||
bool isAutoHilight = ic->AutomaticHilight();
|
bool isAutoHilight = ic->AutomaticHilight();
|
||||||
ic->SetAutomaticHilight(Standard_False); // for better performance
|
ic->SetAutomaticHilight(Standard_False); //Bug 17269: for better performance
|
||||||
for (; i <= n; i++)
|
for (; i <= n; i++)
|
||||||
{
|
{
|
||||||
Handle(SelectMgr_EntityOwner) owner = ownersmap( i );
|
Handle(SelectMgr_EntityOwner) owner = ownersmap( i );
|
||||||
@ -332,8 +332,7 @@ void GEOMGUI_OCCSelector::setSelection( const SUIT_DataOwnerPtrList& aList )
|
|||||||
else
|
else
|
||||||
ic->AddOrRemoveSelected( Handle(AIS_InteractiveObject)::DownCast(owner->Selectable()), false );
|
ic->AddOrRemoveSelected( Handle(AIS_InteractiveObject)::DownCast(owner->Selectable()), false );
|
||||||
}
|
}
|
||||||
ic->SetAutomaticHilight(isAutoHilight); // restore
|
ic->SetAutomaticHilight(isAutoHilight); //Bug 17269: restore mode
|
||||||
|
|
||||||
ic->HilightSelected(/*updateviewer*/Standard_True);
|
ic->HilightSelected(/*updateviewer*/Standard_True);
|
||||||
//vw->update();
|
//vw->update();
|
||||||
|
|
||||||
|
@ -595,6 +595,7 @@ void GroupGUI_GroupDlg::updateState()
|
|||||||
if (app) {
|
if (app) {
|
||||||
LightApp_SelectionMgr* aSelMgr = app->selectionMgr();
|
LightApp_SelectionMgr* aSelMgr = app->selectionMgr();
|
||||||
if (aSelMgr) {
|
if (aSelMgr) {
|
||||||
|
/*
|
||||||
aSelMgr->selectedObjects(aSelIOs);
|
aSelMgr->selectedObjects(aSelIOs);
|
||||||
|
|
||||||
if ( aSelIOs.Extent() == 1 ) {
|
if ( aSelIOs.Extent() == 1 ) {
|
||||||
@ -605,6 +606,12 @@ void GroupGUI_GroupDlg::updateState()
|
|||||||
if ( aResult && !anObj->_is_nil() )
|
if ( aResult && !anObj->_is_nil() )
|
||||||
aSelMgr->GetIndexes( aSelIOs.First(), aMapIndex );
|
aSelMgr->GetIndexes( aSelIOs.First(), aMapIndex );
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
QMap<QString, TColStd_IndexedMapOfInteger> aMap;
|
||||||
|
//MapEntryOfMapOfInteger& aMap;
|
||||||
|
aSelMgr->selectedSubOwners(aMap);
|
||||||
|
if (aMap.size() == 1)
|
||||||
|
aMapIndex = aMap.begin().data();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -700,7 +707,6 @@ void GroupGUI_GroupDlg::highlightSubShapes()
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
TColStd_MapOfInteger anIds;
|
TColStd_MapOfInteger anIds;
|
||||||
//TColStd_IndexedMapOfInteger anIds;
|
|
||||||
|
|
||||||
myBusy = true;
|
myBusy = true;
|
||||||
|
|
||||||
@ -712,12 +718,6 @@ void GroupGUI_GroupDlg::highlightSubShapes()
|
|||||||
LightApp_SelectionMgr* aSelMgr = app->selectionMgr();
|
LightApp_SelectionMgr* aSelMgr = app->selectionMgr();
|
||||||
aSelMgr->clearSelected();
|
aSelMgr->clearSelected();
|
||||||
aSelMgr->AddOrRemoveIndex(aSh->getIO(), anIds, false);
|
aSelMgr->AddOrRemoveIndex(aSh->getIO(), anIds, false);
|
||||||
//SUIT_DataOwnerPtrList aList;
|
|
||||||
//Handle(SALOME_InteractiveObject) IObject = aSh->getIO();
|
|
||||||
//for (int i = 1; i <= anIds.Extent(); i++)
|
|
||||||
// aList.append(new LightApp_DataSubOwner(QString(IObject->getEntry()), anIds(i)));
|
|
||||||
//aSelMgr->setSelected(aList, /*append*/false);
|
|
||||||
////aSelMgr->selectObjects(aSh->getIO(), anIds, /*append*/false);
|
|
||||||
|
|
||||||
myBusy = false;
|
myBusy = false;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user