/usr/include/root/TGDockableFrame.h is in libroot-gui-dev 5.34.19+dfsg-1.2.
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 | // @(#)root/gui:$Id$
// Author: Abdelhalim Ssadik 07/07/04
/*************************************************************************
* Copyright (C) 1995-2004, 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_TGDockableFrame
#define ROOT_TGDockableFrame
//////////////////////////////////////////////////////////////////////////
// //
// A TGDockableFrame is a frame with handles that allow it to be //
// undocked (i.e. put in a transient frame of its own) and to be docked //
// again or hidden and shown again. It uses the TGDockButton, which is //
// a button with two vertical bars (||) and TGDockHideButton, which is //
// a button with a small triangle. The TGUndockedFrame is a transient //
// frame that on closure will put the frame back in the dock. //
// //
//////////////////////////////////////////////////////////////////////////
#ifndef ROOT_TGFrame
#include "TGFrame.h"
#endif
#ifndef ROOT_TGWidget
#include "TGWidget.h"
#endif
#ifndef ROOT_TGButton
#include "TGButton.h"
#endif
#ifndef ROOT_TGWindow
#include "TGWindow.h"
#endif
class TGDockableFrame;
class TGDockButton : public TGButton {
protected:
Bool_t fMouseOn; // true when mouse on button
ULong_t fNormBg; // normal background color
ULong_t fHiBg; // highlighted background color
virtual void DrawBorder();
virtual void DoRedraw();
public:
TGDockButton(const TGCompositeFrame *p = 0, Int_t id = 1);
virtual ~TGDockButton();
virtual Bool_t HandleCrossing(Event_t *event);
ClassDef(TGDockButton,0) // Dock button
};
class TGDockHideButton : public TGDockButton {
protected:
Int_t fAspectRatio; // triangle orientation
virtual void DoRedraw();
public:
TGDockHideButton(const TGCompositeFrame *p = 0);
void SetAspectRatio(Int_t a) { fAspectRatio = a; DoRedraw(); }
ClassDef(TGDockHideButton,0) // Hide dock button
};
class TGUndockedFrame : public TGTransientFrame {
private:
TGUndockedFrame(const TGUndockedFrame&); // Not implemented
TGUndockedFrame& operator=(const TGUndockedFrame&); // Not implemented
protected:
TGDockableFrame *fDockable; // orignal dockable frame
public:
TGUndockedFrame(const TGWindow *p = 0, TGDockableFrame *dockable = 0);
virtual ~TGUndockedFrame();
void FixSize();
void CloseWindow();
ClassDef(TGUndockedFrame,0) // Undocked frame
};
class TGDockableFrame : public TGCompositeFrame, public TGWidget {
friend class TGUndockedFrame;
private:
TGDockableFrame(const TGDockableFrame&); // Not implemented
TGDockableFrame& operator=(const TGDockableFrame&); // Not implemented
protected:
Bool_t fHidden; // if frame is hidden
Bool_t fEnableHide; // if frame can be hidden
Bool_t fEnableUndock; // if frame can be undocked
Bool_t fDeleted; // kTRUE if it is being deleted
Bool_t fFixedSize; // kTRUE if fixed size when undocked
TString fDockName; // name of frame
TGCompositeFrame *fContainer; // container containing dockable frame
TGCompositeFrame *fButtons; // container containing dock and hide buttons
TGDockButton *fDockButton; // dock button
TGDockHideButton *fHideButton; // hide button
TGUndockedFrame *fFrame; // undocked frame
TGLayoutHints *fCl, *fHints; // layout hints
TGLayoutHints *fLb, *fLc; // layout hints
public:
TGDockableFrame(const TGWindow *p = 0, Int_t id = -1,
UInt_t options = kHorizontalFrame);
virtual ~TGDockableFrame();
virtual void AddFrame(TGFrame *f, TGLayoutHints *hints);
virtual Bool_t ProcessMessage(Long_t, Long_t, Long_t);
virtual void Docked() { Emit("Docked()"); } //*SIGNAL*
virtual void Undocked() { Emit("Undocked()"); } //*SIGNAL*
void UndockContainer();
void DockContainer(Int_t del = kTRUE);
void HideContainer();
void ShowContainer();
void EnableUndock(Bool_t onoff);
Bool_t EnableUndock() const { return fEnableUndock; }
void EnableHide(Bool_t onoff);
Bool_t EnableHide() const { return fEnableHide; }
void SetWindowName(const char *name);
Bool_t IsUndocked() const { return (fFrame != 0); }
Bool_t IsHidden() const { return fHidden; }
Bool_t IsFixedSize() const { return fFixedSize; }
void SetFixedSize(Bool_t fixed) { fFixedSize = fixed; }
TGCompositeFrame *GetContainer() const { return fContainer; }
TGUndockedFrame *GetUndocked() const { return fFrame; }
virtual void SavePrimitive(ostream &out, Option_t *option = "");
ClassDef(TGDockableFrame,0) // Dockable widget
};
#endif
|