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...