1 // Copyright (C) 2007-2019 CEA/DEN, EDF R&D, OPEN CASCADE
3 // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
6 // This library is free software; you can redistribute it and/or
7 // modify it under the terms of the GNU Lesser General Public
8 // License as published by the Free Software Foundation; either
9 // version 2.1 of the License, or (at your option) any later version.
11 // This library is distributed in the hope that it will be useful,
12 // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 // Lesser General Public License for more details.
16 // You should have received a copy of the GNU Lesser General Public
17 // License along with this library; if not, write to the Free Software
18 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
23 // SALOME TOOLSGUI : implementation of desktop "Tools" optioins
24 // File : ToolsGUI.cxx
25 // Author : Nicolas REJNERI
28 #include <SALOMEDSClient_ClientFactory.hxx>
29 #include <SALOME_KernelServices.hxx>
37 \brief Get visibility value of the "AttributeGraphic" attribute.
39 \param theId sub-object identifier
40 \return \c true if an object (sub-object) is visible
42 bool ToolsGUI::GetVisibility( _PTR(SObject) theObj,
45 _PTR(GenericAttribute) anAttr;
46 if ( theObj && theObj->FindAttribute( anAttr, "AttributeGraphic" ) )
48 _PTR(AttributeGraphic) aGraphic (anAttr);
49 return aGraphic->GetVisibility( (unsigned long)theId );
56 \brief Set visibility value of the "AttributeGraphic" attribute.
58 \return theValue new visibility value
59 \param theId sub-object identifier
61 bool ToolsGUI::SetVisibility( const char* theEntry,
65 _PTR(Study) aStudy = ClientFactory::Study(KERNEL::getStudyServant());
66 _PTR(SObject) anObj ( aStudy->FindObjectID( theEntry ) );
70 _PTR(GenericAttribute) aGAttr;
71 if ( anObj->FindAttribute( aGAttr, "AttributeGraphic" ) )
73 _PTR(AttributeGraphic) anAttr ( aGAttr );
74 anAttr->SetVisibility( (unsigned long)theId, theValue );
78 _PTR(StudyBuilder) aBuilder (aStudy->NewBuilder());
79 _PTR(AttributeGraphic) anAttr (aBuilder->FindOrCreateAttribute(anObj, "AttributeGraphic"));
80 anAttr->SetVisibility( (unsigned long)theId, theValue );