1
#ifndef SOGUIFULLVIEWERP_H
2
#define SOGUIFULLVIEWERP_H
4
/**************************************************************************\
6
* This file is part of the Coin 3D visualization library.
7
* Copyright (C) 1998-2005 by Systems in Motion. All rights reserved.
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.
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.
20
* See <URL:http://www.coin3d.org/> for more information.
22
* Systems in Motion, Postboks 1283, Pirsenteret, 7462 Trondheim, NORWAY.
23
* <URL:http://www.sim.no/>.
25
\**************************************************************************/
28
#error this is a private header file
29
#endif /* !SOQT_INTERNAL */
31
#include <Inventor/SbString.h>
32
#include <Inventor/Qt/viewers/SoQtViewer.h>
36
// ************************************************************************
38
// This class contains private data and methods used within the
39
// SoGuiFullViewer class.
41
class SoGuiFullViewerP
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.
61
DRAWSTYLES_STILL_MENU,
64
WIREFRAME_OVERLAY_ITEM,
71
DRAWSTYLES_ANIMATING_MENU,
72
MOVE_SAME_AS_STILL_ITEM,
76
MOVE_LOW_RES_WIREFRAME_ITEM,
78
MOVE_LOW_RES_POINTS_ITEM,
79
MOVE_BOUNDING_BOX_ITEM,
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,
95
RENDER_BUFFER_TYPE_MENU,
98
INTERACTIVE_BUFFER_ITEM,
107
STEREO_ANAGLYPH_ITEM,
108
STEREO_QUADBUFFER_ITEM,
109
STEREO_INTERLEAVED_ROWS_ITEM,
110
STEREO_INTERLEAVED_COLUMNS_ITEM
113
enum SoQtViewerPopupMenuRadioGroup {
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;
127
void setDrawStyleMenuActivation(SoQtViewer::DrawType type,
128
SoQtViewer::DrawStyle value);
129
void drawstyleActivated(int menuitemid);
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);
137
SoGuiFullViewerP(SoQtFullViewer * publ);
138
SoQtFullViewer * pub;
141
// ************************************************************************
143
#endif // ! SOGUIFULLVIEWERP_H