Version: 8.3.0
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
SALOME GUI Developer
Todo List
Namespaces
Classes
Files
File List
idl
src
CAF
CAM
CASCatch
DDS
Event
GLViewer
GraphicsView
GuiHelpers
QtHelper.hxx
SALOME_AppStudyEditor.cxx
SALOME_AppStudyEditor.hxx
SALOME_GuiServices.cxx
SALOME_GuiServices.hxx
SalomeGuiHelpers.hxx
StandardApp_Module.cxx
StandardApp_Module.hxx
HelpBrowser
ImageComposer
LightApp
LogWindow
ObjBrowser
OBJECT
OCCViewer
OpenGLUtils
Plot2d
Prs
PVServerService
PVViewer
PyViewer
QDS
Qtx
QxScene
SALOME_PY
SALOME_PYQT
SALOME_SWIG
SalomeApp
Session
SOCC
SPlot2d
STD
Style
SUIT
SUITApp
SVTK
TOOLSGUI
TreeData
ViewerData
ViewerTools
VTKViewer
File Members
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Pages
SALOME_GuiServices.hxx
Go to the documentation of this file.
1
// Copyright (C) 2007-2016 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, or (at your option) any later version.
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
// Author: Guillaume Boulant (EDF/R&D)
21
22
#ifndef __GUI_SERVICES_H__
23
#define __GUI_SERVICES_H__
24
25
#include <
SalomeApp_Application.h
>
26
#include <
SalomeApp_Study.h
>
27
#include <
LightApp_SelectionMgr.h
>
28
#include <
SUIT_ResourceMgr.h
>
29
30
#include "SALOMEconfig.h"
31
#include CORBA_SERVER_HEADER(SALOMEDS)
32
#include <
SALOME_InteractiveObject.hxx
>
33
#include <SALOME_KernelServices.hxx>
34
#include "
SalomeGuiHelpers.hxx
"
35
namespace
GUI {
36
37
// SALOME GUI main services
38
SALOMEGUIHELPERS_EXPORT
SalomeApp_Application
*
getSalomeApplication
();
39
SALOMEGUIHELPERS_EXPORT
LightApp_SelectionMgr
*
getSelectionManager
();
40
SALOMEGUIHELPERS_EXPORT
SUIT_ResourceMgr
*
getResourcesManager
();
41
42
// Helper functions to deal with the study in a GUI context.
43
//
44
// First of all, in a GUI context, there is one of the opened
45
// studies that is considered as active. Please note that the active
46
// study is a GUI concept and it can be obtained only in the
47
// SALOME_SessionServer process, i.e. the process that embeds the
48
// SalomeApp_Application. The concept of active study doesn't make
49
// sense outside of the GUI context.
50
//
51
// The active study is associated with an GUI Objects Browser that
52
// displays a graphical representation of the study. The items that
53
// can be selected in the Objects Browser are name Interactive
54
// Objects (instance of class SALOME_InteractiveObject). To work
55
// with data, we have to retrieve from this Interactive Object (IO)
56
// the underlying Study Object (instance of class SALOMEDS::SObject)
57
// and from this last the data object that can be anything (that
58
// depends of the SALOME module technical choices). In general, on
59
// of the attribute of a SObject is a CORBA servant that handles the
60
// data to work with
61
SALOMEGUIHELPERS_EXPORT
SALOMEDS::Study_ptr
getActiveStudy
();
62
SALOMEGUIHELPERS_EXPORT
int
getActiveStudyId
();
63
64
// Another way to get the active study (to be converted in
65
// SALOMEDS::Study):
66
SALOMEGUIHELPERS_EXPORT
SalomeApp_Study
*
getSalomeAppActiveStudy
();
67
68
SALOMEGUIHELPERS_EXPORT
SALOMEDS::SObject_ptr
IObjectToSObject
(
const
Handle
(
SALOME_InteractiveObject
)& iobject);
69
70
template
<
class
TInterface>
typename
TInterface::_var_type
71
IObjectToInterface
(
const
Handle
(
SALOME_InteractiveObject
)& iobject) {
72
SALOMEDS::SObject_ptr sobject =
IObjectToSObject
(iobject);
73
return
KERNEL::SObjectToInterface<TInterface>(sobject);
74
}
75
// _MEM_: note that template functions have to be declared AND
76
// implemented in the header because they are not compiled in this
77
// library but in every client library that includes this header
78
// file. The effective compilation depends on the particular class
79
// used for TInterface.
80
81
82
}
83
84
#endif // GUI_SERVICES
src
GuiHelpers
SALOME_GuiServices.hxx
Copyright © 2007-2017 CEA/DEN, EDF R&D, OPEN CASCADE
Copyright © 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS