Geant4 9.6.0
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
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// $Id$
28//
29//Four arrow buttons class. Inherits from G4OpenGLXmVWidgetComponent
30
31#ifdef G4VIS_BUILD_OPENGLXM_DRIVER
32
36#include <X11/Intrinsic.h>
37#include <Xm/Form.h>
38#include <Xm/ArrowBG.h>
39
40#include "globals.hh"
41
42G4OpenGLXmFourArrowButtons::G4OpenGLXmFourArrowButtons (XtCallbackRec** c)
43{
44 callback = c;
45}
46
47G4OpenGLXmFourArrowButtons::~G4OpenGLXmFourArrowButtons ()
48{}
49
50void G4OpenGLXmFourArrowButtons::AddYourselfTo (G4OpenGLXmVWidgetContainer* container)
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
73///////////////`up' arrow///////////////
74 arrow = XtVaCreateManagedWidget
75 ("up_arrow",
76 xmArrowButtonGadgetClass,
77 arrow_form,
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
107///////////////`down' arrow///////////////
108 arrow = XtVaCreateManagedWidget
109 ("down_arrow",
110 xmArrowButtonGadgetClass,
111 arrow_form,
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
141///////////////`left' arrow///////////////
142 arrow = XtVaCreateManagedWidget
143 ("left_arrow",
144 xmArrowButtonGadgetClass,
145 arrow_form,
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
175///////////////`right' arrow///////////////
176 arrow = XtVaCreateManagedWidget
177 ("right_arrow",
178 xmArrowButtonGadgetClass,
179 arrow_form,
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
211Widget* G4OpenGLXmFourArrowButtons::GetPointerToParent ()
212{
213 return parent;
214}
215
216Widget* G4OpenGLXmFourArrowButtons::GetPointerToWidget ()
217{
218 return &arrow_form;
219}
220
221#endif