XGUI_ViewerProxy::XGUI_ViewerProxy(XGUI_Workshop* theParent)
: ModuleBase_IViewer(theParent),
- myWorkshop(theParent), myShowHighlight(false)
+ myWorkshop(theParent)
{
}
if (myIs2dMode) {
bool aHighlight2d =
ModuleBase_Preferences::resourceMgr()->booleanValue("Viewer", "highlighting-2d", true);
- if (aHighlight2d || myShowHighlight)
- updateHighlight();
- else
- eraseHighlight();
+ if (aHighlight2d) {
+ if (myShowHighlight)
+ eraseHighlight();
+ else
+ updateHighlight();
+ }
+ else {
+ if (myShowHighlight)
+ updateHighlight();
+ else
+ eraseHighlight();
+ }
}
else {
bool aHighlight3d =
ModuleBase_Preferences::resourceMgr()->booleanValue("Viewer", "highlighting-3d", false);
- if (aHighlight3d || myShowHighlight)
- updateHighlight();
- else
- eraseHighlight();
+ if (aHighlight3d) {
+ if (myShowHighlight)
+ eraseHighlight();
+ else
+ updateHighlight();
+ }
+ else {
+ if (myShowHighlight)
+ updateHighlight();
+ else
+ eraseHighlight();
+ }
}
emit mouseMove(theWnd, theEvent);
}
}
}
-void XGUI_ViewerProxy::eraseHighlight()
+bool XGUI_ViewerProxy::eraseHighlight()
{
Handle(AIS_InteractiveContext) aContext = AISContext();
Handle(AIS_InteractiveObject) anAISIO;
AIS_ListIteratorOfListOfInteractive aLIt;
+ bool isErased = myHighlights.Extent() > 0;
for (aLIt.Initialize(myHighlights); aLIt.More(); aLIt.Next()) {
anAISIO = aLIt.Value();
aContext->Remove(anAISIO, false);
}
myHighlights.Clear();
+ return isErased;
}
void XGUI_ViewerProxy::updateHighlight()
else {
myResult = ResultPtr();
}
- aContext->UpdateCurrentViewer();
+ update();
}
isDisplayed = aRes.get();
}
}
if (!isDisplayed) {
- eraseHighlight();
- aContext->UpdateCurrentViewer();
+ if (eraseHighlight()) {
+ update();
+ }
myResult = ResultPtr();
}
}
if (myIs2dMode) {
bool aHighlight2d =
ModuleBase_Preferences::resourceMgr()->booleanValue("Viewer", "highlighting-2d", true);
- if (aHighlight2d || myShowHighlight)
- updateHighlight();
- else
- eraseHighlight();
+ if (aHighlight2d) {
+ if (myShowHighlight)
+ eraseHighlight();
+ else
+ updateHighlight();
+ }
+ else {
+ if (myShowHighlight)
+ updateHighlight();
+ else
+ eraseHighlight();
+ }
}
else {
bool aHighlight3d =
ModuleBase_Preferences::resourceMgr()->booleanValue("Viewer", "highlighting-3d", false);
- if (aHighlight3d || myShowHighlight)
- updateHighlight();
- else
- eraseHighlight();
+ if (aHighlight3d) {
+ if (myShowHighlight)
+ eraseHighlight();
+ else
+ updateHighlight();
+ }
+ else {
+ if (myShowHighlight)
+ updateHighlight();
+ else
+ eraseHighlight();
+ }
}
emit mouseMove(theWnd, theEvent);
}
#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
double aH = aResMgr->doubleValue("Viewer", "scalar_bar_height", 0.5);
setColorScaleSize(aW, aH);
+ QColor aColor = aResMgr->colorValue("Viewer", "scalar_bar_text_color", Qt::black);
+ setColorScaleTextColor(aColor);
+
int aT = aResMgr->integerValue("Viewer", "scalar_bar_text_height", 14);
setColorScaleTextHeigth(aT);
// aView3d->DepthFitAll();
// }
//#endif
-//}
\ No newline at end of file
+//}
+
+
+#ifdef HAVE_SALOME
+void XGUI_ViewerProxy::setFitter(OCCViewer_Fitter* theFitter)
+{
+ myWorkshop->salomeConnector()->viewer()->setFitter(theFitter);
+}
+
+OCCViewer_Fitter* XGUI_ViewerProxy::fitter() const
+{
+ return myWorkshop->salomeConnector()->viewer()->fitter();
+}
+#else
+void XGUI_ViewerProxy::setFitter(AppElements_Fitter* theFitter)
+{
+ myWorkshop->mainWindow()->viewer()->setFitter(theFitter);
+}
+
+AppElements_Fitter* XGUI_ViewerProxy::fitter() const
+{
+ return myWorkshop->mainWindow()->viewer()->fitter();
+}
+#endif