Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
TControlBarButton.cxx
Go to the documentation of this file.
1// @(#)root/gpad:$Id$
2// Author: Nenad Buncic 20/02/96
3
4/*************************************************************************
5 * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
6 * All rights reserved. *
7 * *
8 * For the licensing terms see $ROOTSYS/LICENSE. *
9 * For the list of contributors see $ROOTSYS/README/CREDITS. *
10 *************************************************************************/
11
12/** \class TControlBarButton
13\ingroup gpad
14This class defines the control bar buttons
15
16Created by the TControlBar. Not for general consumption.
17*/
18
19#include "TControlBarButton.h"
20#include "TVirtualPad.h"
21#include "TError.h"
22#include "TApplication.h"
23
24#include <cctype>
25
26const char *kBStr = "BUTTON";
27const char *kDStr = "DRAWNBUTTON";
28const char *kSStr = "SEPARATOR";
29
30
32
33////////////////////////////////////////////////////////////////////////////////
34/// Default control bar button ctor.
35
40
41////////////////////////////////////////////////////////////////////////////////
42/// Create control bar button.
43
44TControlBarButton::TControlBarButton(const char *label, const char *action,
45 const char *hint, const char *type)
46 : TNamed(label, hint)
47{
49 SetAction(action);
50}
51
52////////////////////////////////////////////////////////////////////////////////
53/// Execute control bar button command.
54
56{
57 if (!fAction.IsNull()) {
58
59 gApplication->ProcessLine(fAction.Data());
60
61 if (gPad) gPad->Update();
62 }
63}
64
65////////////////////////////////////////////////////////////////////////////////
66/// Set action to be executed by this button.
67
68void TControlBarButton::SetAction(const char *action)
69{
70 if (action) {
71 char *s = Strip(action);
72 fAction = s;
73 delete [] s;
74 } else
75 Error("SetAction", "action missing");
76}
77
78
79////////////////////////////////////////////////////////////////////////////////
80/// Set button type. Type can be either "button", "drawnbutton" or
81/// "separator". String is case insensitive. Default is "button".
82
84{
85 fType = kButton;
86
87 if (type && *type) {
88 if (!strcasecmp(type, kBStr))
89 fType = kButton;
90 else if (!strcasecmp(type, kDStr))
92 else if (!strcasecmp(type, kSStr))
94 else
95 Error("SetType", "unknown type '%s' !\n\t(choice of: %s, %s, %s)",
97 }
98}
99
100////////////////////////////////////////////////////////////////////////////////
101/// Set button type. Type can be either kButton, kDrawnButton or kSeparator.
102/// Default is kButton.
103
105{
106 switch (type) {
107
108 case kButton:
109 case kDrawnButton:
110 case kSeparator:
111 fType = type;
112 break;
113
114 default:
115 fType = kButton;
116 Error("SetType", "unknown type: %d !\n\t(choice of: %d, %d, %d)",
118 }
119}
int Int_t
Definition RtypesCore.h:45
#define ClassImp(name)
Definition Rtypes.h:377
R__EXTERN TApplication * gApplication
const char * kBStr
const char * kDStr
const char * kSStr
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h Atom_t Int_t ULong_t ULong_t unsigned char prop_list Atom_t Atom_t Atom_t Time_t type
char * Strip(const char *str, char c=' ')
Strip leading and trailing c (blanks by default) from a string.
Definition TString.cxx:2521
#define gPad
This class defines the control bar buttons.
virtual void SetType(const char *type)
Set button type.
virtual void SetAction(const char *action)
Set action to be executed by this button.
Int_t fType
button type
TControlBarButton()
Default control bar button ctor.
TString fAction
action to be executed
virtual void Action()
Execute control bar button command.
TNamed()
Definition TNamed.h:36
virtual void Error(const char *method, const char *msgfmt,...) const
Issue error message.
Definition TObject.cxx:987