1 /**************************************************************************\
2  *
3  *  This file is part of the Coin 3D visualization library.
4  *  Copyright (C) by Kongsberg Oil & Gas Technologies.
5  *
6  *  This library is free software; you can redistribute it and/or
7  *  modify it under the terms of the GNU General Public License
8  *  ("GPL") version 2 as published by the Free Software Foundation.
9  *  See the file LICENSE.GPL at the root directory of this source
10  *  distribution for additional information about the GNU GPL.
11  *
12  *  For using Coin with software that can not be combined with the GNU
13  *  GPL, and for taking advantage of the additional benefits of our
14  *  support services, please contact Kongsberg Oil & Gas Technologies
15  *  about acquiring a Coin Professional Edition License.
16  *
17  *  See http://www.coin3d.org/ for more information.
18  *
19  *  Kongsberg Oil & Gas Technologies, Bygdoy Alle 5, 0257 Oslo, NORWAY.
20  *  http://www.sim.no/  sales@sim.no  coin-support@coin3d.org
21  *
22 \**************************************************************************/
23 
24 #ifndef SOXTFULLVIEWERP_H
25 #define SOXTFULLVIEWERP_H
26 
27 #include <Inventor/SbBasic.h>
28 #include <Inventor/Xt/viewers/SoGuiFullViewerP.h>
29 
30 class SoXtFullViewer;
31 
32 // ************************************************************************
33 
34 // This class contains private data and methods used within the
35 // SoXtFullViewer class.
36 
37 class SoXtFullViewerP : public SoGuiFullViewerP
38 {
39 public:
40   SoXtFullViewerP(SoXtFullViewer * publ);
41   ~SoXtFullViewerP();
42 
43   static void setThumbWheelValue(void * wheel, float val);
44 
45   static void leftWheelStartCB(Widget, XtPointer, XtPointer);
46   static void leftWheelMotionCB(Widget, XtPointer, XtPointer);
47   static void leftWheelFinishCB(Widget, XtPointer, XtPointer);
48 
49   static void bottomWheelStartCB(Widget, XtPointer, XtPointer);
50   static void bottomWheelMotionCB(Widget, XtPointer, XtPointer);
51   static void bottomWheelFinishCB(Widget, XtPointer, XtPointer);
52 
53   static void rightWheelStartCB(Widget, XtPointer, XtPointer);
54   static void rightWheelMotionCB(Widget, XtPointer, XtPointer);
55   static void rightWheelFinishCB(Widget, XtPointer, XtPointer);
56 
57   void selectedViewing(void);
58   void selectedDecoration(void);
59   void selectedHeadlight(void);
60 
61   static void interactbuttonCB(Widget, XtPointer, XtPointer);
62   static void examinebuttonCB(Widget, XtPointer, XtPointer);
63   static void homebuttonCB(Widget, XtPointer, XtPointer);
64   static void sethomebuttonCB(Widget, XtPointer, XtPointer);
65   static void viewallbuttonCB(Widget, XtPointer, XtPointer);
66   static void seekbuttonCB(Widget, XtPointer, XtPointer);
67 
68   void seekbuttonClicked(void);
69 
70   static void increaseInteractiveCountCB(Widget, XtPointer, XtPointer);
71   static void decreaseInteractiveCountCB(Widget, XtPointer, XtPointer);
72 
73   Widget incspeedbutton, decspeedbutton;
74   static void speedIncCB(Widget, XtPointer, XtPointer);
75   static void speedDecCB(Widget, XtPointer, XtPointer);
76 
77   SbBool decorations;
78 
79   Widget viewerbase, canvas;
80 
81   Widget mainlayout;
82   void showDecorationWidgets(SbBool enable);
83 
84   Widget buildAppButtonsForm(Widget parent);
85   Widget appButtonsForm;
86   SbPList * appButtonsList;
87   void resetAppPushButtons(void);
88   void layoutAppPushButtons(void);
89 
90   Widget viewerButtonsForm;
91 
92   struct {
93     Widget pick, view, home, set_home, view_all, seek;
94   } viewerbuttons;
95 
96   struct {
97     Pixmap pick, pick_ins;
98     Pixmap view, view_ins;
99     Pixmap home, home_ins;
100     Pixmap set_home, set_home_ins;
101     Pixmap view_all, view_all_ins;
102     Pixmap seek, seek_ins;
103   } pixmaps;
104 
105   struct {
106     Widget leftwheel, bottomwheel, rightwheel;
107   } labels;
108 };
109 
110 // ************************************************************************
111 
112 #endif // ! SOXTFULLVIEWERP_H
113