Geant4 Cross Reference |
>> 1 // This code implementation is the intellectual property of >> 2 // the GEANT4 collaboration. 1 // 3 // 2 // ******************************************* << 4 // By copying, distributing or modifying the Program (or any work 3 // * License and Disclaimer << 5 // based on the Program) you indicate your acceptance of this statement, 4 // * << 6 // and all its terms. 5 // * The Geant4 software is copyright of th << 6 // * the Geant4 Collaboration. It is provided << 7 // * conditions of the Geant4 Software License << 8 // * LICENSE and available at http://cern.ch/ << 9 // * include a list of copyright holders. << 10 // * << 11 // * Neither the authors of this software syst << 12 // * institutes,nor the agencies providing fin << 13 // * work make any representation or warran << 14 // * regarding this software system or assum << 15 // * use. Please see the license in the file << 16 // * for the full disclaimer and the limitatio << 17 // * << 18 // * This code implementation is the result << 19 // * technical work of the GEANT4 collaboratio << 20 // * By using, copying, modifying or distri << 21 // * any work based on the software) you ag << 22 // * use in resulting scientific publicati << 23 // * acceptance of all terms of the Geant4 Sof << 24 // ******************************************* << 25 // << 26 // 7 // >> 8 // $Id: G4OpenGLXmTopLevelShell.cc,v 1.3 1999/12/15 14:54:10 gunter Exp $ >> 9 // GEANT4 tag $Name: geant4-02-00 $ 27 // 10 // 28 //Top level shell class 11 //Top level shell class 29 12 30 #include "G4OpenGLXmViewer.hh" << 13 #ifdef G4VIS_BUILD_OPENGLXM_DRIVER >> 14 31 #include "G4OpenGLXmTopLevelShell.hh" 15 #include "G4OpenGLXmTopLevelShell.hh" 32 #include "G4OpenGLXmVWidgetContainer.hh" 16 #include "G4OpenGLXmVWidgetContainer.hh" 33 17 34 #include <Xm/Frame.h> << 35 #include <Xm/RowColumn.h> << 36 << 37 G4OpenGLXmTopLevelShell::G4OpenGLXmTopLevelShe 18 G4OpenGLXmTopLevelShell::G4OpenGLXmTopLevelShell (G4OpenGLXmViewer* v, 38 char* n) 19 char* n) 39 { 20 { 40 pView = v; 21 pView = v; 41 ProcesspView (); 22 ProcesspView (); 42 name = n; 23 name = n; 43 toplevel = XtVaCreatePopupShell 24 toplevel = XtVaCreatePopupShell 44 (name, 25 (name, 45 topLevelShellWidgetClass, 26 topLevelShellWidgetClass, 46 top, 27 top, 47 28 48 XtNiconName, name, 29 XtNiconName, name, 49 XtNtitle, name, 30 XtNtitle, name, 50 XmNdeleteResponse, XmDO_NOTHING, 31 XmNdeleteResponse, XmDO_NOTHING, 51 XmNisHomogeneous, False, 32 XmNisHomogeneous, False, 52 33 53 XtNvisual, visual, 34 XtNvisual, visual, 54 XtNdepth, depth, 35 XtNdepth, depth, 55 XtNcolormap, cmap, 36 XtNcolormap, cmap, 56 XtNborderColor, borcol, 37 XtNborderColor, borcol, 57 XtNbackground, bgnd, 38 XtNbackground, bgnd, 58 NULL); 39 NULL); 59 40 60 frame = XtVaCreateManagedWidget (name, 41 frame = XtVaCreateManagedWidget (name, 61 xmFrameWidgetClass, 42 xmFrameWidgetClass, 62 toplevel, 43 toplevel, 63 44 64 XtNvisual, visual, 45 XtNvisual, visual, 65 XtNdepth, depth, 46 XtNdepth, depth, 66 XtNcolormap, cmap, 47 XtNcolormap, cmap, 67 XtNborderColor, borcol, 48 XtNborderColor, borcol, 68 XtNbackground, bgnd, 49 XtNbackground, bgnd, 69 50 70 NULL); 51 NULL); 71 52 72 53 73 54 74 top_box = XtVaCreateManagedWidget (name, 55 top_box = XtVaCreateManagedWidget (name, 75 xmRowColumnWidgetClass, 56 xmRowColumnWidgetClass, 76 frame, 57 frame, 77 58 78 XmNadjustMargin, True, 59 XmNadjustMargin, True, 79 XmNisHomogeneous, False, 60 XmNisHomogeneous, False, 80 61 81 XtNvisual, visual, 62 XtNvisual, visual, 82 XtNdepth, depth, 63 XtNdepth, depth, 83 XtNcolormap, cmap, 64 XtNcolormap, cmap, 84 XtNborderColor, borcol, 65 XtNborderColor, borcol, 85 XtNbackground, bgnd, 66 XtNbackground, bgnd, 86 67 87 NULL); 68 NULL); 88 69 89 } 70 } 90 71 91 G4OpenGLXmTopLevelShell::~G4OpenGLXmTopLevelSh 72 G4OpenGLXmTopLevelShell::~G4OpenGLXmTopLevelShell () 92 { 73 { 93 XtDestroyWidget (toplevel); 74 XtDestroyWidget (toplevel); 94 } 75 } 95 76 96 void G4OpenGLXmTopLevelShell::AddChild (G4Open 77 void G4OpenGLXmTopLevelShell::AddChild (G4OpenGLXmVWidgetContainer* container) 97 { 78 { 98 container->AddYourselfTo (this); 79 container->AddYourselfTo (this); 99 } 80 } 100 81 101 void G4OpenGLXmTopLevelShell::Realize () 82 void G4OpenGLXmTopLevelShell::Realize () 102 { 83 { 103 Cardinal num_children; 84 Cardinal num_children; 104 XtVaGetValues (toplevel, 85 XtVaGetValues (toplevel, 105 XmNnumChildren, &num_children, 86 XmNnumChildren, &num_children, 106 NULL); 87 NULL); 107 // G4cout << name << " now parents " << num_c 88 // G4cout << name << " now parents " << num_children << " children." << G4endl; 108 XtManageChild (toplevel); 89 XtManageChild (toplevel); 109 XtRealizeWidget (toplevel); 90 XtRealizeWidget (toplevel); 110 XtPopup (toplevel, XtGrabNonexclusive); 91 XtPopup (toplevel, XtGrabNonexclusive); 111 } 92 } 112 93 113 Widget* G4OpenGLXmTopLevelShell::GetPointerToW 94 Widget* G4OpenGLXmTopLevelShell::GetPointerToWidget () 114 { 95 { 115 return &top_box; 96 return &top_box; 116 } 97 } 117 98 118 char* G4OpenGLXmTopLevelShell::GetName () 99 char* G4OpenGLXmTopLevelShell::GetName () 119 { 100 { 120 return name; 101 return name; 121 } 102 } >> 103 >> 104 #endif 122 105