Coin Logo http://www.sim.no
http://www.coin3d.org

SoQtExaminerViewer.h

00001 /**************************************************************************\
00002  *
00003  *  This file is part of the Coin 3D visualization library.
00004  *  Copyright (C) 1998-2005 by Systems in Motion.  All rights reserved.
00005  *
00006  *  This library is free software; you can redistribute it and/or
00007  *  modify it under the terms of the GNU General Public License
00008  *  ("GPL") version 2 as published by the Free Software Foundation.
00009  *  See the file LICENSE.GPL at the root directory of this source
00010  *  distribution for additional information about the GNU GPL.
00011  *
00012  *  For using Coin with software that can not be combined with the GNU
00013  *  GPL, and for taking advantage of the additional benefits of our
00014  *  support services, please contact Systems in Motion about acquiring
00015  *  a Coin Professional Edition License.
00016  *
00017  *  See <URL:http://www.coin3d.org/> for more information.
00018  *
00019  *  Systems in Motion, Postboks 1283, Pirsenteret, 7462 Trondheim, NORWAY.
00020  *  <URL:http://www.sim.no/>.
00021  *
00022 \**************************************************************************/
00023 
00024 #ifndef SOQT_EXAMINERVIEWER_H
00025 #define SOQT_EXAMINERVIEWER_H
00026 
00027 #include <Inventor/SbLinear.h>
00028 #include <Inventor/Qt/viewers/SoQtFullViewer.h>
00029 
00030 class SoSeparator;
00031 class SoSwitch;
00032 class SoTranslation;
00033 class SoScale;
00034 
00035 class SoQtThumbWheel;
00036 
00037 // *************************************************************************
00038 
00039 class SOQT_DLL_API SoQtExaminerViewer : public SoQtFullViewer {
00040   SOQT_OBJECT_HEADER(SoQtExaminerViewer, SoQtFullViewer);
00041 
00042 public:
00043   SoQtExaminerViewer(QWidget * parent = NULL,
00044                         const char * name = NULL,
00045                         SbBool embed = TRUE,
00046                         SoQtFullViewer::BuildFlag flag = BUILD_ALL,
00047                         SoQtViewer::Type type = BROWSER);
00048   ~SoQtExaminerViewer();
00049 
00050   void setAnimationEnabled(const SbBool enable);
00051   SbBool isAnimationEnabled(void) const;
00052 
00053   void stopAnimating(void);
00054   SbBool isAnimating(void) const;
00055 
00056   void setFeedbackVisibility(const SbBool enable);
00057   SbBool isFeedbackVisible(void) const;
00058 
00059   void setFeedbackSize(const int size);
00060   int getFeedbackSize(void) const;
00061 
00062   virtual void setViewing(SbBool enable);
00063   virtual void setCamera(SoCamera * camera);
00064   virtual void setCursorEnabled(SbBool enable);
00065 
00066 protected:
00067   SoQtExaminerViewer(QWidget * parent,
00068                         const char * name,
00069                         SbBool embed,
00070                         SoQtFullViewer::BuildFlag flag,
00071                         SoQtViewer::Type type,
00072                         SbBool build);
00073 
00074   virtual void leftWheelMotion(float val);
00075   virtual void bottomWheelMotion(float val);
00076   virtual void rightWheelMotion(float val);
00077 
00078   virtual void createViewerButtons(QWidget * parent, SbPList * buttonlist);
00079 
00080   virtual const char * getDefaultWidgetName(void) const;
00081   virtual const char * getDefaultTitle(void) const;
00082   virtual const char * getDefaultIconTitle(void) const;
00083 
00084   virtual SbBool processSoEvent(const SoEvent * const event);
00085   virtual void setSeekMode(SbBool enable);
00086   virtual void actualRedraw(void);
00087 
00088   virtual void afterRealizeHook(void);
00089 
00090 private:
00091   class SoQtExaminerViewerP * pimpl;
00092 
00093   friend class SoGuiExaminerViewerP;
00094   friend class SoQtExaminerViewerP;
00095 };
00096 
00097 #endif // ! SOQT_EXAMINERVIEWER_H

Copyright © 1998-2005 by Systems in Motion AS. All rights reserved.

Generated on Mon Mar 27 00:38:51 2006 for SoQt by Doxygen. 1.4.6