-// Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2021 CEA/DEN, EDF R&D, OPEN CASCADE
//
// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
#include <QHBoxLayout>
#include <QPixmap>
+#include <Basics_OCCTVersion.hxx>
+
//=================================================================================
// function : Constructor
// purpose :
connect( myGeomGUI, SIGNAL( SignalDeactivateActiveDialog() ), this, SLOT( OnDeactivateThisDialog() ) );
connect( myGeomGUI, SIGNAL( SignalCloseAllDialogs() ), this, SLOT( ClickOnCancel() ) );
- myDimensionInteractor = new MeasureGUI_DimensionInteractor( theGUI, theParent ),
+ myDimensionInteractor = new MeasureGUI_DimensionInteractor( theGUI, this ),
SelectionIntoArgument( Selection_Object );
Handle(AIS_InteractiveContext) anAISContext = myOperatedViewer->getAISContext();
- anAISContext->ClearCurrents( Standard_False );
+ anAISContext->ClearCurrents( Standard_False ); // todo: deprecated OCCT API
anAISContext->ClearSelected( Standard_False );
- anAISContext->OpenLocalContext( Standard_True, Standard_False );
-
Handle(MeasureGUI_DimensionFilter) aFilter = new MeasureGUI_DimensionFilter( myEditObject->GetStudyEntry() );
anAISContext->AddFilter( aFilter );
//=================================================================================
void MeasureGUI_ManageDimensionsDlg::StopSelection()
{
+ if( !myGeomGUI || !myGeomGUI->getApp() || !myGeomGUI->getApp()->selectionMgr() )
+ return;
+
if ( myCurrentSelection == Selection_Object )
{
/* ----------------------------------------------- *
* ------------------------------------------------ */
Handle(AIS_InteractiveContext) anAISContext = myOperatedViewer->getAISContext();
-
- anAISContext->CloseLocalContext();
+ anAISContext->Deactivate();
+ anAISContext->Activate(0);
LightApp_SelectionMgr* aSelectionMgr = myGeomGUI->getApp()->selectionMgr();
anAISContext->InitSelected();
Handle(AIS_InteractiveObject) anAIS;
-
- if ( anAISContext->HasOpenedContext() )
- {
- Handle(SelectMgr_EntityOwner) anAISOwner = anAISContext->SelectedOwner();
- anAIS = Handle(AIS_InteractiveObject)::DownCast( anAISOwner->Selectable() );
- }
- else
- {
- anAIS = anAISContext->Current();
- }
+ anAIS = anAISContext->Current(); // todo: deprecated OCCT API
int aDimensionId = IdFromPrs( anAIS );
//=================================================================================
void MeasureGUI_ManageDimensionsDlg::OnShowAll()
{
- // read propety data
+ // read property data
SalomeApp_Application* anApp = myGeomGUI->getApp();
if ( !anApp )
{
//=================================================================================
void MeasureGUI_ManageDimensionsDlg::OnHideAll()
{
- // read propety data
+ // read property data
SalomeApp_Application* anApp = myGeomGUI->getApp();
if ( !anApp )
{
{
return;
}
-
- Standard_Boolean isLocal = anAISContext->HasOpenedContext();
- if ( isLocal )
- {
- anAISContext->ClearSelected( Standard_False );
- }
- else
- {
- anAISContext->ClearCurrents( Standard_False );
- }
-
+ anAISContext->ClearCurrents( Standard_False ); // todo: deprecated OCCT API
SOCC_Prs* aPrs = dynamic_cast<SOCC_Prs*>( theViewer->CreatePrs( myEditObject->GetStudyEntry() ) );
AIS_ListOfInteractive aListOfIO;
const Handle(AIS_InteractiveObject)& anIO = anIt.Value();
if ( IdFromPrs( anIO ) != theId )
{
- if ( isLocal )
- {
- anAISContext->Deactivate( anIO, AIS_DSM_Line );
- anAISContext->Deactivate( anIO, AIS_DSM_Text );
- }
+#if OCC_VERSION_LARGE >= 0x070400ff
+ anAISContext->Deactivate( anIO, PrsDim_DimensionSelectionMode_Line );
+ anAISContext->Deactivate( anIO, PrsDim_DimensionSelectionMode_Text );
+#else
+ anAISContext->Deactivate( anIO, AIS_DSM_Line );
+ anAISContext->Deactivate( anIO, AIS_DSM_Text );
+#endif
continue;
}
+ anAISContext->AddOrRemoveSelected( anIO, Standard_False );
- if ( isLocal )
- {
- anAISContext->AddOrRemoveSelected( anIO, Standard_False );
- anAISContext->Activate( anIO, AIS_DSM_Line );
- anAISContext->Activate( anIO, AIS_DSM_Text );
- }
- else
- {
- anAISContext->AddOrRemoveCurrentObject( anIO, Standard_False );
- }
+#if OCC_VERSION_LARGE >= 0x070400ff
+ anAISContext->Activate( anIO, PrsDim_DimensionSelectionMode_Line );
+ anAISContext->Activate( anIO, PrsDim_DimensionSelectionMode_Text );
+#else
+ anAISContext->Activate( anIO, AIS_DSM_Line );
+ anAISContext->Activate( anIO, AIS_DSM_Text );
+#endif
+ anAISContext->AddOrRemoveCurrentObject( anIO, Standard_False ); // todo: deprecated OCCT API
anAISContext->UpdateCurrentViewer();
}
}