X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FXGUI%2FXGUI_Displayer.h;h=9b606dab3b55c0877694e1fe5033e150b8df9d77;hb=4c763543675ec80cad142d3a2f8b4766ca64ac0f;hp=2325de48b75d07e78a7213b001c6f7ef69966357;hpb=4bf4215c643280688f98cfbe545daf837d7bda1f;p=modules%2Fshaper.git diff --git a/src/XGUI/XGUI_Displayer.h b/src/XGUI/XGUI_Displayer.h index 2325de48b..9b606dab3 100644 --- a/src/XGUI/XGUI_Displayer.h +++ b/src/XGUI/XGUI_Displayer.h @@ -1,8 +1,22 @@ -// Copyright (C) 2014-20xx CEA/DEN, EDF R&D --> - -// File: XGUI_Displayer.h -// Created: 20 Apr 2014 -// Author: Natalia ERMOLAEVA +// Copyright (C) 2014-2017 CEA/DEN, EDF R&D +// +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +// See http://www.salome-platform.org/ or +// email : webmaster.salome@opencascade.com +// #ifndef XGUI_Displayer_H #define XGUI_Displayer_H @@ -33,7 +47,7 @@ class ModuleBase_ViewerPrs; class ModelAPI_Feature; class XGUI_Workshop; -#ifdef VINSPECTOR +#ifdef TINSPECTOR class VInspectorAPI_CallBack; #endif @@ -79,10 +93,11 @@ class XGUI_EXPORT XGUI_Displayer: public QObject /// \param theAIS AIOS object to display /// \param toActivateInSelectionModes boolean value whether the presentation should be /// activated in the current selection modes + /// \param theDisplayMode mode how the presentation should be displayed /// \param theUpdateViewer the parameter whether the viewer should be update immediatelly /// \return true if the object visibility state is changed bool displayAIS(AISObjectPtr theAIS, const bool toActivateInSelectionModes, - bool theUpdateViewer = true); + const Standard_Integer theDisplayMode = 0, bool theUpdateViewer = true); /// Redisplay the shape if it was displayed /// \param theObject an object instance @@ -125,7 +140,7 @@ class XGUI_EXPORT XGUI_Displayer: public QObject /// Deactivates selection of sub-shapes /// \param theUpdateViewer the parameter whether the viewer should be update immediatelly - void closeLocalContexts(const bool theUpdateViewer = true); + //void closeLocalContexts(const bool theUpdateViewer = true); /// Remove default selection filters of the module from the current viewer void deactivateSelectionFilters(); @@ -258,12 +273,10 @@ class XGUI_EXPORT XGUI_Displayer: public QObject /// Selection modes will be returned according to TopAbs_ShapeEnum QIntList activeSelectionModes() const; -#ifdef VINSPECTOR - /// Sets callback to debug display - /// \param theCallBack a callback instance - void setCallBack(VInspectorAPI_CallBack* theCallBack); - - VInspectorAPI_CallBack* getCallBack() const; +#ifdef TINSPECTOR + void setCallBack(const Handle(VInspectorAPI_CallBack)& theCallBack) + { myVCallBack = theCallBack; } + Handle(VInspectorAPI_CallBack) getCallBack() const { return myVCallBack; } #endif /// Converts shape type (TopAbs_ShapeEnum) to selection mode /// \param theShapeType a shape type from TopAbs_ShapeEnum @@ -320,9 +333,6 @@ private: /// \param theUpdateViewer an update viewer flag void deactivateTrihedron(const bool theUpdateViewer) const; - /// Opens local context. Does nothing if it is already opened. - void openLocalContext(); - /// Update the object presentable properties such as color, lines width and other /// If the object is result with the color attribute value set, it is used, /// otherwise the customize is applyed to the object's feature if it is a custom prs @@ -362,8 +372,8 @@ private: protected: /// Reference to workshop XGUI_Workshop* myWorkshop; -#ifdef VINSPECTOR - VInspectorAPI_CallBack* myContextCallBack; ///< callback to debug display +#ifdef TINSPECTOR + Handle(VInspectorAPI_CallBack) myVCallBack; #endif /// A container for selection filters Handle(SelectMgr_AndFilter) myAndFilter; @@ -384,6 +394,9 @@ private: /// Number of blocking of the viewer update. The viewer is updated only if it equals zero int myViewerBlockedRecursiveCount; + /// Flag: first asking of AIS context: trihedron activation + bool myIsFirstAISContextUse; + /// Flag: use trihedgon for selection or not bool myIsTrihedronActive;