51#include "RConfigure.h" 
   72   gROOT->GetListOfCleanups()->Add(
this);
 
   82   gROOT->GetListOfCleanups()->Remove(
this);
 
  111   int    xx, yy, topx = 0, topy = 0;
 
  128      parent = 
dynamic_cast<TGWindow *
>(pad->GetCanvasImp());
 
  130      parent = 
dynamic_cast<TGWindow *
>(pad->GetCanvasImp());
 
  132      parent = 
dynamic_cast<TGWindow *
>(browser->GetBrowserImp());
 
  159   if ((opt_ptr=cmd.
Index(
"*MENU={"))   != 
kNPOS ||
 
  165      option = cmd(start,end - start);
 
  171      while((obj = iter())) {
 
  176            if (tend == 
kNPOS) 
continue;
 
  177            hierarchy = token(tstart,tend - tstart);
 
  189      last_component = obj->
GetName();
 
  213            last_component = obj->
GetName();
 
  234             strcmp(
ptr2->GetName(), 
s)<0 )) { }
 
  254   TList *menuItemList = 
object->IsA()->GetMenuList();
 
  257   TIter nextItem(menuItemList);
 
  274               object->IsA()->GetMenuItems(methodList);
 
  278               TIter next(methodList);
 
  281               while ((method = (
TMethod*) next())) {
 
  282                  if (classPtr != method->
GetClass()) {
 
  296                        if (needSep && currentMenu == 
this) {
 
  308                           if (
m->GetterMethod()) {
 
  310                              if (needSep && currentMenu == 
this) {
 
  314                              if (last_component.
Length()) {
 
  315                                 currentMenu->
AddPopup(last_component, 
r);
 
  320                              TIter nxt(
m->GetOptions());
 
  331                                 r->AddEntry(
name, togglelist++, t);
 
  333                                    r->CheckEntry(togglelist-1);
 
  336                              if (needSep && currentMenu == 
this) {
 
  353                           if (needSep && currentMenu == 
this) {
 
  371               const char* menuItemTitle = menuItem->
GetTitle();
 
  381                     if (strlen(menuItemTitle)==0) menuItemTitle = method->
GetName();
 
  382                     AddEntry(menuItemTitle, toggle++, t);
 
  386                  if (strlen(menuItemTitle)==0) menuItemTitle = menuItem->
GetFunctionName();
 
  387                  AddEntry(menuItemTitle,userfunction++,menuItem);
 
  420   else selfobjpos = -1;
 
  451      if (selfobjpos != argpos) {
 
  455         const char *charstar   = 
"char*";
 
  463               Warning(
"Dialog", 
"data type is not basic type, assuming (int)");
 
  464            strlcpy(basictype, 
"int", 32);
 
  467         if (strchr(argname, 
'*')) {
 
  468            strlcat(basictype, 
"*",32);
 
  469            if (!strncmp(
type, 
"char", 4) || !strncmp(
type, 
"Option_t", 8))
 
  471            else if (strstr(argname, 
"[default:")) {
 
  480         if (
m && 
object && 
m->GetterMethod(object->IsA())) {
 
  486            if (!strncmp(basictype, 
"char*", 5)) {
 
  488               m->GetterMethod()->Execute(
object, 
"", &tdefval);
 
  489               strlcpy(val, tdefval, 
sizeof(val));
 
  490            } 
else if (!strncmp(basictype, 
"float", 5) ||
 
  491                       !strncmp(basictype, 
"double", 6)) {
 
  493               m->GetterMethod()->Execute(
object, 
"", ddefval);
 
  495            } 
else if (!strncmp(basictype, 
"char", 4) ||
 
  496                       !strncmp(basictype, 
"bool", 4) ||
 
  497                       !strncmp(basictype, 
"int", 3)  ||
 
  498                       !strncmp(basictype, 
"long", 4) ||
 
  499                       !strncmp(basictype, 
"short", 5)) {
 
  501               m->GetterMethod()->Execute(
object, 
"", ldefval);
 
  509            if ((opt = 
m->GetOptions())) {
 
  510               Warning(
"Dialog", 
"option menu not yet implemented");
 
  512               TMotifOptionMenu *o= 
new TMotifOptionMenu(argname);
 
  519                  if (value != -9999) {
 
  522                     o->AddItem(
name, val);
 
  524                     o->AddItem(
name, label);
 
  537            if (tval && strlen(tval)) {
 
  539               strlcpy(val, tval + (tval[0] == 
'"' ? 1 : 0), 
sizeof(val));
 
  540               if (val[strlen(val)-1] == 
'"')
 
  541                  val[strlen(val)-1]= 0;
 
  558   static int max_ascent = 0, max_descent = 0;
 
  563      if (max_ascent == 0) {
 
  566      offset = (entry->
GetEh() - (max_ascent + max_descent)) / 2;
 
  567      ty = entry->
GetEy() + max_ascent + offset - 1;
 
  625   static int toggle = 0;
 
  629   if (handCur == 
kNone)
 
  631   if (rightCur == 
kNone)
 
  635      gVirtualX->ChangeActivePointerGrab(
fId, mask, rightCur);
 
  649         gVirtualX->ChangeActivePointerGrab(
fId, mask, rightCur);
 
  676         TMethod *method = obj->IsA()->GetMethodAllAny(smeth.
Data());
 
const Mask_t kButtonPressMask
const Mask_t kPointerMotionMask
const Mask_t kButtonReleaseMask
Using a TBrowser one can browse all ROOT objects.
The ROOT global object gROOT contains a list of all defined classes.
Long_t Property() const
Set TObject::fBits and fStreamerType to cache information about the class.
static TClass * GetClass(const char *name, Bool_t load=kTRUE, Bool_t silent=kFALSE)
Static method returning pointer to TClass of the specified class name.
All ROOT classes may have RTTI (run time type identification) support added.
Basic data type descriptor (datatype information is obtained from CINT).
TString GetTypeName()
Get basic type of typedef, e,g.
virtual Int_t GetValue(const char *name, Int_t dflt) const
Returns the integer value for a resource.
Global functions class (global functions are obtained from CINT).
Bool_t IsEditable() const
TGWindow * GetWindowById(Window_t sw) const
Find a TGWindow via its handle. If window is not found return 0.
void AddInput(UInt_t emask)
Add events specified in the emask to the events the frame should handle.
virtual UInt_t GetDefaultWidth() const
virtual UInt_t GetDefaultHeight() const
virtual void Resize(UInt_t w=0, UInt_t h=0)
Resize the frame.
virtual void Add(TObject *obj)
virtual TObject * Last() const
Return the last object in the list. Returns 0 when list is empty.
virtual void Delete(Option_t *option="")
Remove all objects from the list AND delete all heap based objects.
Each ROOT method (see TMethod) has a linked list of its arguments.
const char * GetDefault() const
Get default value of method argument.
const char * GetTypeName() const
Get type of method argument, e.g.
TDataMember * GetDataMember() const
Returns TDataMember pointed by this methodarg.
Method or function calling interface.
TFunction * GetMethod()
Returns the TMethod describing the method to be executed.
Each ROOT class (see TClass) has a linked list of methods.
virtual const char * GetCommentString()
Returns a comment string from the class declaration.
virtual TDataMember * FindDataMember()
Tries to guess DataMember from comment string and Method's name <==(only if 1 Argument!...
TClass * GetClass() const
EMenuItemKind IsMenuItem() const
virtual const char * GetName() const
Returns name of object.
Monitors objects for deletion and reflects the deletion by reverting the internal pointer to zero.
TObject * GetObject() const
void SetObject(TObject *obj, Bool_t fixMustCleanupBit=kTRUE)
Set obj as the spy target.
Mother of all ROOT objects.
virtual const char * GetName() const
Returns name of object.
virtual const char * ClassName() const
Returns name of class to which the object belongs.
virtual void Warning(const char *method, const char *msgfmt,...) const
Issue warning message.
Long_t fValue
Data member to which this option belongs.
virtual void Add(const char *argname, const char *value, const char *type)
Add a label and text input field.
virtual const char * GetParameters()
Get parameter string (called by contextmenu after OK or Apply has been selected).
virtual void Popup()
Popup dialog.
int CompareTo(const char *cs, ECaseCompare cmp=kExact) const
Compare a string to char *cs2.
Bool_t EndsWith(const char *pat, ECaseCompare cmp=kExact) const
Return true if string ends with the specified string.
const char * Data() const
Ssiz_t Last(char c) const
Find last occurrence of a character c.
TObjArray * Tokenize(const TString &delim) const
This function is used to isolate sequential tokens in a TString.
TString & Remove(Ssiz_t pos)
static TString Format(const char *fmt,...)
Static method which formats a string using a printf style format descriptor and return a TString.
Ssiz_t Index(const char *pat, Ssiz_t i=0, ECaseCompare cmp=kExact) const
This class defines toggling facility for both - object's method or variables.
virtual void SetOnValue(Long_t lon)
TMethodCall * GetSetter() const
virtual void SetToggledObject(TObject *obj, TMethod *anymethod)
Initializes it to toggle an object's datamember using this object's method.
virtual void SetState(Bool_t state)
Sets the value of toggle to fOnValue or fOffValue according to passed argument.
virtual Bool_t GetState()
Returns the state of Toggle according to its current value and fOnValue, returns true if they match.
TVirtualPad is an abstract base class for the Pad and Canvas classes.
virtual Int_t GetCanvasID() const =0
void function(const Char_t *name_, T fun, const Char_t *docstring=0)
static constexpr double s