]> SALOME platform Git repositories - modules/shaper.git/commitdiff
Salome HOME
Manage colors of ColorScale presentation
authorvsv <vsv@opencascade.com>
Thu, 27 Jun 2019 15:19:31 +0000 (18:19 +0300)
committervsv <vsv@opencascade.com>
Thu, 27 Jun 2019 15:19:31 +0000 (18:19 +0300)
src/ModuleBase/ModuleBase_IViewer.h
src/PartSet/PartSet_FieldStepPrs.cpp
src/XGUI/SHAPER.xml
src/XGUI/XGUI_ViewerProxy.cpp
src/XGUI/XGUI_ViewerProxy.h

index e264f5cb4cb53a953607e37be87a58ba8f96ec6b..77c10a45c230c8979cf5615156aa9ba47a1b8af3 100644 (file)
@@ -173,6 +173,10 @@ Q_OBJECT
   // \param theH is number of intervals
   virtual void setColorScaleTextHeigth(int theH) = 0;
 
+  //! Set color of text of color scale
+  // \param theH is number of intervals
+  virtual void setColorScaleTextColor(const QColor& theColor) = 0;
+
   //! Set title of color scale
   // \param theText is a title
   virtual void setColorScaleTitle(const QString& theText) = 0;
index f99c796e2724624569fe4043d2af816dc5c0accc..2c0981dbc63adc16e3f49c04fc2ee42c88aea3e1 100644 (file)
 
 #include "PartSet_FieldStepPrs.h"
 
+#include <ModuleBase_Preferences.h>
+
 #include <CollectionPlugin_Field.h>
 
 #include <ModelAPI_AttributeSelectionList.h>
 #include <ModelAPI_AttributeIntArray.h>
 #include <ModelAPI_AttributeStringArray.h>
 
+#include <SUIT_ResourceMgr.h>
+
 #include <AIS_ColorScale.hxx>
 #include <Prs3d_Drawer.hxx>
 #include <Prs3d_PointAspect.hxx>
@@ -68,7 +72,13 @@ PartSet_FieldStepPrs::PartSet_FieldStepPrs(FieldStepPtr theStep)
     aDrawer->SetPointAspect(
       new Prs3d_PointAspect(Aspect_TOM_POINT, Quantity_NOC_YELLOW, POINT_SIZE));
 
-  myLabelColor = Quantity_Color(1, 1, 1, Quantity_TOC_RGB);
+  SUIT_ResourceMgr* aResMgr = ModuleBase_Preferences::resourceMgr();
+  QColor aQColor = aResMgr->colorValue("Viewer", "scalar_bar_text_color", Qt::black);
+
+  myLabelColor = Quantity_Color(aQColor.redF(), aQColor.greenF(), aQColor.blueF(),
+    Quantity_TOC_RGB);
+
+  SetMaterial(Graphic3d_NOM_PLASTIC);
 }
 
 
@@ -144,7 +154,8 @@ void PartSet_FieldStepPrs::Compute(const Handle(PrsMgr_PresentationManager3d)& t
   {
     double aMin, aMax;
     QList<double> aShapeData = range(aMin, aMax);
-    int aNbIntertvals = 20;
+    SUIT_ResourceMgr* aResMgr = ModuleBase_Preferences::resourceMgr();
+    int aNbIntertvals = aResMgr->integerValue("Viewer", "scalar_bar_nb_intervals", 20);
 
     AttributeSelectionListPtr aSelList = aData->selectionList(CollectionPlugin_Field::SELECTED_ID());
     for (int i = 0; i < aSelList->size(); i++) {
index e580f31a1dce65fd0082b52eaacc60acd11d647c..879498824de975c3d7122204266dd0ccf6031883 100644 (file)
@@ -20,6 +20,7 @@
     <parameter name="scalar_bar_height" value="0.5" />
     <parameter name="scalar_bar_text_height" value="14" />
     <parameter name="scalar_bar_nb_intervals" value="20" />
+    <parameter name="scalar_bar_text_color" value="#000000" />
   </section>
   <section name="Menu" >
     <!-- Menu bar preferences -->
index 367b8ad86714c6f67b2f7243fbf1065354c0b850..7d86a013fefc6fa2082110c1198e7d209700f5f1 100644 (file)
@@ -620,6 +620,18 @@ void XGUI_ViewerProxy::setColorScaleIntervals(int theNb)
 #endif
 }
 
+void XGUI_ViewerProxy::setColorScaleTextColor(const QColor& theColor)
+{
+#ifdef HAVE_SALOME
+  myWorkshop->salomeConnector()->viewer()->setColorScaleTextColor(theColor);
+#else
+  Handle(AIS_ColorScale) aColorScale = myWorkshop->mainWindow()->viewer()->colorScale();
+  Quantity_Color aColor(theColor.redF(), theColor.greenF(), theColor.blueF(), Quantity_TOC_RGB);
+  aColorScale->SetColor(aColor);
+#endif
+}
+
+
 void XGUI_ViewerProxy::setColorScaleTextHeigth(int theH)
 {
 #ifdef HAVE_SALOME
@@ -653,6 +665,9 @@ void XGUI_ViewerProxy::setupColorScale()
   double aH = aResMgr->doubleValue("Viewer", "scalar_bar_height", 0.5);
   setColorScaleSize(aW, aH);
 
+  QColor aColor = aResMgr->integerValue("Viewer", "scalar_bar_text_color", Qt::black);
+  setColorScaleTextColor(aColor);
+
   int aT = aResMgr->integerValue("Viewer", "scalar_bar_text_height", 14);
   setColorScaleTextHeigth(aT);
 
index 384372390d326e7956c66b1924c5b6d0befed289..3f86889606fe9ceea2b3b84dea3f802c1054e826 100644 (file)
@@ -150,6 +150,10 @@ Q_OBJECT
   // \param theH is number of intervals
   virtual void setColorScaleTextHeigth(int theH);
 
+  //! Set color of text of color scale
+  // \param theH is number of intervals
+  virtual void setColorScaleTextColor(const QColor& theColor);
+
   //! Set title of color scale
   // \param theText is a title
   virtual void setColorScaleTitle(const QString& theText);