00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef _SO_DIALOG_CHECK_LAUNCHER_
00024 #define _SO_DIALOG_CHECK_LAUNCHER_
00025
00026 #include <DialogViz/dialog/SoDialogCheckBox.h>
00027 #include <DialogViz/dialog/SoTopLevelDialog.h>
00028
00078 class SoDialogCheckBoxLauncher : public SoDialogCheckBox
00079 {
00080
00081 SO_DG_HEADER(SoDialogCheckBoxLauncher);
00082
00083 public:
00084
00088 SoDialogCheckBoxLauncher();
00089
00093 void applyAuditors();
00094
00099 SoDialogViz* searchForAuditorId(SbString id);
00100
00104 virtual void addChild(SoTopLevelDialog *child);
00105
00109 virtual void insertChild(SoTopLevelDialog *child, int newChildIndex);
00110
00114 virtual SoNode *getChild(int index) const;
00115
00119 virtual int getNumChildren() const;
00120
00124 virtual int findChild(const SoTopLevelDialog *child) const;
00125
00129 virtual void removeChild(int index);
00130
00134 virtual void removeChild(SoTopLevelDialog *child);
00135
00139 virtual void removeAllChildren();
00140
00144 virtual void replaceChild(int index, SoTopLevelDialog *newChild);
00145
00149 virtual void replaceChild(SoTopLevelDialog *oldChild, SoTopLevelDialog *newChild);
00150
00151
00152 private:
00153
00154
00155 virtual SoChildList *getChildren() const;
00156
00157 static void initClass();
00158 static void exitClass();
00159 virtual void buildWidget(SoWidget parent, SbVec2i32 &rSize, SbVec2i32 & pos, SbBool isActive2d);
00160 virtual void eventNotify(unsigned int event, uintptr_t param);
00161
00162
00163 virtual void internalRemoveChild( int index ) { removeChild(index); }
00164 virtual void internalRemoveChild( SoNode *child ) { removeChild(findChild(dynamic_cast<SoTopLevelDialog*>(child))); }
00165 virtual void internalRemoveAllChildren() { removeAllChildren(); }
00166 virtual void internalAddChild( SoNode *child ) { addChild(dynamic_cast<SoTopLevelDialog*>(child) ); }
00167 virtual int internalFindChild( const SoNode *child ) const { return findChild(dynamic_cast<const SoTopLevelDialog*>(child)); }
00168 virtual void internalInsertChild( SoNode *child, int newChildIndex ) { insertChild(dynamic_cast<SoTopLevelDialog*>(child), newChildIndex); }
00169 virtual SoNode *internalGetChild( int index) const { return getChild(index); }
00170 virtual void internalReplaceChild( int index, SoNode *newChild) { replaceChild(index, dynamic_cast<SoTopLevelDialog*>(newChild)); }
00171 virtual void internalReplaceChild( SoNode *oldChild, SoNode *newChild) { replaceChild(dynamic_cast<SoTopLevelDialog*>(oldChild),dynamic_cast<SoTopLevelDialog*>(newChild)); }
00172
00173 private:
00174
00175
00176 virtual SbBool readInstance(SoInput *in, unsigned short flags);
00177
00178
00179 virtual SbBool readChildren(SoInput *in);
00180
00181 virtual ~SoDialogCheckBoxLauncher();
00182
00183 private:
00184 int m_numberOfChildren;
00185
00186 private:
00187 virtual void search(SoSearchAction *action);
00188 virtual void rayPick(SoRayPickAction *action);
00189 virtual void write(SoWriteAction *action);
00190
00192
00193 private:
00194
00195 private:
00196 virtual void draggerFinishCallback3D();
00197
00199 };
00200
00201 #endif // _SO_DIALOG_CHECK_LAUNCHER_
00202
00203
00204