Open Inventor Release 2024.2.1
 
Loading...
Searching...
No Matches
SoDialogPushButtonLauncher.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-2014 BY FEI S.A.S, ***
17 *** BORDEAUX, FRANCE ***
18 *** ALL RIGHTS RESERVED ***
19**=======================================================================*/
20/*=======================================================================
21** Author : Nicolas DAGUISE (Oct 2002)
22**=======================================================================*/
23#ifndef _SO_DIALOG_PUSH_BUTTON_LAUNCHER_
24#define _SO_DIALOG_PUSH_BUTTON_LAUNCHER_
25
26#include <DialogViz/dialog/SoDialogPushButton.h>
27#include <DialogViz/dialog/SoTopLevelDialog.h>
28
29
78{
79 SO_DG_HEADER(SoDialogPushButtonLauncher);
80
81 public:
82
87
92
98
102 virtual void addChild(SoTopLevelDialog *child);
103
107 virtual void insertChild(SoTopLevelDialog *child, int newChildIndex);
108
112 virtual SoNode *getChild(int index) const;
113
117 virtual int getNumChildren() const;
118
122 virtual int findChild(const SoTopLevelDialog *child) const;
123
127 virtual void removeChild(int index);
128
132 virtual void removeChild(SoTopLevelDialog *child);
133
137 virtual void removeAllChildren();
138
142 virtual void replaceChild(int index, SoTopLevelDialog *newChild);
143
147 virtual void replaceChild(SoTopLevelDialog *oldChild, SoTopLevelDialog *newChild);
148
149/*==============================================================================*/
150 private:
151
152 // Returns pointer to children
153 virtual SoChildList *getChildren() const;
154
155 static void initClass();
156 static void exitClass();
157 virtual void buildWidget(SoWidget parent, SbVec2i32 &rSize, SbVec2i32 & pos, SbBool isActive2d);
158 virtual void eventNotify(unsigned int event, uintptr_t param);
159
160 // Internal child management following inheritance of classes.
161 virtual void internalRemoveChild( int index ) { removeChild(index); }
162 virtual void internalRemoveChild( SoNode *child ) { removeChild(findChild(dynamic_cast<SoTopLevelDialog*>(child))); }
163 virtual void internalRemoveAllChildren() { removeAllChildren(); }
164 virtual void internalAddChild( SoNode *child ) { addChild(dynamic_cast<SoTopLevelDialog*>(child)); }
165 virtual int internalFindChild( const SoNode *child ) const { return findChild(dynamic_cast<const SoTopLevelDialog*>(child)); }
166 virtual void internalInsertChild( SoNode *child, int newChildIndex ) { insertChild(dynamic_cast<SoTopLevelDialog*>(child), newChildIndex); }
167 virtual SoNode *internalGetChild( int index) const { return getChild(index); }
168 virtual void internalReplaceChild( int index, SoNode *newChild) { replaceChild(index, dynamic_cast<SoTopLevelDialog*>(newChild)); }
169 virtual void internalReplaceChild( SoNode *oldChild, SoNode *newChild) { replaceChild(dynamic_cast<SoTopLevelDialog*>(oldChild),dynamic_cast<SoTopLevelDialog*>(newChild)); }
170
171 private:
172
173 // Reads stuff into instance of SoGroup. Returns FALSE on error
174 virtual SbBool readInstance(SoInput *in, unsigned short flags);
175
176 // Reads just the children into instance of SoGroup. Returns FALSE on error
177 virtual SbBool readChildren(SoInput *in);
178
180
181 private:
182 int m_numberOfChildren;
183
184private:
185 virtual void search(SoSearchAction *action);
186 virtual void rayPick(SoRayPickAction *action);
187 virtual void write(SoWriteAction *action);
188
189};
190
191#endif // _SO_DIALOG_PUSH_BUTTON_LAUNCHER_
192
193
Class for smart character strings.
Definition SbString.h:202
2D vector class.
Definition SbVec.h:517
<a href="IconLegend.html"><img src="extTGS.gif" alt="VSG extension" border="0"></a> Dialog push butt...
<a href="IconLegend.html"><img src="extTGS.gif" alt="VSG extension" border="0"></a> Dialog push butt...
SoDialogViz * searchForAuditorId(SbString id)
Retrieves the DialogViz object from the specified auditorID field in an SoDialogPushButtonLauncher st...
virtual void addChild(SoTopLevelDialog *child)
Adds a child as last one in group.
virtual int getNumChildren() const
Returns number of children.
virtual void removeChild(SoTopLevelDialog *child)
Removes first instance of given child from group.
virtual int findChild(const SoTopLevelDialog *child) const
Finds index of given child within group.
virtual void insertChild(SoTopLevelDialog *child, int newChildIndex)
Adds a child so that it becomes the one with the given index.
virtual void replaceChild(SoTopLevelDialog *oldChild, SoTopLevelDialog *newChild)
Replaces first instance of given child with new child.
void applyAuditors()
Applies all DialogAuditors in the auditor list.
virtual void replaceChild(int index, SoTopLevelDialog *newChild)
Replaces child with given index with new child.
SoDialogPushButtonLauncher()
Constructor.
virtual SoNode * getChild(int index) const
Returns pointer to child node with the given index.
virtual void removeChild(int index)
Removes child with given index from group.
virtual void removeAllChildren()
Removes all children from group.
<a href="IconLegend.html"><img src="extTGS.gif" alt="VSG extension" border="0"></a> Abstract base cl...
Used to read Open Inventor data files.
Definition SoInput.h:363
Abstract base class for all database nodes.
Definition SoNode.h:145
friend class SoChildList
Definition SoNode.h:473
Intersects objects with a ray cast into scene.
Searches for nodes in a scene graph.
<a href="IconLegend.html"><img src="extTGS.gif" alt="VSG extension" border="0"></a> Top Level Dialog...
Writes a scene graph to a file.
int SbBool
Boolean type.
Definition SbBase.h:87