99 virtual void insertChild(SoMenuItem *child,
int newChildIndex);
144 virtual SoChildList *getChildren()
const;
146 virtual void buildMenu(
void* parent,
SbBool isActive2d,
int index = -1);
147 static void initClass();
148 static void exitClass();
149 virtual void updateFromSensor(
SoSensor* sensor);
150 virtual void destroyNoDeleteMenuItem();
152 virtual void updateAfterSceneGraphChange();
155 virtual void internalRemoveChild(
int index ) {
removeChild(index); }
158 virtual void internalAddChild( SoNode *child ) {
addChild(
dynamic_cast<SoMenuItem*
>(child)); }
159 virtual int internalFindChild(
const SoNode *child )
const {
return findChild(
dynamic_cast<const SoMenuItem*
>(child)); }
160 virtual void internalInsertChild( SoNode *child,
int newChildIndex ) {
insertChild(
dynamic_cast<SoMenuItem*
>(child), newChildIndex); }
161 virtual SoNode *internalGetChild(
int index)
const {
return getChild(index); }
162 virtual void internalReplaceChild(
int index, SoNode *newChild) {
replaceChild(index,
dynamic_cast<SoMenuItem*
>(newChild)); }
163 virtual void internalReplaceChild( SoNode *oldChild, SoNode *newChild) {
replaceChild(
dynamic_cast<SoMenuItem*
>(oldChild),
dynamic_cast<SoMenuItem*
>(newChild)); }
168 virtual SbBool readInstance(SoInput *in,
unsigned short flags);
171 virtual SbBool readChildren(SoInput *in);
174 virtual void changeLabel();
175 virtual void changeEnable();
178 int m_numberOfChildren;
179 void* m_menuPopupWin;
183 void insertMenuItem(
int index);
184 void updateMenuItem();
186 virtual void applyAuditor(SoDialogViz* dlgCpt);
191 static char* MenuPopup;
192 static void change3DSkin();
193 static SbBool isSkinLoaded();
194 static void setSkinLoaded(
SbBool loaded);
196 virtual void get3DDefaultSize(SbVec3f& size);
197 void show3DChildren(
SbBool show);
198 virtual void change3DPosition();
199 void update3DChildren();
200 void update3DChildrenSize();
203 SO_DG_CATALOG_ENTRY_HEADER( frameSep );
204 SO_DG_CATALOG_ENTRY_HEADER( frameSwitch );
205 SO_DG_CATALOG_ENTRY_HEADER( released );
206 SO_DG_CATALOG_ENTRY_HEADER( pressed );
207 SO_DG_CATALOG_ENTRY_HEADER( shapeReleased );
208 SO_DG_CATALOG_ENTRY_HEADER( shapePressed );
210 SoScale* menuPopupFrameScale;
211 SoTranslation* menuPopupFrameTranslation;
212 SoTransform* menuPopupFrameTransform;
214 virtual void set3DInactive();
218 float m_mPopupCachedDepth;
219 float m_mChildrenCachedDepth;
220 static SbBool m_isSkinLoaded;
222 void create3DPopup(
int index);
223 void update3DPopup();
225 static void startCB3D(
void *, SoDragger *inDragger );
226 virtual void draggerStartCallback3D();
229 virtual void getBoundingBox(SoGetBoundingBoxAction* action);
230 virtual void rayPick(SoRayPickAction *action);
231 virtual void search(SoSearchAction *action);
232 virtual void write(SoWriteAction *action);