Open Inventor Release 2024.2.1
 
Loading...
Searching...
No Matches
SoGuiComponent.h
1/*=======================================================================
2 *** THE CONTENT OF THIS WORK IS PROPRIETARY TO FEI S.A.S, (FEI S.A.S.), ***
3 *** AND IS DISTRIBUTED UNDER A LICENSE AGREEMENT. ***
4 *** ***
5 *** REPRODUCTION, DISCLOSURE, OR USE, IN WHOLE OR IN PART, OTHER THAN AS ***
6 *** SPECIFIED IN THE LICENSE ARE NOT TO BE UNDERTAKEN EXCEPT WITH PRIOR ***
7 *** WRITTEN AUTHORIZATION OF FEI S.A.S. ***
8 *** ***
9 *** RESTRICTED RIGHTS LEGEND ***
10 *** USE, DUPLICATION, OR DISCLOSURE BY THE GOVERNMENT OF THE CONTENT OF THIS ***
11 *** WORK OR RELATED DOCUMENTATION IS SUBJECT TO RESTRICTIONS AS SET FORTH IN ***
12 *** SUBPARAGRAPH (C)(1) OF THE COMMERCIAL COMPUTER SOFTWARE RESTRICTED RIGHT ***
13 *** CLAUSE AT FAR 52.227-19 OR SUBPARAGRAPH (C)(1)(II) OF THE RIGHTS IN ***
14 *** TECHNICAL DATA AND COMPUTER SOFTWARE CLAUSE AT DFARS 52.227-7013. ***
15 *** ***
16 *** COPYRIGHT (C) 1996-2020 BY FEI S.A.S, ***
17 *** BORDEAUX, FRANCE ***
18 *** ALL RIGHTS RESERVED ***
19**=======================================================================*/
20/*=======================================================================
21** Author : T.MEHAMLI (Jun 2007)
22**=======================================================================*/
23
24#ifndef SO_GUI_COMPONENT_H
25#define SO_GUI_COMPONENT_H
26
28//
29// Class: SoGuiComponent
30//
31// SoXXComponent implementation class
32//
33//
35
36
37#include <ScaleViz/viewers/SoGuiBase.h>
38#include <Inventor/STL/string>
39#include <Inventor/SbBasic.h>
40
41#ifndef HIDDEN_FROM_DOC
42 // Defines used when specifying the glModes flag to the constructor.
43 // (used instead of the glx.h defines which do overlap)
44# define SO_GLX_RGB (1<<0)
45# define SO_GLX_DOUBLE (1<<1)
46# define SO_GLX_ZBUFFER (1<<2)
47# define SO_GLX_STEREO (1<<4)
48# define SO_GLX_STENCIL (1<<5)
49#endif
50
51
52class SoGuiComponent : public SoGuiBase
53{
54#ifndef HIDDEN_FROM_DOC
55 SO_FIELDCONTAINER_HEADER( SoGuiComponent );
56#endif
57
58private:
59
64
70 SbBool isTopLevelShell() const;
71
75 void setTopLevelShell( const SbBool topLevelShell );
76
80 void setFullScreen( const SbBool enable );
81
85 SbBool isFullScreen() const;
86
92 void setFullScreenEnable( const SbBool enable );
93
98 SbBool isFullScreenEnable() const;
99
107 void setTitle( const SbString& newTitle );
108
112 SbString getTitle() const;
113
121 void setIconTitle( const SbString& newIconTitle );
122
126 SbString getIconTitle() const;
127
132 SbString getWidgetName() const;
133
139 void setWidgetName( const SbString& name );
140
145 SbString getClassName() const;
146
147 // ----------------------- Extension usage -----------------------------------
148
149 // Subclasses need to set the class name in the constructor
150 // before the widget is built.
151 void setClassName( const SbString& n );
152
153 void setSynchronize( SbBool synch );
154 SbBool getSynchronize();
155
156 void setVisible( SbBool visible );
157
158 void setIsQt( const SbBool flag ) { m_isQt = flag; }
159
160 SbBool isQt() const { return m_isQt; }
161
162 void setBaseWidgetHandle( void* _baseWidget ) { m_baseWidgetHandle = _baseWidget; };
163 void* getBaseWidgetHandle() const { return m_baseWidgetHandle; };
164
165 virtual SbBool bindNormalContext() { return FALSE; };
166 virtual SbBool unbindNormalContext() { return FALSE; };
167
168private:
169
173 virtual ~SoGuiComponent();
174
175// ----------------------- Private usage -------------------------------------
176private:
177
178 SbBool m_topLevelShell; // TRUE if in its own window
179 SbString m_name; // name of the widget
180 SbString m_title; // title for window if in its own window
181 SbString m_iconTitle; // title for icon if in its own window
182 SbString m_className;
183
184 // For fullscreen mode.
185 SbBool m_fullScreenOn;
186 SbBool m_fullScreenEnabled;
187
188 SbBool m_isQt;
189 void* m_baseWidgetHandle;
190};
191
192#endif // SO_GUI_COMPONENT_H
193
194
Class for smart character strings.
Definition SbString.h:202
int SbBool
Boolean type.
Definition SbBase.h:87