Salome HOME
updated copyright message
[modules/geom.git] / src / MeasureGUI / MeasureGUI_CreateDimensionDlg.cxx
index 6032636e07803d00f22dac64b02f7d19ff4584c5..c57e52f9a048b05ed8c997293e7bac0393319cf0 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2023  CEA, EDF, OPEN CASCADE
 //
 // Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
 #include <SUIT_Session.h>
 #include <SUIT_Desktop.h>
 
+#include <QButtonGroup>
+
 #include <Aspect_PolygonOffsetMode.hxx>
 
+#include <Basics_OCCTVersion.hxx>
+
+#include <QButtonGroup>
+
 //=================================================================================
 // function : Constructor
 // purpose  :
@@ -88,7 +94,7 @@ MeasureGUI_CreateDimensionDlg::MeasureGUI_CreateDimensionDlg( const GEOM::GeomOb
                            SLOT( OnStartSelection( const QList<TopAbs_ShapeEnum>& ) ) );
   connect( myDiameterArgs, SIGNAL( StartSelection( const QList<TopAbs_ShapeEnum>& ) ),
                            SLOT( OnStartSelection( const QList<TopAbs_ShapeEnum>& ) ) );
-  connect( myAngleArgs,    SIGNAL( StartSelection( const QList<TopAbs_ShapeEnum>& ) ), 
+  connect( myAngleArgs,    SIGNAL( StartSelection( const QList<TopAbs_ShapeEnum>& ) ),
                            SLOT( OnStartSelection( const QList<TopAbs_ShapeEnum>& ) ) );
 
   connect( myLengthArgs,   SIGNAL( StopSelection() ), SLOT( OnStopSelection() ) );
@@ -105,7 +111,7 @@ MeasureGUI_CreateDimensionDlg::MeasureGUI_CreateDimensionDlg( const GEOM::GeomOb
 
   // construct main layout
   QVBoxLayout* aCustomWidLayout = new QVBoxLayout( centralWidget() );
-  aCustomWidLayout->setMargin( 0 ); 
+  aCustomWidLayout->setMargin( 0 );
   aCustomWidLayout->setSpacing( 6 );
   aCustomWidLayout->addWidget( aGroupArgs );
 
@@ -151,7 +157,7 @@ MeasureGUI_CreateDimensionDlg::~MeasureGUI_CreateDimensionDlg()
 
 //=================================================================================
 // function : ActiveArgs
-// purpose  : 
+// purpose  :
 //=================================================================================
 MeasureGUI_CreateDimensionDlg::BaseSelectorPane* MeasureGUI_CreateDimensionDlg::ActiveArgs()
 {
@@ -167,7 +173,7 @@ MeasureGUI_CreateDimensionDlg::BaseSelectorPane* MeasureGUI_CreateDimensionDlg::
 
 //=================================================================================
 // function : GenerateName
-// purpose  : 
+// purpose  :
 //=================================================================================
 QString MeasureGUI_CreateDimensionDlg::GenerateName( const QString& thePrefix )
 {
@@ -209,7 +215,7 @@ QString MeasureGUI_CreateDimensionDlg::GenerateName( const QString& thePrefix )
 
 //=================================================================================
 // function : ConstructTypeChanged
-// purpose  : 
+// purpose  :
 //=================================================================================
 void MeasureGUI_CreateDimensionDlg::ConstructTypeChanged( int theType )
 {
@@ -236,7 +242,7 @@ void MeasureGUI_CreateDimensionDlg::ConstructTypeChanged( int theType )
 
 //=================================================================================
 // function : OnArgumentTabChanged
-// purpose  : 
+// purpose  :
 //=================================================================================
 void MeasureGUI_CreateDimensionDlg::OnArgumentTabChanged()
 {
@@ -304,9 +310,9 @@ void MeasureGUI_CreateDimensionDlg::SelectionIntoArgument()
     return;
   }
 
-  GEOM::GeomObjPtr aSelectedMain = 
-    !aSelected->IsMainShape() 
-      ? aSelected->GetMainShape() 
+  GEOM::GeomObjPtr aSelectedMain =
+    !aSelected->IsMainShape()
+      ? aSelected->GetMainShape()
       : GEOM::GeomObjPtr();
 
   if ( myParentObj != aSelected && myParentObj != aSelectedMain )
@@ -357,7 +363,7 @@ void MeasureGUI_CreateDimensionDlg::OnSelectionDone()
 
 //=================================================================================
 // function : ClickOnOk
-// purpose  : 
+// purpose  :
 //=================================================================================
 void MeasureGUI_CreateDimensionDlg::ClickOnOk()
 {
@@ -370,7 +376,7 @@ void MeasureGUI_CreateDimensionDlg::ClickOnOk()
 
 //=================================================================================
 // function : ClickOnApply
-// purpose  : 
+// purpose  :
 //=================================================================================
 bool MeasureGUI_CreateDimensionDlg::ClickOnApply()
 {
@@ -400,7 +406,7 @@ bool MeasureGUI_CreateDimensionDlg::ClickOnApply()
 
 //=================================================================================
 // function : StartLocalEditing
-// purpose  : 
+// purpose  :
 //=================================================================================
 void MeasureGUI_CreateDimensionDlg::StartLocalEditing()
 {
@@ -435,17 +441,23 @@ void MeasureGUI_CreateDimensionDlg::StartLocalEditing()
 
   aViewer3d->AddZLayer( myEditingLayer );
 
-  anAISContext->OpenLocalContext( Standard_False, Standard_False );
+#if OCC_VERSION_LARGE >= 0x070400ff
+  anAISContext->Load( myDimension, PrsDim_DimensionSelectionMode_All );
+  anAISContext->SetZLayer( myDimension, myEditingLayer );
+  anAISContext->Activate( myDimension, PrsDim_DimensionSelectionMode_Line );
+  anAISContext->Activate( myDimension, PrsDim_DimensionSelectionMode_Text );
+#else
   anAISContext->Load( myDimension, AIS_DSM_All );
   anAISContext->SetZLayer( myDimension, myEditingLayer );
   anAISContext->Activate( myDimension, AIS_DSM_Line );
   anAISContext->Activate( myDimension, AIS_DSM_Text );
+#endif
   anAISContext->Redisplay( myDimension , Standard_True );
 }
 
 //=================================================================================
 // function : StopLocalEditing
-// purpose  : 
+// purpose  :
 //=================================================================================
 void MeasureGUI_CreateDimensionDlg::StopLocalEditing()
 {
@@ -460,14 +472,15 @@ void MeasureGUI_CreateDimensionDlg::StopLocalEditing()
   Handle(V3d_Viewer)             aViewer3d    = myEditingViewer->getViewer3d();
 
   aViewer3d->RemoveZLayer( myEditingLayer );
-  anAISContext->CloseLocalContext( Standard_True );
+  anAISContext->Deactivate();
+  anAISContext->Activate(0);
 
   myEditingViewer = NULL;
 }
 
 //=================================================================================
 // function : Init
-// purpose  : 
+// purpose  :
 //=================================================================================
 void MeasureGUI_CreateDimensionDlg::Init()
 {
@@ -484,7 +497,7 @@ void MeasureGUI_CreateDimensionDlg::Init()
 
 //=================================================================================
 // function : CreateDimensionPrs
-// purpose  : 
+// purpose  :
 //=================================================================================
 Handle(AIS_Dimension) MeasureGUI_CreateDimensionDlg::CreateDimension()
 {
@@ -626,12 +639,21 @@ Handle(AIS_Dimension) MeasureGUI_CreateDimensionDlg::CreateDimension()
     if ( aUnitsAngle == "deg" )
     {
       aDimensionIO->SetSpecialSymbol(0xB0);
+#if OCC_VERSION_LARGE >= 0x070400ff
+      aDimensionIO->SetDisplaySpecialSymbol( isUnitsShown ? PrsDim_DisplaySpecialSymbol_After :
+                                                            PrsDim_DisplaySpecialSymbol_No );
+#else
       aDimensionIO->SetDisplaySpecialSymbol( isUnitsShown ? AIS_DSS_After : AIS_DSS_No );
+#endif
       aStyle->MakeUnitsDisplayed(Standard_False);
     }
     else
     {
+#if OCC_VERSION_LARGE >= 0x070400ff
+      aDimensionIO->SetDisplaySpecialSymbol(PrsDim_DisplaySpecialSymbol_No);
+#else
       aDimensionIO->SetDisplaySpecialSymbol(AIS_DSS_No);
+#endif
       aStyle->MakeUnitsDisplayed( (Standard_Boolean) isUnitsShown );
     }
   }
@@ -650,7 +672,7 @@ Handle(AIS_Dimension) MeasureGUI_CreateDimensionDlg::CreateDimension()
 
 //=================================================================================
 // class    : AddDimensionToOwner
-// purpose  : 
+// purpose  :
 //=================================================================================
 bool MeasureGUI_CreateDimensionDlg::AddDimensionToOwner()
 {
@@ -929,7 +951,7 @@ void MeasureGUI_CreateDimensionDlg::BaseSelectorPane::SelectionIntoArguments( co
 
 //=================================================================================
 // function : BaseSelectorPane::GetSelection
-// purpose  : 
+// purpose  :
 //=================================================================================
 GEOM::GeomObjPtr MeasureGUI_CreateDimensionDlg::BaseSelectorPane::GetSelection( QLineEdit* theSelector ) const
 {