00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031 #ifdef G4VIS_BUILD_OPENGLXM_DRIVER
00032
00033 #include "G4OpenGLXmVWidgetComponent.hh"
00034 #include "G4OpenGLXmVWidgetContainer.hh"
00035 #include "G4OpenGLXmPushButton.hh"
00036 #include <X11/Intrinsic.h>
00037 #include <Xm/PushB.h>
00038
00039 #include "globals.hh"
00040
00041 G4OpenGLXmPushButton::G4OpenGLXmPushButton (const char* n,
00042 XtCallbackRec* c)
00043 {
00044 name = n;
00045 callback = c;
00046 }
00047
00048 G4OpenGLXmPushButton::~G4OpenGLXmPushButton ()
00049 {}
00050
00051 void G4OpenGLXmPushButton::SetName (const char* n)
00052 {
00053 name = n;
00054 XmString button_string = XmStringCreateLocalized ((char*)name);
00055 XtVaSetValues (button,
00056 XmNlabelString, button_string,
00057 NULL);
00058 XmStringFree (button_string);
00059 }
00060
00061 const char* G4OpenGLXmPushButton::GetName ()
00062 {
00063 return name;
00064 }
00065
00066 void G4OpenGLXmPushButton::AddYourselfTo (G4OpenGLXmVWidgetContainer* container)
00067 {
00068
00069 pView = container->GetView ();
00070 ProcesspView ();
00071 parent = container->GetPointerToWidget ();
00072
00073 XmString button_str = XmStringCreateLocalized ((char*)name);
00074 button = XtVaCreateManagedWidget
00075 (name,
00076 xmPushButtonWidgetClass,
00077 *parent,
00078 XmNlabelString, button_str,
00079 XmNalignment, XmALIGNMENT_CENTER,
00080 XmNuserData, pView,
00081
00082 XtNvisual, visual,
00083 XtNdepth, depth,
00084 XtNcolormap, cmap,
00085 XtNborderColor, borcol,
00086 XtNbackground, bgnd,
00087
00088 NULL);
00089
00090 XtAddCallbacks (button,
00091 XmNarmCallback,
00092 callback);
00093
00094 XmStringFree (button_str);
00095 }
00096
00097 Widget* G4OpenGLXmPushButton::GetPointerToParent ()
00098 {
00099 return parent;
00100 }
00101
00102 Widget* G4OpenGLXmPushButton::GetPointerToWidget ()
00103 {
00104 return &button;
00105 }
00106
00107 #endif
00108
00109