G4OpenGLXmRadioButton.cc

Go to the documentation of this file.
00001 //
00002 // ********************************************************************
00003 // * License and Disclaimer                                           *
00004 // *                                                                  *
00005 // * The  Geant4 software  is  copyright of the Copyright Holders  of *
00006 // * the Geant4 Collaboration.  It is provided  under  the terms  and *
00007 // * conditions of the Geant4 Software License,  included in the file *
00008 // * LICENSE and available at  http://cern.ch/geant4/license .  These *
00009 // * include a list of copyright holders.                             *
00010 // *                                                                  *
00011 // * Neither the authors of this software system, nor their employing *
00012 // * institutes,nor the agencies providing financial support for this *
00013 // * work  make  any representation or  warranty, express or implied, *
00014 // * regarding  this  software system or assume any liability for its *
00015 // * use.  Please see the license in the file  LICENSE  and URL above *
00016 // * for the full disclaimer and the limitation of liability.         *
00017 // *                                                                  *
00018 // * This  code  implementation is the result of  the  scientific and *
00019 // * technical work of the GEANT4 collaboration.                      *
00020 // * By using,  copying,  modifying or  distributing the software (or *
00021 // * any work based  on the software)  you  agree  to acknowledge its *
00022 // * use  in  resulting  scientific  publications,  and indicate your *
00023 // * acceptance of all terms of the Geant4 Software license.          *
00024 // ********************************************************************
00025 //
00026 //
00027 // $Id$
00028 //
00029 //Radio button class. Inherits from G4OpenGLXmVWidgetComponent
00030 
00031 #ifdef G4VIS_BUILD_OPENGLXM_DRIVER
00032 
00033 #include "G4OpenGLXmVWidgetComponent.hh"
00034 #include "G4OpenGLXmVWidgetContainer.hh"
00035 #include "G4OpenGLXmRadioButton.hh"
00036 #include <X11/Intrinsic.h>
00037 #include <Xm/ToggleB.h>
00038 
00039 #include "globals.hh"
00040 
00041 G4OpenGLXmRadioButton::G4OpenGLXmRadioButton (const char* n,
00042                                               XtCallbackRec* c,
00043                                               G4bool d,
00044                                               G4int num) 
00045 {
00046   name = n;
00047   callback = c;
00048   default_button = d;
00049   number = num;
00050 }
00051 
00052 G4OpenGLXmRadioButton::~G4OpenGLXmRadioButton ()
00053 {}
00054 
00055 void G4OpenGLXmRadioButton::SetName (const char* n) 
00056 {
00057   name = n;
00058   XmString button_string = XmStringCreateLocalized ((char*)name);
00059   XtVaSetValues (button,
00060                  XmNlabelString, button_string,
00061                  NULL);
00062   XmStringFree (button_string);
00063 }
00064 
00065 const char* G4OpenGLXmRadioButton::GetName () 
00066 {
00067   return name;
00068 }
00069 
00070 void G4OpenGLXmRadioButton::AddYourselfTo (G4OpenGLXmVWidgetContainer* container)
00071 {
00072 
00073   pView = container->GetView ();
00074   ProcesspView ();
00075   parent = container->GetPointerToWidget ();
00076   XmString button_string = XmStringCreateLocalized ((char*)name);
00077   button = XtVaCreateManagedWidget (name,
00078                                     xmToggleButtonWidgetClass,
00079                                     *parent,
00080                                     
00081                                     XmNlabelString, button_string,
00082                                     XmNset, default_button,
00083                                     XmNuserData, number,
00084                                     
00085                                     XtNvisual, visual,
00086                                     XtNdepth, depth,
00087                                     XtNcolormap, cmap,
00088                                     XtNborderColor, borcol,
00089                                     XtNbackground, bgnd,
00090                                     
00091                                     NULL);
00092   
00093   XtAddCallbacks (button,
00094                   XmNarmCallback,
00095                   callback);
00096 
00097   XmStringFree (button_string);
00098 }
00099 
00100 Widget* G4OpenGLXmRadioButton::GetPointerToParent ()
00101 {
00102   return parent;
00103 }
00104 
00105 Widget* G4OpenGLXmRadioButton::GetPointerToWidget () 
00106 {
00107   return &button;
00108 }
00109 
00110 #endif

Generated on Mon May 27 17:49:11 2013 for Geant4 by  doxygen 1.4.7