Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/visualization/OpenGL/src/G4OpenGLXmTextField.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 ]

Diff markup

Differences between /visualization/OpenGL/src/G4OpenGLXmTextField.cc (Version 11.3.0) and /visualization/OpenGL/src/G4OpenGLXmTextField.cc (Version 10.7.p3)


  1 //                                                  1 //
  2 // *******************************************      2 // ********************************************************************
  3 // * License and Disclaimer                         3 // * License and Disclaimer                                           *
  4 // *                                                4 // *                                                                  *
  5 // * The  Geant4 software  is  copyright of th      5 // * The  Geant4 software  is  copyright of the Copyright Holders  of *
  6 // * the Geant4 Collaboration.  It is provided      6 // * the Geant4 Collaboration.  It is provided  under  the terms  and *
  7 // * conditions of the Geant4 Software License      7 // * conditions of the Geant4 Software License,  included in the file *
  8 // * LICENSE and available at  http://cern.ch/      8 // * LICENSE and available at  http://cern.ch/geant4/license .  These *
  9 // * include a list of copyright holders.           9 // * include a list of copyright holders.                             *
 10 // *                                               10 // *                                                                  *
 11 // * Neither the authors of this software syst     11 // * Neither the authors of this software system, nor their employing *
 12 // * institutes,nor the agencies providing fin     12 // * institutes,nor the agencies providing financial support for this *
 13 // * work  make  any representation or  warran     13 // * work  make  any representation or  warranty, express or implied, *
 14 // * regarding  this  software system or assum     14 // * regarding  this  software system or assume any liability for its *
 15 // * use.  Please see the license in the file      15 // * use.  Please see the license in the file  LICENSE  and URL above *
 16 // * for the full disclaimer and the limitatio     16 // * for the full disclaimer and the limitation of liability.         *
 17 // *                                               17 // *                                                                  *
 18 // * This  code  implementation is the result      18 // * This  code  implementation is the result of  the  scientific and *
 19 // * technical work of the GEANT4 collaboratio     19 // * technical work of the GEANT4 collaboration.                      *
 20 // * By using,  copying,  modifying or  distri     20 // * By using,  copying,  modifying or  distributing the software (or *
 21 // * any work based  on the software)  you  ag     21 // * any work based  on the software)  you  agree  to acknowledge its *
 22 // * use  in  resulting  scientific  publicati     22 // * use  in  resulting  scientific  publications,  and indicate your *
 23 // * acceptance of all terms of the Geant4 Sof     23 // * acceptance of all terms of the Geant4 Software license.          *
 24 // *******************************************     24 // ********************************************************************
 25 //                                                 25 //
 26 //                                                 26 //
 27 //                                                 27 //
 28 //Text field class. Inherits from G4OpenGLXmVW     28 //Text field class. Inherits from G4OpenGLXmVWidgetComponent
 29                                                    29 
                                                   >>  30 #ifdef G4VIS_BUILD_OPENGLXM_DRIVER
                                                   >>  31 
 30 #include "G4OpenGLXmViewer.hh"                     32 #include "G4OpenGLXmViewer.hh"
 31 #include "G4OpenGLXmVWidgetComponent.hh"           33 #include "G4OpenGLXmVWidgetComponent.hh"
 32 #include "G4OpenGLXmVWidgetContainer.hh"           34 #include "G4OpenGLXmVWidgetContainer.hh"
 33 #include "G4OpenGLXmTextField.hh"                  35 #include "G4OpenGLXmTextField.hh"
 34                                                    36 
 35 #include <X11/Intrinsic.h>                         37 #include <X11/Intrinsic.h>
 36 #include <Xm/Label.h>                              38 #include <Xm/Label.h>
 37 #include <Xm/TextF.h>                              39 #include <Xm/TextF.h>
 38                                                    40 
 39 #include "globals.hh"                              41 #include "globals.hh"
 40                                                    42 
 41 G4OpenGLXmTextField::G4OpenGLXmTextField (cons     43 G4OpenGLXmTextField::G4OpenGLXmTextField (const char* n,
 42             G4double* val)                         44             G4double* val)
 43 : text_label(0)                                    45 : text_label(0)
 44 , text_field(0)                                    46 , text_field(0)
 45 , parent(0)                                        47 , parent(0)
 46 {                                                  48 {
 47   name = n;                                        49   name = n;
 48   initial = new char[50];                          50   initial = new char[50];
 49   snprintf (initial, 50, "%6.2f", *val);       <<  51   sprintf (initial, "%6.2f", *val);
 50   value = (void*)val;                              52   value = (void*)val;
 51   text=false;                                      53   text=false;
 52 }                                                  54 }
 53                                                    55 
 54 G4OpenGLXmTextField::G4OpenGLXmTextField (cons     56 G4OpenGLXmTextField::G4OpenGLXmTextField (const char* n,
 55             const char* val)                       57             const char* val)
 56 : text_label(0)                                    58 : text_label(0)
 57 , text_field(0)                                    59 , text_field(0)
 58 , parent(0)                                        60 , parent(0)
 59 {                                                  61 {
 60   name = n;                                        62   name = n;
 61   initial = new char[50];                          63   initial = new char[50];
 62   snprintf (initial, 50, "%s", val);           <<  64   sprintf (initial, "%s", val);
 63   value = (void*)val;                              65   value = (void*)val;
 64   text=true;                                       66   text=true;
 65   //  strcpy (initial, val);                       67   //  strcpy (initial, val);
 66 }                                                  68 }
 67                                                    69 
 68 G4OpenGLXmTextField::~G4OpenGLXmTextField ()       70 G4OpenGLXmTextField::~G4OpenGLXmTextField ()
 69 {                                                  71 {
 70   delete[] initial;                                72   delete[] initial;
 71 }                                                  73 }
 72                                                    74 
 73 void G4OpenGLXmTextField::SetName (const char*     75 void G4OpenGLXmTextField::SetName (const char* n) 
 74 {                                                  76 {
 75   name = n;                                        77   name = n;
 76   XmString text_string = XmStringCreateLocaliz     78   XmString text_string = XmStringCreateLocalized ((char*)name);
 77   XtVaSetValues (text_label,                       79   XtVaSetValues (text_label,
 78      XmNlabelString, text_string,                  80      XmNlabelString, text_string,
 79      NULL);                                        81      NULL);
 80   XmStringFree (text_string);                      82   XmStringFree (text_string);
 81 }                                                  83 }
 82                                                    84 
 83 const char* G4OpenGLXmTextField::GetName ()        85 const char* G4OpenGLXmTextField::GetName () 
 84 {                                                  86 {
 85   return name;                                     87   return name;
 86 }                                                  88 }
 87                                                    89 
 88 void G4OpenGLXmTextField::SetValue (G4double v     90 void G4OpenGLXmTextField::SetValue (G4double val)
 89 {                                                  91 {
 90   snprintf (initial, 50, "%6.2f", val);        <<  92   sprintf (initial, "%6.2f", val);
 91                                                    93   
 92   XtVaSetValues (text_field,                       94   XtVaSetValues (text_field,
 93      XmNvalue, (String)initial,                    95      XmNvalue, (String)initial,
 94      NULL);                                        96      NULL);
 95                                                    97   
 96 }                                                  98 }
 97                                                    99 
 98 void G4OpenGLXmTextField::SetValue (const char    100 void G4OpenGLXmTextField::SetValue (const char* val)
 99 {                                                 101 {
100   snprintf (initial, 50, "%s", val);           << 102   sprintf (initial, "%s", val);
101   //  strcpy (initial, val);                      103   //  strcpy (initial, val);
102                                                   104 
103   XtVaSetValues (text_field,                      105   XtVaSetValues (text_field,
104      XmNvalue, (String)initial,                   106      XmNvalue, (String)initial,
105      NULL);                                       107      NULL);
106                                                   108   
107 }                                                 109 }
108                                                   110 
109 const char* G4OpenGLXmTextField::GetValue ()      111 const char* G4OpenGLXmTextField::GetValue ()
110 {                                                 112 {
111   return initial;                                 113   return initial;
112 }                                                 114 }
113                                                   115 
114 void G4OpenGLXmTextField::AddYourselfTo (G4Ope    116 void G4OpenGLXmTextField::AddYourselfTo (G4OpenGLXmVWidgetContainer* container)
115 {                                                 117 {
116                                                   118 
117   pView = container->GetView ();                  119   pView = container->GetView ();
118   ProcesspView ();                                120   ProcesspView ();
119   parent = container->GetPointerToWidget ();      121   parent = container->GetPointerToWidget ();
120                                                   122 
121   char local_w_text[50];                          123   char local_w_text[50];
122   strcpy (local_w_text, name);                    124   strcpy (local_w_text, name);
123                                                   125 
124   char label_name[50];                            126   char label_name[50];
125   strcpy (label_name, name);                      127   strcpy (label_name, name);
126   strcat (label_name, "_label");                  128   strcat (label_name, "_label");
127                                                   129   
128   char text_field_name[50];                       130   char text_field_name[50];
129   strcpy (text_field_name, name);                 131   strcpy (text_field_name, name);
130   strcat (text_field_name, "_text_field");        132   strcat (text_field_name, "_text_field");
131                                                   133   
132   XmString local_text = XmStringCreateLocalize    134   XmString local_text = XmStringCreateLocalized (local_w_text);
133   text_label = XtVaCreateManagedWidget (label_    135   text_label = XtVaCreateManagedWidget (label_name, 
134           xmLabelWidgetClass,                     136           xmLabelWidgetClass,
135           *parent,                                137           *parent,
136                                                   138 
137           XmNlabelString, local_text,             139           XmNlabelString, local_text,
138                                                   140           
139           XtNvisual, visual,                      141           XtNvisual, visual, 
140           XtNdepth, depth,                        142           XtNdepth, depth, 
141           XtNcolormap, cmap,                      143           XtNcolormap, cmap, 
142           XtNborderColor, borcol,                 144           XtNborderColor, borcol,
143           XtNbackground, bgnd,                    145           XtNbackground, bgnd,
144                                                   146           
145           NULL);                                  147           NULL);
146   XmStringFree (local_text);                      148   XmStringFree (local_text);
147                                                   149 
148   text_field = XtVaCreateManagedWidget (text_f    150   text_field = XtVaCreateManagedWidget (text_field_name,
149           xmTextFieldWidgetClass,                 151           xmTextFieldWidgetClass,
150           *parent,                                152           *parent,
151                                                   153 
152           XmNvalue, (String)initial,              154           XmNvalue, (String)initial, 
153                                                   155           
154           XtNvisual, visual,                      156           XtNvisual, visual, 
155           XtNdepth, depth,                        157           XtNdepth, depth, 
156           XtNcolormap, cmap,                      158           XtNcolormap, cmap, 
157           XtNborderColor, borcol,                 159           XtNborderColor, borcol,
158           XtNbackground, bgnd,                    160           XtNbackground, bgnd,
159                                                   161           
160           NULL);                                  162           NULL);
161                                                   163 
162   if (!text) {                                    164   if (!text) {
163     XtAddCallback (text_field,                    165     XtAddCallback (text_field, 
164        XmNvalueChangedCallback,                   166        XmNvalueChangedCallback,
165        G4OpenGLXmViewer::get_double_value_call    167        G4OpenGLXmViewer::get_double_value_callback,
166        value);                                    168        value);
167   } else {                                        169   } else {
168     XtAddCallback (text_field,                    170     XtAddCallback (text_field, 
169        XmNvalueChangedCallback,                   171        XmNvalueChangedCallback,
170        G4OpenGLXmViewer::get_text_callback,       172        G4OpenGLXmViewer::get_text_callback,
171        value);                                    173        value);
172   }                                               174   }
173 }                                                 175 }
174                                                   176 
175 Widget* G4OpenGLXmTextField::GetPointerToParen    177 Widget* G4OpenGLXmTextField::GetPointerToParent ()
176 {                                                 178 {
177   return parent;                                  179   return parent;
178 }                                                 180 }
179                                                   181 
180 Widget* G4OpenGLXmTextField::GetPointerToWidge    182 Widget* G4OpenGLXmTextField::GetPointerToWidget () 
181 {                                                 183 {
182   return &text_field;                             184   return &text_field;
183 }                                                 185 }
                                                   >> 186 
                                                   >> 187 #endif
184                                                   188