26#ifndef _SO_WIN_FULL_VIEWER_
27#define _SO_WIN_FULL_VIEWER_
37class SoWinBitmapButton;
308 customPushBtnCB = cb;
309 customPushBtnData = data;
313 customRedrawBtnCB = cb;
314 customRedrawBtnData = data;
323 float rightWheelVal, leftWheelVal, bottomWheelVal;
349 SoWidget leftTrimForm, bottomTrimForm, rightTrimForm;
351 static SbBool doButtonBar;
356 SoWidget zoomForm, zoomField, zoomSlider;
371 int extraLabelHeight;
380 char* rightWheelStr, *bottomWheelStr, *leftWheelStr;
381 SoWidget rightWheelLabel, bottomWheelLabel, leftWheelLabel;
390 int numFullVwrButtons;
395 virtual void pushButtonCB(
SoWidget w,
int id,
void* data );
406 virtual void pushAppButtonCB(
SoWidget w,
int id,
void* data )
408 if ( customPushBtnCB )
409 customPushBtnCB( w,
id, data, customPushBtnData );
417 virtual void redrawAppButtonCB( LPDRAWITEMSTRUCT lpdis )
419 if ( customRedrawBtnCB )
420 customRedrawBtnCB( lpdis, customRedrawBtnData );
426 SoWidget getButtonWidget()
const {
return appButtonForm; }
429 SoWidget popupWidget, *popupToggleWidgets;
430 SoWidget* drawStyleWidgets, bufferStyleWidgets[3];
437 void buildLeftWheel(
SoWidget parent );
439 virtual void buildDecoration(
SoWidget parent );
446 virtual void createViewerButtons(
SoWidget parent );
451 virtual void buildPopupMenu();
452 virtual void openStereoDialog();
453 virtual void openRecordDialog();
454 virtual void switchFSAAMode();
456 virtual void destroyPopupMenu();
457 void setPopupMenuString(
const char* name );
463 virtual int displayPopupMenu(
int x,
int y,
Hwnd owner );
469 void setPrefSheetString(
const char* name );
470 virtual void createPrefSheet();
472 void createDefaultPrefSheetParts(
SoWidget widgetList[],
int &num,
SoWidget form );
483 virtual void rightWheelMotion(
float f );
484 virtual void bottomWheelMotion(
float f );
485 virtual void leftWheelMotion(
float f );
490 virtual void rightWheelStart();
491 virtual void bottomWheelStart();
492 virtual void leftWheelStart();
493 virtual void rightWheelFinish();
494 virtual void bottomWheelFinish();
495 virtual void leftWheelFinish();
500 void setBottomWheelString(
const char* name );
501 void setLeftWheelString(
const char* name );
502 void setRightWheelString(
const char* name );
508 virtual void openViewerHelpCard();
511 virtual void afterRealizeHook();
513 virtual void setSeekButton(
SbBool onOff );
518 static void clientResize(HWND handle,
int x,
int y,
int width,
int height, BOOL repaint);
527 void doAppButtonLayout(
int start );
533 void setCameraZoom(
float zoom );
534 float getCameraZoom();
535 void setZoomSliderPosition(
float zoom );
536 void setZoomFieldString(
float zoom );
541 static void zoomSensorCB(
void* v,
SoSensor* s );
544 SoWinBitmapButton* buttonList[10];
551 int seekDistWheelVal;
556 int clipNearWheelVal, clipFarWheelVal;
557 SoWidget clipNearField, clipFarField;
560 SoWidget stereoWheelForm, stereoField, stereoLabel;
564 static void visibilityChangeCB(
void* pt,
SbBool visible );
573 WPARAM wParam, LPARAM lParam );
577 WPARAM wParam, LPARAM lParam );
581 WPARAM wParam, LPARAM lParam );
585 WPARAM wParam, LPARAM lParam );
589 void* customPushBtnData, *customRedrawBtnData;
591 static int s_isAttRunning;
594 WNDPROC origBtnWndProc;
595 WNDPROC origAppBtnWndProc;
596 WNDPROC origTxtWndProc;
void RedrawAppButtonCB(LPDRAWITEMSTRUCT lpdis, void *userData)
void PushAppButtonCB(SoWidget w, int id, void *pushData, void *userData)
SoWinGDIThumbWheel(SoWidget parent=NULL, const char *name=NULL, SbBool buildInsideParent=TRUE, SbBool horizontal=TRUE)
List of generic (void *) pointers.
int find(const void *ptr) const
Returns index of given pointer in list, or -1 if not found.
int getLength() const
Returns number of pointers in list.
Manages a list of callbacks and associated data.
Abstract base class for camera nodes.
Sensor class that can be attached to Open Inventor fields.
Abstract base class for Open Inventor sensors.
<a href="IconLegend.html"><img src="extTGS.gif" alt="VSG extension" border="0"></a> Component that l...
<a href="IconLegend.html"><img src="extTGS.gif" alt="VSG extension" border="0"></a> Base viewer clas...
void setClientPopupMenu(Hmenu hmenu)
Enables application-specific popup menu.
void removeAppPushButton(SoWidget oldButton)
Removes specified application push button.
SbBool isDecoration()
Returns whether the viewer component trim is on or off.
UINT curPopupDrawItem
In this version we track the currently "check marked" menu item in the Draw Style submenu (only one c...
Hmenu drawPopup
Pointer to the Draw Style submenu.
Hmenu mainPopup
Pointer to the root of the popup menu.
Hmenu hClientPopup
Popup menu provided by a client (i.e.
virtual void hide()
This hides the component.
SoCallbackList popupPreCallback
The callbacks in this list are invoked immediately prior to display of the popup menu,...
SoWidget getAppPushButtonParent() const
Returns application push button parent.
int lengthAppPushButton()
Returns number of application push buttons.
SoStereoDialog * getStereoDialog()
SbBool isClientPopupMenuInstalled()
Returns TRUE if an application-specific popup menu is installed.
virtual void setCamera(SoCamera *cam)
Sets the camera that will be controlled by the viewer.
SoWidget getRenderAreaWidget()
Returns the render area window handle.
void addAppPushButton(SoWidget newButton)
Adds application push button, which will be placed in the left hand side decoration trim.
Hmenu funcPopup
Pointer to the Functions submenu.
void setStereoDialog(SoStereoDialog *newDialog)
void setPopupMenuEnabled(SbBool trueOrFalse)
Enables/disables the viewer popup menu (default enabled).
int findAppPushButton(SoWidget oldButton)
Returns index of specified push button.
virtual void setViewing(SbBool onOrOff)
Sets whether the viewer is turned on or off.
static SbBool isDoButtonBar()
Returns whether the buttonbar is enabled or disabled.
BuildFlag
This specifies what should be build by default in the constructor.
@ BUILD_POPUP
Build the popup menu only.
@ BUILD_DECORATION
Build the decoration only.
@ BUILD_NONE
Doesn't build anything extra.
@ BUILD_ALL
Build everything by default.
SoCallbackList popupPostCallback
The callbacks in this list will be invoked after the action selected from the viewer popup has been p...
SbBool isPopupMenuEnabled()
Returns whether the viewer popup menu is enabled or disabled.
void insertAppPushButton(SoWidget newButton, int index)
Adds application push button, which will be placed in the left hand side decoration trim.
static void setDoButtonBar(SbBool onOrOff)
Create the next instance of fullviewer w/wo the buttonbar.
Hmenu rootPopup
Pointer to the popup menu container.
Hmenu prefPopup
Pointer to the Preferences submenu.
void addRedrawAppButtonCallback(RedrawAppButtonCB *cb, void *data=NULL)
void addPushAppButtonCallback(PushAppButtonCB *cb, void *data=NULL)
void setDecoration(SbBool onOrOff)
Shows/hides the viewer component trim (default on).
<a href="IconLegend.html"><img src="extTGS.gif" alt="VSG extension" border="0"></a> Viewer component...
Type
An EDITOR viewer will create a camera under the user supplied scene graph (specified in setSceneGraph...