ROOT logo
// $Id: WGlButton.cxx 2088 2008-11-23 20:26:46Z matevz $

// Copyright (C) 1999-2008, Matevz Tadel. All rights reserved.
// This file is part of GLED, released under GNU General Public License version 2.
// For the licensing terms see $GLEDSYS/LICENSE or http://www.gnu.org/.

#include "WGlButton.h"
#include "WGlButton.c7"

//==============================================================================
// WGlButton
//==============================================================================

//__________________________________________________________________________
//
// A button that sends MIRs as callbacks.
//
// There are three options for setting of user data:
// a) mCbackBeta   - a lens that will be sent as beta of the MIR;
// b) mCbackValue  - an int
// c) mCbackString - a string
//
// b) and c) are streamed into the argument part of the MIR as if the
// function signature is foo(<lens-args>, Int_t, const TString&). Thus,
// it is OK to have bar(<lens-args>, Int_t) but to access the string,
// both must be decalred in the callback method.
//
// Maybe b) and c) should be optional, but they are now as well, in a
// more pragmatic sense.

ClassImp(WGlButton);

/**************************************************************************/

void WGlButton::_init()
{
  mCbackMethodInfo = 0;
  mCbackValue      = 0;
}

/**************************************************************************/

GledNS::MethodInfo* WGlButton::GetCbackMethodInfo()
{
  if(mCbackMethodInfo == 0)
    mCbackMethodInfo = GledNS::DeduceMethodInfo(*mCbackAlpha, mCbackMethodName.Data());
  return mCbackMethodInfo;
}

/**************************************************************************/

void WGlButton::MenuEnter()
{
  mParent->RnrOffForDaughters();
  SetRnrElements(true);
}

void WGlButton::MenuExit()
{
  SetRnrElements(false);
  mParent->RnrOnForDaughters();
}

/**************************************************************************/

#include <Gled/Gled.h>

void WGlButton::ExitGled()
{
  Gled::theOne->Exit();
}
 WGlButton.cxx:1
 WGlButton.cxx:2
 WGlButton.cxx:3
 WGlButton.cxx:4
 WGlButton.cxx:5
 WGlButton.cxx:6
 WGlButton.cxx:7
 WGlButton.cxx:8
 WGlButton.cxx:9
 WGlButton.cxx:10
 WGlButton.cxx:11
 WGlButton.cxx:12
 WGlButton.cxx:13
 WGlButton.cxx:14
 WGlButton.cxx:15
 WGlButton.cxx:16
 WGlButton.cxx:17
 WGlButton.cxx:18
 WGlButton.cxx:19
 WGlButton.cxx:20
 WGlButton.cxx:21
 WGlButton.cxx:22
 WGlButton.cxx:23
 WGlButton.cxx:24
 WGlButton.cxx:25
 WGlButton.cxx:26
 WGlButton.cxx:27
 WGlButton.cxx:28
 WGlButton.cxx:29
 WGlButton.cxx:30
 WGlButton.cxx:31
 WGlButton.cxx:32
 WGlButton.cxx:33
 WGlButton.cxx:34
 WGlButton.cxx:35
 WGlButton.cxx:36
 WGlButton.cxx:37
 WGlButton.cxx:38
 WGlButton.cxx:39
 WGlButton.cxx:40
 WGlButton.cxx:41
 WGlButton.cxx:42
 WGlButton.cxx:43
 WGlButton.cxx:44
 WGlButton.cxx:45
 WGlButton.cxx:46
 WGlButton.cxx:47
 WGlButton.cxx:48
 WGlButton.cxx:49
 WGlButton.cxx:50
 WGlButton.cxx:51
 WGlButton.cxx:52
 WGlButton.cxx:53
 WGlButton.cxx:54
 WGlButton.cxx:55
 WGlButton.cxx:56
 WGlButton.cxx:57
 WGlButton.cxx:58
 WGlButton.cxx:59
 WGlButton.cxx:60
 WGlButton.cxx:61
 WGlButton.cxx:62
 WGlButton.cxx:63
 WGlButton.cxx:64
 WGlButton.cxx:65
 WGlButton.cxx:66
 WGlButton.cxx:67
 WGlButton.cxx:68
 WGlButton.cxx:69
 WGlButton.cxx:70
 WGlButton.cxx:71