/usr/include/root/TGTab.h is in libroot-gui-dev 5.34.14-1build1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 | // @(#)root/gui:$Id$
// Author: Fons Rademakers 13/01/98
/*************************************************************************
* Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
* All rights reserved. *
* *
* For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/
#ifndef ROOT_TGTab
#define ROOT_TGTab
//////////////////////////////////////////////////////////////////////////
// //
// TGTab, TGTabElement, TGTabLayout //
// //
// A tab widget contains a set of composite frames each with a little //
// tab with a name (like a set of folders with tabs). //
// //
// The TGTab is user callable. The TGTabElement and TGTabLayout are //
// is a service classes of the tab widget. //
// //
// Clicking on a tab will bring the associated composite frame to the //
// front and generate the following event: //
// kC_COMMAND, kCM_TAB, tab id, 0. //
// //
//////////////////////////////////////////////////////////////////////////
#ifndef ROOT_TGFrame
#include "TGFrame.h"
#endif
#ifndef ROOT_TGWidget
#include "TGWidget.h"
#endif
class TList;
class TGTabElement;
class TGTab;
class TGPicture;
class TGTabLayout : public TGLayoutManager {
protected:
TGTab *fMain; // container frame
TList *fList; // list of frames to arrange
private:
TGTabLayout(const TGTabLayout&); // not implemented
TGTabLayout& operator=(const TGTabLayout&); // not implemented
public:
TGTabLayout(TGTab *main);
virtual void Layout();
virtual TGDimension GetDefaultSize() const;
virtual void SavePrimitive(ostream &out, Option_t *option = "");
ClassDef(TGTabLayout,0) // Layout manager for TGTab widget
};
class TGTab : public TGCompositeFrame, public TGWidget {
protected:
Int_t fCurrent; // index of current tab
UInt_t fTabh; // tab height
TGCompositeFrame *fContainer; // main container
TList *fRemoved; // list of removed tabs
FontStruct_t fFontStruct; // font
GContext_t fNormGC; // drawing context
void ChangeTab(Int_t tabIndex, Bool_t emit=kTRUE);
static const TGFont *fgDefaultFont;
static const TGGC *fgDefaultGC;
private:
TGTab(const TGTab&); // not implemented
TGTab& operator=(const TGTab&); // not implemented
public:
static FontStruct_t GetDefaultFontStruct();
static const TGGC &GetDefaultGC();
TGTab(const TGWindow *p = 0, UInt_t w = 1, UInt_t h = 1,
GContext_t norm = GetDefaultGC()(),
FontStruct_t font = GetDefaultFontStruct(),
UInt_t options = kChildFrame,
Pixel_t back = GetDefaultFrameBackground());
virtual ~TGTab();
virtual TGCompositeFrame *AddTab(TGString *text);
virtual TGCompositeFrame *AddTab(const char *text);
virtual void AddTab(const char *text, TGCompositeFrame *cf);
virtual void AddTab(TGString *text, TGCompositeFrame *cf);
virtual void NewTab(const char *text = "tab"); // *MENU*icon=bld_newtab.png*
virtual void RemoveTab(Int_t tabIndex = -1,
Bool_t storeRemoved = kTRUE); // *MENU*icon=bld_removetab.png*
virtual Bool_t SetTab(Int_t tabIndex, Bool_t emit = kTRUE);
virtual Bool_t SetTab(const char *name, Bool_t emit = kTRUE);
virtual void DrawBorder() { }
TGCompositeFrame *GetContainer() const { return fContainer; }
Int_t GetCurrent() const { return fCurrent; }
TGCompositeFrame *GetTabContainer(Int_t tabIndex) const;
TGCompositeFrame *GetTabContainer(const char *name) const;
TGTabElement *GetTabTab(Int_t tabIndex) const;
TGTabElement *GetTabTab(const char *name) const;
TGCompositeFrame *GetCurrentContainer() const { return GetTabContainer(fCurrent); }
TGTabElement *GetCurrentTab() const { return GetTabTab(fCurrent); }
UInt_t GetTabHeight() const { return fTabh; }
Int_t GetNumberOfTabs() const;
virtual void SetEnabled(Int_t tabIndex, Bool_t on = kTRUE); //*MENU*
virtual void SetText(const char *text = "tab"); //*MENU*icon=bld_rename.png*
Bool_t IsEnabled(Int_t tabIndex) const;
virtual void SavePrimitive(ostream &out, Option_t *option = "");
virtual void CloseTab(Int_t id) { Emit("CloseTab(Int_t)", id); } //*SIGNAL*
virtual void Removed(Int_t id) { Emit("Removed(Int_t)", id); } //*SIGNAL*
virtual void Selected(Int_t id) { Emit("Selected(Int_t)", id); } //*SIGNAL*
virtual TGLayoutManager *GetLayoutManager() const;
ClassDef(TGTab,0) // Tab widget
};
class TGTabElement : public TGFrame {
protected:
TGString *fText; // text on tab
const TGPicture *fClosePic; // "close tab" icon
const TGPicture *fClosePicD; // "close tab" icon (disabled)
GContext_t fNormGC; // graphics context for drawing tab
FontStruct_t fFontStruct; // font used for tab
UInt_t fTWidth; // width of tab text
UInt_t fTHeight; // height of tab text
Bool_t fEnabled; // enabled or disabled
Bool_t fShowClose; // show or hide close icon
Bool_t fActive; // true if active (in front)
private:
TGTabElement(const TGTabElement&); // not implemented
TGTabElement& operator=(const TGTabElement&); // not implemented
public:
TGTabElement(const TGWindow *p = 0, TGString *text = 0, UInt_t w = 1, UInt_t h = 1,
GContext_t norm = TGTab::GetDefaultGC()(),
FontStruct_t font = TGTab::GetDefaultFontStruct(),
UInt_t options = kRaisedFrame,
Pixel_t back = GetDefaultFrameBackground());
virtual ~TGTabElement();
virtual void DrawBorder();
virtual TGDimension GetDefaultSize() const;
const TGString *GetText() const { return fText; }
const char *GetString() const { return fText->GetString(); }
virtual Bool_t HandleButton(Event_t *event);
void SetText(TGString *text);
virtual void SetEnabled(Bool_t on = kTRUE) { fEnabled = on; }
Bool_t IsEnabled() const { return fEnabled; }
virtual void SetEditDisabled(UInt_t) {}
virtual void ShowClose(Bool_t on = kTRUE);
Bool_t IsCloseShown() const { return fShowClose; }
virtual void SetActive(Bool_t on = kTRUE) { fActive = on; }
Bool_t IsActive() const { return fActive; }
ClassDef(TGTabElement,0) // Little tab on tab widget
};
#endif
|