Salome HOME
PAL10110 - incorrect title of dialog of file selection for file preference item
[modules/gui.git] / src / TOOLSGUI / ToolsGUI.cxx
1 //  SALOME TOOLSGUI : implementation of desktop "Tools" optioins
2 //
3 //  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4 //  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
5 // 
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. 
10 // 
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. 
15 // 
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 
19 // 
20 //  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
21 //
22 //
23 //
24 //  File   : ToolsGUI.cxx
25 //  Author : Nicolas REJNERI
26 //  Module : SALOME
27 //  $Header$
28
29 #include "ToolsGUI.h"
30
31 //=======================================================================
32 // name    : GetVisibility
33 // Purpose : Verify whether object is visible or not
34 //=======================================================================
35 bool ToolsGUI::GetVisibility( _PTR(Study)   theStudy,
36                               _PTR(SObject) theObj,
37                               void*         theId )
38 {
39   _PTR(GenericAttribute) anAttr;
40   if ( theObj && theObj->FindAttribute( anAttr, "AttributeGraphic" ) )
41   {
42     _PTR(AttributeGraphic) aGraphic (anAttr);
43     return aGraphic->GetVisibility( (unsigned long)theId );
44   }
45
46   return false;
47 }
48
49 //=======================================================================
50 // name    : SetVisibility
51 // Purpose : Set flag visibility of object
52 //=======================================================================
53 bool ToolsGUI::SetVisibility( _PTR(Study) theStudy,
54                               const char* theEntry,
55                               const bool  theValue,
56                               void*       theId )
57 {
58   _PTR(SObject) anObj ( theStudy->FindObjectID( theEntry ) );
59
60   if ( anObj )
61   {
62     _PTR(GenericAttribute) aGAttr;
63     if ( anObj->FindAttribute( aGAttr, "AttributeGraphic" ) )
64     {
65       _PTR(AttributeGraphic) anAttr ( aGAttr );
66       anAttr->SetVisibility( (unsigned long)theId, theValue );
67     }
68     else if ( theValue )
69     {
70       _PTR(StudyBuilder) aBuilder (theStudy->NewBuilder());
71       _PTR(AttributeGraphic) anAttr (aBuilder->FindOrCreateAttribute(anObj, "AttributeGraphic"));
72       anAttr->SetVisibility( (unsigned long)theId, theValue );
73     }
74     return true;
75   }
76
77   return false;
78 }
79
80
81
82
83
84