Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/visualization/OpenGL/src/G4OpenGLXmFourArrowButtons.cc

Version: [ ReleaseNotes ] [ 1.0 ] [ 1.1 ] [ 2.0 ] [ 3.0 ] [ 3.1 ] [ 3.2 ] [ 4.0 ] [ 4.0.p1 ] [ 4.0.p2 ] [ 4.1 ] [ 4.1.p1 ] [ 5.0 ] [ 5.0.p1 ] [ 5.1 ] [ 5.1.p1 ] [ 5.2 ] [ 5.2.p1 ] [ 5.2.p2 ] [ 6.0 ] [ 6.0.p1 ] [ 6.1 ] [ 6.2 ] [ 6.2.p1 ] [ 6.2.p2 ] [ 7.0 ] [ 7.0.p1 ] [ 7.1 ] [ 7.1.p1 ] [ 8.0 ] [ 8.0.p1 ] [ 8.1 ] [ 8.1.p1 ] [ 8.1.p2 ] [ 8.2 ] [ 8.2.p1 ] [ 8.3 ] [ 8.3.p1 ] [ 8.3.p2 ] [ 9.0 ] [ 9.0.p1 ] [ 9.0.p2 ] [ 9.1 ] [ 9.1.p1 ] [ 9.1.p2 ] [ 9.1.p3 ] [ 9.2 ] [ 9.2.p1 ] [ 9.2.p2 ] [ 9.2.p3 ] [ 9.2.p4 ] [ 9.3 ] [ 9.3.p1 ] [ 9.3.p2 ] [ 9.4 ] [ 9.4.p1 ] [ 9.4.p2 ] [ 9.4.p3 ] [ 9.4.p4 ] [ 9.5 ] [ 9.5.p1 ] [ 9.5.p2 ] [ 9.6 ] [ 9.6.p1 ] [ 9.6.p2 ] [ 9.6.p3 ] [ 9.6.p4 ] [ 10.0 ] [ 10.0.p1 ] [ 10.0.p2 ] [ 10.0.p3 ] [ 10.0.p4 ] [ 10.1 ] [ 10.1.p1 ] [ 10.1.p2 ] [ 10.1.p3 ] [ 10.2 ] [ 10.2.p1 ] [ 10.2.p2 ] [ 10.2.p3 ] [ 10.3 ] [ 10.3.p1 ] [ 10.3.p2 ] [ 10.3.p3 ] [ 10.4 ] [ 10.4.p1 ] [ 10.4.p2 ] [ 10.4.p3 ] [ 10.5 ] [ 10.5.p1 ] [ 10.6 ] [ 10.6.p1 ] [ 10.6.p2 ] [ 10.6.p3 ] [ 10.7 ] [ 10.7.p1 ] [ 10.7.p2 ] [ 10.7.p3 ] [ 10.7.p4 ] [ 11.0 ] [ 11.0.p1 ] [ 11.0.p2 ] [ 11.0.p3, ] [ 11.0.p4 ] [ 11.1 ] [ 11.1.1 ] [ 11.1.2 ] [ 11.1.3 ] [ 11.2 ] [ 11.2.1 ] [ 11.2.2 ] [ 11.3.0 ]

  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 
 30 #include "G4OpenGLXmVWidgetComponent.hh"
 31 #include "G4OpenGLXmVWidgetContainer.hh"
 32 #include "G4OpenGLXmFourArrowButtons.hh"
 33 #include <X11/Intrinsic.h>
 34 #include <Xm/Form.h>
 35 #include <Xm/ArrowBG.h>
 36 
 37 #include "globals.hh"
 38 
 39 G4OpenGLXmFourArrowButtons::G4OpenGLXmFourArrowButtons (XtCallbackRec** c)
 40 : arrow_form(0)
 41 , arrow(0)
 42 , parent(0)
 43 {
 44   callback = c;
 45 }
 46 
 47 G4OpenGLXmFourArrowButtons::~G4OpenGLXmFourArrowButtons ()
 48 {}
 49 
 50 void 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 
211 Widget* G4OpenGLXmFourArrowButtons::GetPointerToParent ()
212 {
213   return parent;
214 }
215 
216 Widget* G4OpenGLXmFourArrowButtons::GetPointerToWidget () 
217 {
218   return &arrow_form;
219 }
220