Salome HOME
Unicode support: correct handling of unicode on GUI level
[modules/gui.git] / src / OCCViewer / OCCViewer_CubeAxesDlg.cxx
index 86cade97c6b468d6358581c2202057abd10ad5d2..86c919b99148fe2ef79e68e9628e046139c7db70 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2014  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2016  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
@@ -29,7 +29,7 @@
 #include "QtxAction.h"
 #include "QtxIntSpinBox.h"
 
-#include <Basics_OCCTVersion.hxx>
+#include <Graphic3d_GraduatedTrihedron.hxx>
 
 #include <QCheckBox>
 #include <QGroupBox>
@@ -244,78 +244,52 @@ void OCCViewer_CubeAxesDlg::SetData( bool theIsVisible, OCCViewer_AxisWidget::Ax
 */
 void OCCViewer_CubeAxesDlg::ApplyData( const Handle(V3d_View)& theView )
 {
-#if OCC_VERSION_LARGE > 0x06030009 // available only with OCC-6.3-sp10 and higher version
   if( theView.IsNull() )
     return;
 
   if( myIsVisible->isChecked() )
   {
     OCCViewer_AxisWidget::AxisData anAxisData[3];
-    for( int i = 0; i < 3; i++ )
+    for( int i = 0; i < 3; i++ ) {
       if( OCCViewer_AxisWidget* anAxisWidget = dynamic_cast<OCCViewer_AxisWidget*>( myAxes[ i ] ) )
         anAxisWidget->GetData( anAxisData[i] );
+    }
 
     // A gap used offset of axis names' offset
     // (this hard-coded value will be removed when the
     // font support will be introduced in OCC-6.4)
     int aGap = 20;
 
-    theView->GraduatedTrihedronDisplay(
-      anAxisData[0].Name.toLatin1().constData(),
-      anAxisData[1].Name.toLatin1().constData(),
-      anAxisData[2].Name.toLatin1().constData(),
-      anAxisData[0].DrawName,
-      anAxisData[1].DrawName,
-      anAxisData[2].DrawName,
-      anAxisData[0].DrawValues,
-      anAxisData[1].DrawValues,
-      anAxisData[2].DrawValues,
-      Standard_True, // draw grid
-      Standard_False, // draw axes
-      anAxisData[0].NbValues - 1,
-      anAxisData[1].NbValues - 1,
-      anAxisData[2].NbValues - 1,
-      anAxisData[0].Offset,
-      anAxisData[1].Offset,
-      anAxisData[2].Offset,
-      anAxisData[0].Offset + aGap, // see above
-      anAxisData[1].Offset + aGap, // see above
-      anAxisData[2].Offset + aGap, // see above
-      anAxisData[0].DrawTickmarks,
-      anAxisData[1].DrawTickmarks,
-      anAxisData[2].DrawTickmarks,
-      anAxisData[0].TickmarkLength,
-      anAxisData[1].TickmarkLength,
-      anAxisData[2].TickmarkLength,
-      Quantity_NOC_WHITE, // grid color
-      Quantity_Color( anAxisData[0].NameColor.redF(),
-                      anAxisData[0].NameColor.greenF(),
-                      anAxisData[0].NameColor.blueF(),
-                      Quantity_TOC_RGB ),
-      Quantity_Color( anAxisData[1].NameColor.redF(),
-                      anAxisData[1].NameColor.greenF(),
-                      anAxisData[1].NameColor.blueF(),
-                      Quantity_TOC_RGB ),
-      Quantity_Color( anAxisData[2].NameColor.redF(),
-                      anAxisData[2].NameColor.greenF(),
-                      anAxisData[2].NameColor.blueF(),
-                      Quantity_TOC_RGB ),
-      Quantity_Color( anAxisData[0].Color.redF(),
-                      anAxisData[0].Color.greenF(),
-                      anAxisData[0].Color.blueF(),
-                      Quantity_TOC_RGB ),
-      Quantity_Color( anAxisData[1].Color.redF(),
-                      anAxisData[1].Color.greenF(),
-                      anAxisData[1].Color.blueF(),
-                      Quantity_TOC_RGB ),
-      Quantity_Color( anAxisData[2].Color.redF(),
-                      anAxisData[2].Color.greenF(),
-                      anAxisData[2].Color.blueF(),
-                      Quantity_TOC_RGB ) );
+    Graphic3d_GraduatedTrihedron gt;
+    // main params
+    gt.SetDrawGrid(Standard_True);       // to draw grid
+    gt.SetDrawAxes(Standard_True);       // to draw axes
+    gt.SetGridColor(Quantity_NOC_WHITE); // grid color
+    // axes params
+    for ( int i = 0; i < 3; i++ ) {
+      Graphic3d_AxisAspect& aspect = gt.ChangeAxisAspect(i);
+      aspect.SetName(anAxisData[i].Name.toUtf8().constData());
+      aspect.SetDrawName(anAxisData[i].DrawName);
+      aspect.SetDrawValues(anAxisData[i].DrawValues);
+      aspect.SetDrawTickmarks(anAxisData[i].DrawTickmarks);
+      aspect.SetNameColor(Quantity_Color(anAxisData[i].NameColor.redF(),
+                                         anAxisData[i].NameColor.greenF(),
+                                         anAxisData[i].NameColor.blueF(),
+                                         Quantity_TOC_RGB));
+      aspect.SetColor(Quantity_Color(anAxisData[i].Color.redF(),
+                                     anAxisData[i].Color.greenF(),
+                                     anAxisData[i].Color.blueF(),
+                                     Quantity_TOC_RGB));
+      aspect.SetTickmarksNumber(anAxisData[i].NbValues-1);
+      aspect.SetTickmarksLength(anAxisData[i].TickmarkLength);
+      aspect.SetValuesOffset(anAxisData[i].Offset);
+      aspect.SetNameOffset(anAxisData[i].Offset + aGap); // see above
+    }
+    // draw trihedron
+    theView->GraduatedTrihedronDisplay(gt);
   }
   else
     theView->GraduatedTrihedronErase();
 
   theView->Redraw();
-#endif
 }