Geant4-11
G4OpenGLXmFourArrowButtons.cc
Go to the documentation of this file.
1//
2// ********************************************************************
3// * License and Disclaimer *
4// * *
5// * The Geant4 software is copyright of the Copyright Holders of *
6// * the Geant4 Collaboration. It is provided under the terms and *
7// * conditions of the Geant4 Software License, included in the file *
8// * LICENSE and available at http://cern.ch/geant4/license . These *
9// * include a list of copyright holders. *
10// * *
11// * Neither the authors of this software system, nor their employing *
12// * institutes,nor the agencies providing financial support for this *
13// * work make any representation or warranty, express or implied, *
14// * regarding this software system or assume any liability for its *
15// * use. Please see the license in the file LICENSE and URL above *
16// * for the full disclaimer and the limitation of liability. *
17// * *
18// * This code implementation is the result of the scientific and *
19// * technical work of the GEANT4 collaboration. *
20// * By using, copying, modifying or distributing the software (or *
21// * any work based on the software) you agree to acknowledge its *
22// * use in resulting scientific publications, and indicate your *
23// * acceptance of all terms of the Geant4 Software license. *
24// ********************************************************************
25//
26//
27//
28//Four arrow buttons class. Inherits from G4OpenGLXmVWidgetComponent
29
33#include <X11/Intrinsic.h>
34#include <Xm/Form.h>
35#include <Xm/ArrowBG.h>
36
37#include "globals.hh"
38
40: arrow_form(0)
41, arrow(0)
42, parent(0)
43{
44 callback = c;
45}
46
48{}
49
51{
52
53 pView = container->GetView ();
54 ProcesspView ();
55
56 parent = container->GetPointerToWidget ();
57
58 arrow_form = XtVaCreateManagedWidget
59 ("arrow_form",
60 xmFormWidgetClass,
61 *parent,
62 XmNfractionBase, 3,
63
64 XtNvisual, visual,
65 XtNdepth, depth,
66 XtNcolormap, cmap,
67 XtNborderColor, borcol,
68 XtNbackground, bgnd,
69
70 NULL);
71
72
74 arrow = XtVaCreateManagedWidget
75 ("up_arrow",
76 xmArrowButtonGadgetClass,
78
79 XmNtopAttachment, XmATTACH_POSITION,
80 XmNtopPosition, 0,
81
82 XmNbottomAttachment, XmATTACH_POSITION,
83 XmNbottomPosition, 1,
84
85 XmNleftAttachment, XmATTACH_POSITION,
86 XmNleftPosition, 1,
87
88 XmNrightAttachment, XmATTACH_POSITION,
89 XmNrightPosition, 2,
90
91 XmNarrowDirection, XmARROW_UP,
92 XmNuserData, True,
93 NULL);
94
95 XtAddCallbacks (arrow,
96 XmNactivateCallback,
97 callback[0]);
98
99 XtAddCallbacks (arrow,
100 XmNarmCallback,
101 callback[0]);
102
103 XtAddCallbacks (arrow,
104 XmNdisarmCallback,
105 callback[0]);
106
108 arrow = XtVaCreateManagedWidget
109 ("down_arrow",
110 xmArrowButtonGadgetClass,
112
113 XmNtopAttachment, XmATTACH_POSITION,
114 XmNtopPosition, 2,
115
116 XmNbottomAttachment, XmATTACH_POSITION,
117 XmNbottomPosition, 3,
118
119 XmNleftAttachment, XmATTACH_POSITION,
120 XmNleftPosition, 1,
121
122 XmNrightAttachment, XmATTACH_POSITION,
123 XmNrightPosition, 2,
124
125 XmNarrowDirection, XmARROW_DOWN,
126 XmNuserData, False,
127 NULL);
128
129 XtAddCallbacks (arrow,
130 XmNactivateCallback,
131 callback[1]);
132
133 XtAddCallbacks (arrow,
134 XmNarmCallback,
135 callback[1]);
136
137 XtAddCallbacks (arrow,
138 XmNdisarmCallback,
139 callback[1]);
140
142 arrow = XtVaCreateManagedWidget
143 ("left_arrow",
144 xmArrowButtonGadgetClass,
146
147 XmNtopAttachment, XmATTACH_POSITION,
148 XmNtopPosition, 1,
149
150 XmNbottomAttachment, XmATTACH_POSITION,
151 XmNbottomPosition, 2,
152
153 XmNleftAttachment, XmATTACH_POSITION,
154 XmNleftPosition, 0,
155
156 XmNrightAttachment, XmATTACH_POSITION,
157 XmNrightPosition, 1,
158
159 XmNarrowDirection, XmARROW_LEFT,
160 XmNuserData, False,
161 NULL);
162
163 XtAddCallbacks (arrow,
164 XmNactivateCallback,
165 callback[2]);
166
167 XtAddCallbacks (arrow,
168 XmNarmCallback,
169 callback[2]);
170
171 XtAddCallbacks (arrow,
172 XmNdisarmCallback,
173 callback[2]);
174
176 arrow = XtVaCreateManagedWidget
177 ("right_arrow",
178 xmArrowButtonGadgetClass,
180
181 XmNtopAttachment, XmATTACH_POSITION,
182 XmNtopPosition, 1,
183
184 XmNbottomAttachment, XmATTACH_POSITION,
185 XmNbottomPosition, 2,
186
187 XmNleftAttachment, XmATTACH_POSITION,
188 XmNleftPosition, 2,
189
190 XmNrightAttachment, XmATTACH_POSITION,
191 XmNrightPosition, 3,
192
193 XmNarrowDirection, XmARROW_RIGHT,
194 XmNuserData, True,
195 NULL);
196
197 XtAddCallbacks (arrow,
198 XmNactivateCallback,
199 callback[3]);
200
201 XtAddCallbacks (arrow,
202 XmNarmCallback,
203 callback[3]);
204
205 XtAddCallbacks (arrow,
206 XmNdisarmCallback,
207 callback[3]);
208
209}
210
212{
213 return parent;
214}
215
217{
218 return &arrow_form;
219}
void AddYourselfTo(G4OpenGLXmVWidgetContainer *)
G4OpenGLXmFourArrowButtons(XtCallbackRec **=NULL)
virtual Widget * GetPointerToWidget()=0