Salome HOME
Implementation of the issue "20830: EDF 1357 GUI : Hide/Show Icon" for Post-Pro module.
[modules/visu.git] / src / VISU_I / VISU_Tools.h
1 //  Copyright (C) 2007-2010  CEA/DEN, EDF R&D, OPEN CASCADE
2 //
3 //  This library is free software; you can redistribute it and/or
4 //  modify it under the terms of the GNU Lesser General Public
5 //  License as published by the Free Software Foundation; either
6 //  version 2.1 of the License.
7 //
8 //  This library is distributed in the hope that it will be useful,
9 //  but WITHOUT ANY WARRANTY; without even the implied warranty of
10 //  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
11 //  Lesser General Public License for more details.
12 //
13 //  You should have received a copy of the GNU Lesser General Public
14 //  License along with this library; if not, write to the Free Software
15 //  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
16 //
17 //  See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
18 //
19
20 //  File   : VISU_Tools.h
21 //  Author : Oleg UVAROV
22 //  Module : VISU
23 //
24 #ifndef VISU_TOOLS_H
25 #define VISU_TOOLS_H
26
27 #include "VISUConfig.hh"
28 #include "VISU_I.hxx"
29
30 #include <Qtx.h>
31
32 #include <SALOMEDSClient_Study.hxx>
33
34 class SPlot2d_Curve;
35 class Plot2d_ViewFrame;
36 class SalomeApp_Study;
37 class SalomeApp_Application;
38 class VISU_ActorBase;
39
40 namespace VISU 
41 {
42   class Gen_i;
43   class Table_i;
44   class Curve_i;
45   class Container_i;
46
47   /*! Display/Erase/Update a curve presentation.
48    *  Parameter \a frame may be NULL, in this case there is only update without display/erase
49    */
50   VISU_I_EXPORT void                                 UpdateCurve( VISU::Curve_i*,
51                                                                   Plot2d_ViewFrame*,
52                                                                   SPlot2d_Curve*,
53                                                                   int theDisplaying );
54
55   VISU_I_EXPORT void                                 PlotTable( SalomeApp_Study*,
56                                                                 Plot2d_ViewFrame*,
57                                                                 VISU::Table_i*,
58                                                                 int theDisplaying );
59
60   VISU_I_EXPORT void                                 PlotCurve( Plot2d_ViewFrame*,
61                                                                 VISU::Curve_i*,
62                                                                 int theDisplaying );
63
64   VISU_I_EXPORT void                                 PlotRemoveCurve(SalomeApp_Application*,
65                                                                      VISU::Curve_i* );
66
67   VISU_I_EXPORT void                                 PlotContainer( Plot2d_ViewFrame*,
68                                                                     VISU::Container_i*,
69                                                                     int theDisplaying );
70
71   VISU_I_EXPORT void                                 CreatePlot( VISU_Gen_i*,
72                                                                  Plot2d_ViewFrame*,
73                                                                  _PTR(SObject) theTableSO );
74
75   VISU_I_EXPORT void                                 SetVisibilityState(std::string entry, Qtx::VisibilityState state);
76   VISU_I_EXPORT void                                 SetVisibilityState(VISU_ActorBase *theActor, Qtx::VisibilityState state);
77
78   VISU_I_EXPORT void                                 CurveVisibilityChanged(VISU::Curve_i* theCurve, 
79                                                                             int theDisplaying,
80                                                                             bool updateCurve,
81                                                                             bool updateTable,
82                                                                             bool updateContainers);
83
84   VISU_I_EXPORT Qtx::VisibilityState                 GetStateByDisplaying(int theDisplaying);
85   VISU_I_EXPORT void                                 updateContainerVisibility(VISU::Container_i* theContainer);
86 }
87
88 #endif