Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
TLegend.h
Go to the documentation of this file.
1// @(#)root/graf:$Id$
2// Author: Matthew.Adam.Dobbs 06/09/99
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#ifndef ROOT_TLegend
13#define ROOT_TLegend
14
15
16#include "TPave.h"
17#include "TAttText.h"
18
19class TObject;
20class TList;
21class TLegendEntry;
22
23class TLegend : public TPave , public TAttText {
24
25protected:
26 TLegend& operator=(const TLegend&);
27
28public:
29 TLegend();
31 const char* header = "", Option_t* option="brNDC" );
32 TLegend( Double_t w, Double_t h, const char* header = "", Option_t* option="brNDC" );
33 ~TLegend() override;
34 TLegend(const TLegend &legend);
35
36 TLegendEntry *AddEntry(const TObject* obj, const char* label = "", Option_t* option = "lpf" );
37 TLegendEntry *AddEntry(const char *name, const char* label = "", Option_t* option = "lpf" );
38 void Clear( Option_t* option = "" ) override; // *MENU*
39 void Copy( TObject &obj ) const override;
40 virtual void DeleteEntry(); // *MENU*
41 void Draw( Option_t* option = "" ) override;
42 virtual void EditEntryAttFill();
43 virtual void EditEntryAttLine();
44 virtual void EditEntryAttMarker();
45 virtual void EditEntryAttText();
47 TLegendEntry *GetEntry() const;
49 virtual const char *GetHeader() const;
51 Float_t GetMargin() const { return fMargin; }
52 Int_t GetNColumns() const { return fNColumns; }
53 Int_t GetNRows() const;
54 virtual void InsertEntry( const char* objectName = "",const char* label = "",
55 Option_t* option = "lpf" ); // *MENU*
56 void Paint( Option_t* option = "" ) override;
57 virtual void PaintPrimitives();
58 void Print( Option_t* option = "" ) const override;
59 void RecursiveRemove(TObject *obj) override;
60 void SavePrimitive(std::ostream &out, Option_t *option = "") override;
61 void SetDefaults() { fEntrySeparation = 0.1f; fMargin = 0.25f; fNColumns = 1; fColumnSeparation = 0.0f; }
62 void SetColumnSeparation( Float_t columnSeparation )
63 { fColumnSeparation = columnSeparation; } // *MENU*
64 virtual void SetEntryLabel( const char* label ); // *MENU*
65 virtual void SetEntryOption( Option_t* option ); // *MENU*
66 void SetEntrySeparation( Float_t entryseparation )
67 { fEntrySeparation = entryseparation; } // *MENU*
68 virtual void SetHeader( const char *header = "", Option_t *option = "" ); // *MENU*
69 void SetMargin( Float_t margin ) { fMargin = margin; } // *MENU*
70 void SetNColumns( Int_t nColumns ); // *MENU*
71
72protected:
73 TList *fPrimitives{nullptr}; ///< List of TLegendEntries
74 Float_t fEntrySeparation; ///< Separation between entries, as a fraction of
75 ///< The space allocated to one entry.
76 ///< Typical value is 0.1.
77 Float_t fMargin; ///< Fraction of total width used for symbol
78 Int_t fNColumns; ///< Number of columns in the legend
79 Float_t fColumnSeparation; ///< Separation between columns, as a fraction of
80 ///< The space allowed to one column
81
82 ClassDefOverride(TLegend,3) // Legend of markers/lines/boxes to represent obj's
83};
84
85#endif
#define h(i)
Definition RSha256.hxx:106
int Int_t
Definition RtypesCore.h:45
float Float_t
Definition RtypesCore.h:57
const char Option_t
Definition RtypesCore.h:66
#define ClassDefOverride(name, id)
Definition Rtypes.h:346
Option_t Option_t option
Option_t Option_t TPoint TPoint const char x2
Option_t Option_t TPoint TPoint const char x1
Option_t Option_t TPoint TPoint const char y2
Option_t Option_t TPoint TPoint const char y1
char name[80]
Definition TGX11.cxx:110
Text Attributes class.
Definition TAttText.h:18
Storage class for one entry of a TLegend.
This class displays a legend box (TPaveText) containing several legend entries.
Definition TLegend.h:23
void Copy(TObject &obj) const override
Copy this legend into "obj".
Definition TLegend.cxx:388
TLegendEntry * AddEntry(const TObject *obj, const char *label="", Option_t *option="lpf")
Add a new entry to this legend.
Definition TLegend.cxx:320
void SetNColumns(Int_t nColumns)
Set the number of columns for the legend.
Definition TLegend.cxx:606
virtual void SetHeader(const char *header="", Option_t *option="")
Sets the header, which is the "title" that appears at the top of the legend.
Definition TLegend.cxx:1085
virtual void DeleteEntry()
Delete entry at the mouse position.
Definition TLegend.cxx:413
TLegendEntry * GetEntry() const
Get entry pointed to by the mouse.
Definition TLegend.cxx:478
Float_t GetColumnSeparation() const
Definition TLegend.h:46
void Clear(Option_t *option="") override
Clear all entries in this legend, including the header.
Definition TLegend.cxx:379
Float_t fEntrySeparation
Separation between entries, as a fraction of The space allocated to one entry.
Definition TLegend.h:74
void SetEntrySeparation(Float_t entryseparation)
Definition TLegend.h:66
virtual void EditEntryAttMarker()
Edit the marker attributes for the entry pointed by the mouse.
Definition TLegend.cxx:455
TList * GetListOfPrimitives() const
Definition TLegend.h:50
void SavePrimitive(std::ostream &out, Option_t *option="") override
Save this legend as C++ statements on output stream out to be used with the SaveAs ....
Definition TLegend.cxx:1035
virtual void EditEntryAttText()
Edit the text attributes for the entry pointed by the mouse.
Definition TLegend.cxx:466
void Paint(Option_t *option="") override
Paint this legend with its current attributes.
Definition TLegend.cxx:561
Int_t GetNColumns() const
Definition TLegend.h:52
void SetDefaults()
Definition TLegend.h:61
void RecursiveRemove(TObject *obj) override
Reset the legend entries pointing to "obj".
Definition TLegend.cxx:1022
Float_t fMargin
Fraction of total width used for symbol.
Definition TLegend.h:77
Int_t GetNRows() const
Get the number of rows.
Definition TLegend.cxx:586
TList * fPrimitives
List of TLegendEntries.
Definition TLegend.h:73
Int_t fNColumns
Number of columns in the legend.
Definition TLegend.h:78
Float_t fColumnSeparation
Separation between columns, as a fraction of The space allowed to one column.
Definition TLegend.h:79
Float_t GetEntrySeparation() const
Definition TLegend.h:48
TLegend()
Default constructor.
Definition TLegend.cxx:200
virtual void EditEntryAttLine()
Edit the line attributes for the entry pointed by the mouse.
Definition TLegend.cxx:444
~TLegend() override
Default destructor.
Definition TLegend.cxx:300
virtual void SetEntryOption(Option_t *option)
Edit the option of the entry pointed to by the mouse.
Definition TLegend.cxx:1075
TLegend & operator=(const TLegend &)
Assignment operator.
Definition TLegend.cxx:290
virtual void SetEntryLabel(const char *label)
Edit the label of the entry pointed to by the mouse.
Definition TLegend.cxx:1066
void Print(Option_t *option="") const override
Dump this TLegend and its contents.
Definition TLegend.cxx:1013
void SetMargin(Float_t margin)
Definition TLegend.h:69
virtual void PaintPrimitives()
Paint the entries (list of primitives) for this legend.
Definition TLegend.cxx:618
virtual void EditEntryAttFill()
Edit the fill attributes for the entry pointed by the mouse.
Definition TLegend.cxx:433
virtual const char * GetHeader() const
Returns the header, which is the title that appears at the top of the legend.
Definition TLegend.cxx:521
virtual void InsertEntry(const char *objectName="", const char *label="", Option_t *option="lpf")
Add a new entry before the entry at the mouse position.
Definition TLegend.cxx:536
Float_t GetMargin() const
Definition TLegend.h:51
void SetColumnSeparation(Float_t columnSeparation)
Definition TLegend.h:62
A doubly linked list.
Definition TList.h:38
Mother of all ROOT objects.
Definition TObject.h:41
A TBox with a bordersize and a shadow option.
Definition TPave.h:19
th1 Draw()