139 if (
fList->IsEmpty())
148 Int_t frameLength = 0;
156 sumFrames += frameLength;
164 Int_t remain = nflen-sumFrames;
209 if (el->
fFrame == splitter)
230 s->
Connect(
"Moved(Int_t)",
"TGPack",
this,
"HandleSplitterResize(Int_t)");
231 s->
Connect(
"DragStarted()",
"TGPack",
this,
"HandleSplitterStart()");
334 printf(
"--------------------------------------------------------------\n");
342 printf(
"--------------------------------------------------------------\n");
478 if (
fList->IsEmpty())
540 if (l0 - 1 < -delta) {
545 if (l1 - 1 < delta) {
557 f1->fWeight -= weightDelta;
574 while ( !
fList->IsEmpty()) {
583 while ( ! list.IsEmpty()) {
ULong_t Pixel_t
Pixel value.
Handle_t Window_t
Window handle.
int Int_t
Signed integer 4 bytes (int).
unsigned int UInt_t
Unsigned integer 4 bytes (unsigned int).
bool Bool_t
Boolean (0=false, 1=true) (bool).
float Float_t
Float 4 bytes (float).
virtual TGFrameElement * FindFrameElement(TGFrame *f) const
Find frame-element holding frame f.
Int_t fMustCleanup
cleanup mode (see EFrameCleanup)
TGCompositeFrame(const TGCompositeFrame &)=delete
Bool_t fMapSubwindows
kTRUE - map subwindows
TList * fList
container of frame elements
void SetCleanup(Int_t mode=kLocalCleanup) override
Turn on automatic cleanup of child frames in dtor.
virtual void RemoveFrame(TGFrame *f)
Remove frame from composite frame.
static TGLayoutHints * fgDefaultHints
Float_t fWeight
relative weight
TGFrameElementPack * fSplitFE
! cached variable for optimisation
void Resize(UInt_t w=0, UInt_t h=0) override
Resize the frame.
TGFrame(const TGFrame &)=delete
UInt_t fHeight
frame height
void ReparentWindow(const TGWindow *p, Int_t x=0, Int_t y=0) override
Reparent window, make p the new parent and position the window at position (x,y) in new parent.
void MapWindow() override
map window
TGFrameElement * GetFrameElement() const
void Move(Int_t x, Int_t y) override
Move frame.
void UnmapWindow() override
unmap window
virtual void SetCleanup(Int_t=kLocalCleanup)
void MapSubwindows() override
map sub windows
This class describes layout hints used by the layout classes.
TGClient * fClient
Connection to display server.
void MapSubwindows() override
Virtual method of TGcompositeFrame.
void RemoveFrameInternal(TGFrame *f)
Remove frame f.
void ResizeExistingFrames()
Resize (shrink or expand) existing frames by amount in total.
void MoveResize(Int_t x, Int_t y, UInt_t w=0, UInt_t h=0) override
Move and resize the pack.
Int_t GetAvailableLength() const
Return length of entire frame without splitters.
void Dump() const override
Print sub frame info.
virtual void DeleteFrame(TGFrame *f)
Remove frame f and refit existing frames to pack size.
Int_t GetFrameLength(const TGFrame *f) const
virtual void AddFrameWithWeight(TGFrame *f, TGLayoutHints *l, Float_t w)
Add frame f at the end with given weight.
void RefitFramesToPack()
Refit existing frames to pack size.
void AddFrame(TGFrame *f, TGLayoutHints *l=nullptr) override
Add frame f at the end with default weight.
~TGPack() override
Destructor.
void EqualizeFrames()
Refit existing frames so that their lengths are equal.
void HandleSplitterStart()
Called when splitter drag starts.
Float_t fWeightSum
total sum of sub frame weights
void RemoveFrame(TGFrame *f) override
Remove frame f and refit existing frames to pack size.
TGPack(const TGPack &)=delete
void AddFrameInternal(TGFrame *f, TGLayoutHints *l=nullptr, Float_t weight=1)
Add frame f at the end.
void SetVertical(Bool_t x)
Sets the vertical flag and reformats the back to new stacking direction.
void HandleSplitterResize(Int_t delta)
Handle resize events from splitters.
void SetFrameLength(TGFrame *f, Int_t len)
Set pack-wise length of frame f.
void Resize(UInt_t w=0, UInt_t h=0) override
Resize the pack.
void SetFramePosition(TGFrame *f, Int_t pos)
Set pack-wise position of frame f.
void CheckSplitterVisibility()
Check if splitter of first visible frame is hidden.
Int_t fNVisible
number of visible frames
void Layout() override
Reposition the frames so that they fit correctly.
void ShowFrame(TGFrame *f) override
Show sub frame.
void HideFrame(TGFrame *f) override
Hide sub frame.
void FindFrames(TGFrame *splitter, TGFrameElementPack *&f0, TGFrameElementPack *&f1) const
Find frames around splitter and return them f0 (previous) and f1 (next).
A splitter allows the frames left and right or above and below of it to be resized.
virtual void Resize(UInt_t w, UInt_t h)
Resize the window.
const char * GetName() const override
Return unique name, used in SavePrimitive methods.
Bool_t Connect(const char *signal, const char *receiver_class, void *receiver, const char *slot)
Non-static method is used to connect from the signal of this object to the receiver slot.
Int_t Nint(T x)
Round to nearest integer. Rounds half integers to the nearest even integer.
T1 Sign(T1 a, T2 b)
Returns a value with the magnitude of a and the sign of b.