~ubuntu-branches/ubuntu/oneiric/soqt/oneiric

« back to all changes in this revision

Viewing changes to build/msvc6/src/Inventor/Qt/viewers/SoGuiFullViewerP.h

  • Committer: Bazaar Package Importer
  • Author(s): Steve M. Robbins
  • Date: 2009-03-01 11:41:00 UTC
  • mfrom: (1.1.4 upstream) (5.1.1 sid)
  • Revision ID: james.westby@ubuntu.com-20090301114100-f4zz3n1oasa52fgk
Tags: 1.4.2~svn20090224-2
* Upload upstream SVN head version containing fixes to build with Coin 3
  (Closes: #515729, #515736, #515742).  Upstream indicated to me that
  SVN is stable enough to release.

* control: Update Standards-Version to 3.8.0; no changes required.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
#ifndef SOGUIFULLVIEWERP_H
2
 
#define SOGUIFULLVIEWERP_H
3
 
 
4
 
/**************************************************************************\
5
 
 *
6
 
 *  This file is part of the Coin 3D visualization library.
7
 
 *  Copyright (C) 1998-2005 by Systems in Motion.  All rights reserved.
8
 
 *
9
 
 *  This library is free software; you can redistribute it and/or
10
 
 *  modify it under the terms of the GNU General Public License
11
 
 *  ("GPL") version 2 as published by the Free Software Foundation.
12
 
 *  See the file LICENSE.GPL at the root directory of this source
13
 
 *  distribution for additional information about the GNU GPL.
14
 
 *
15
 
 *  For using Coin with software that can not be combined with the GNU
16
 
 *  GPL, and for taking advantage of the additional benefits of our
17
 
 *  support services, please contact Systems in Motion about acquiring
18
 
 *  a Coin Professional Edition License.
19
 
 *
20
 
 *  See <URL:http://www.coin3d.org/> for more information.
21
 
 *
22
 
 *  Systems in Motion, Postboks 1283, Pirsenteret, 7462 Trondheim, NORWAY.
23
 
 *  <URL:http://www.sim.no/>.
24
 
 *
25
 
\**************************************************************************/
26
 
 
27
 
#ifndef SOQT_INTERNAL
28
 
#error this is a private header file
29
 
#endif /* !SOQT_INTERNAL */
30
 
 
31
 
#include <Inventor/SbString.h>
32
 
#include <Inventor/Qt/viewers/SoQtViewer.h>
33
 
 
34
 
class SoQtFullViewer;
35
 
 
36
 
// ************************************************************************
37
 
 
38
 
// This class contains private data and methods used within the
39
 
// SoGuiFullViewer class.
40
 
 
41
 
class SoGuiFullViewerP
42
 
{
43
 
public:
44
 
  ~SoGuiFullViewerP();
45
 
 
46
 
  enum SoQtFullViewerPopupMenuItem {
47
 
    // FIXME: there's code in (some of) the popupmenu widgets which
48
 
    // assumes the root id is equal to 0.  Yup, lousy design. :-/
49
 
    // Anyway, don't change it until those cases are fixed.
50
 
    // 20010810 mortene.
51
 
    ROOT_MENU = 0,
52
 
      ROOT_MENU_TITLE,
53
 
 
54
 
      FUNCTIONS_MENU,
55
 
      HOME_ITEM,
56
 
      SET_HOME_ITEM,
57
 
      VIEW_ALL_ITEM,
58
 
      SEEK_ITEM,
59
 
 
60
 
      DRAWSTYLES_MENU,
61
 
      DRAWSTYLES_STILL_MENU,
62
 
      AS_IS_ITEM,
63
 
      HIDDEN_LINE_ITEM,
64
 
      WIREFRAME_OVERLAY_ITEM,
65
 
      NO_TEXTURE_ITEM,
66
 
      LOW_RESOLUTION_ITEM,
67
 
      WIREFRAME_ITEM,
68
 
      POINTS_ITEM,
69
 
      BOUNDING_BOX_ITEM,
70
 
 
71
 
      DRAWSTYLES_ANIMATING_MENU,
72
 
      MOVE_SAME_AS_STILL_ITEM,
73
 
      MOVE_NO_TEXTURE_ITEM,
74
 
      MOVE_LOW_RES_ITEM,
75
 
      MOVE_WIREFRAME_ITEM,
76
 
      MOVE_LOW_RES_WIREFRAME_ITEM,
77
 
      MOVE_POINTS_ITEM,
78
 
      MOVE_LOW_RES_POINTS_ITEM,
79
 
      MOVE_BOUNDING_BOX_ITEM,
80
 
 
81
 
      TRANSPARENCY_TYPE_MENU,
82
 
      SCREEN_DOOR_TRANSPARENCY_ITEM,
83
 
      ADD_TRANSPARENCY_ITEM,
84
 
      DELAYED_ADD_TRANSPARENCY_ITEM,
85
 
      SORTED_OBJECT_ADD_TRANSPARENCY_ITEM,
86
 
      BLEND_TRANSPARENCY_ITEM,
87
 
      DELAYED_BLEND_TRANSPARENCY_ITEM,
88
 
      SORTED_OBJECT_BLEND_TRANSPARENCY_ITEM,
89
 
      // These are Coin extensions.
90
 
      SORTED_OBJECT_SORTED_TRIANGLE_ADD_TRANSPARENCY_ITEM,
91
 
      SORTED_OBJECT_SORTED_TRIANGLE_BLEND_TRANSPARENCY_ITEM,
92
 
      SORTED_LAYERS_BLEND_ITEM,
93
 
      NONE_TRANSPARENCY_ITEM,
94
 
 
95
 
      RENDER_BUFFER_TYPE_MENU,
96
 
      SINGLE_BUFFER_ITEM,
97
 
      DOUBLE_BUFFER_ITEM,
98
 
      INTERACTIVE_BUFFER_ITEM,
99
 
 
100
 
      EXAMINING_ITEM,
101
 
      DECORATION_ITEM,
102
 
      HEADLIGHT_ITEM,
103
 
      FULLSCREEN_ITEM,
104
 
 
105
 
      STEREO_MENU,
106
 
        STEREO_OFF_ITEM,
107
 
        STEREO_ANAGLYPH_ITEM,
108
 
        STEREO_QUADBUFFER_ITEM,
109
 
        STEREO_INTERLEAVED_ROWS_ITEM,
110
 
        STEREO_INTERLEAVED_COLUMNS_ITEM
111
 
      };
112
 
 
113
 
  enum SoQtViewerPopupMenuRadioGroup {
114
 
    STILL_GROUP = 1,
115
 
      MOVE_GROUP,
116
 
      TRANSPARENCY_GROUP,
117
 
      BUFFER_GROUP,
118
 
      STEREO_GROUP
119
 
      };
120
 
 
121
 
  class SoQtPopupMenu * setupStandardPopupMenu(void);
122
 
  void prepareMenu(class SoQtPopupMenu * menu);
123
 
  void menuSelection(int menuitemid);
124
 
  static void menuSelectionCallback(int menuitemid, void * userdata);
125
 
  SbString popupmenutitle;
126
 
 
127
 
  void setDrawStyleMenuActivation(SoQtViewer::DrawType type,
128
 
                                  SoQtViewer::DrawStyle value);
129
 
  void drawstyleActivated(int menuitemid);
130
 
 
131
 
  static void pan(SoCamera * cam,
132
 
                  float aspectratio, const SbPlane & panplane,
133
 
                  const SbVec2f & currpos, const SbVec2f & prevpos);
134
 
  static void zoom(SoCamera * cam, const float diffvalue);
135
 
 
136
 
protected:
137
 
  SoGuiFullViewerP(SoQtFullViewer * publ);
138
 
  SoQtFullViewer * pub;
139
 
};
140
 
 
141
 
// ************************************************************************
142
 
 
143
 
#endif // ! SOGUIFULLVIEWERP_H