CMS 3D CMS Logo

List of all members | Public Member Functions | Private Attributes | Static Private Attributes
FWColumnLabelCellRenderer Class Reference

#include <Fireworks/TableWidget/interface/FWColumnLabelCellRenderer.h>

Inheritance diagram for FWColumnLabelCellRenderer:
FWTextTableCellRenderer FWTableCellRendererBase

Public Member Functions

void draw (Drawable_t iID, int iX, int iY, unsigned int iWidth, unsigned int iHeight) override
 
 FWColumnLabelCellRenderer (const TGGC *iContext=&(getDefaultGC()), bool isSortable=true)
 
void setSortOrder (fireworks::table::SortOrder)
 
fireworks::table::SortOrder sortOrder () const
 
UInt_t width () const override
 returns the minimum width of the cell to which the renderer is representing More...
 
 ~FWColumnLabelCellRenderer () override
 
- Public Member Functions inherited from FWTextTableCellRenderer
const std::string & data ()
 
void draw (Drawable_t iID, int iX, int iY, unsigned int iWidth, unsigned int iHeight) override
 
const TGFont * font () const
 
 FWTextTableCellRenderer (const TGGC *iContext=&(getDefaultGC()), const TGGC *iHighlightContext=&(getDefaultHighlightGC()), Justify iJustify=kJustifyLeft)
 
const TGGC * graphicsContext () const
 
UInt_t height () const override
 returns the minimum height of the cell to which the renderer is representing More...
 
const TGGC * highlightContext () const
 
bool selected ()
 
void setData (const char *, bool isSelected)
 
void setData (const std::string &, bool isSelected)
 
void setGraphicsContext (const TGGC *iContext)
 
void setHighlightContext (const TGGC *context)
 
void setJustify (Justify)
 
UInt_t width () const override
 returns the minimum width of the cell to which the renderer is representing More...
 
 ~FWTextTableCellRenderer () override
 
- Public Member Functions inherited from FWTableCellRendererBase
virtual void buttonEvent (Event_t *iClickEvent, int iRelClickX, int iRelClickY)
 
 FWTableCellRendererBase ()
 
virtual ~FWTableCellRendererBase ()
 

Private Attributes

bool m_isSortable
 
int m_sizeOfOrderIcon
 
int m_sizeOfOrderIconStartX
 
fireworks::table::SortOrder m_sortOrder
 

Static Private Attributes

static const UInt_t kGap = 2
 

Additional Inherited Members

- Public Types inherited from FWTextTableCellRenderer
enum  Justify { kJustifyLeft, kJustifyRight, kJustifyCenter }
 
- Static Public Member Functions inherited from FWTextTableCellRenderer
static const TGGC & getDefaultGC ()
 
static const TGGC & getDefaultHighlightGC ()
 

Detailed Description

Description: Cell Renderer which handles the labels at the top of columns

Usage: This renderer will draw both the text of the column's label and if the sort order has been set to kAscendingSort or kDescendingSort it will also draw the appropriate symbol denoting the sort order of the column.

Definition at line 30 of file FWColumnLabelCellRenderer.h.

Constructor & Destructor Documentation

◆ FWColumnLabelCellRenderer()

FWColumnLabelCellRenderer::FWColumnLabelCellRenderer ( const TGGC *  iContext = &(getDefaultGC()),
bool  isSortable = true 
)

Definition at line 33 of file FWColumnLabelCellRenderer.cc.

34  : FWTextTableCellRenderer(iContext),
37  m_isSortable(isSortable) {
38  if (m_isSortable) {
39  FontMetrics_t metrics;
40  font()->GetFontMetrics(&metrics);
41 
42  m_sizeOfOrderIcon -= 2 * metrics.fDescent;
43  m_sizeOfOrderIconStartX = metrics.fDescent;
44  //we want the number to be even so that the point of the triangle
45  // will be right in the middle
46  if (1 == m_sizeOfOrderIcon % 2) {
48  }
49  }
50 }

References FWTextTableCellRenderer::font(), m_isSortable, m_sizeOfOrderIcon, and m_sizeOfOrderIconStartX.

◆ ~FWColumnLabelCellRenderer()

FWColumnLabelCellRenderer::~FWColumnLabelCellRenderer ( )
override

Definition at line 57 of file FWColumnLabelCellRenderer.cc.

57 {}

Member Function Documentation

◆ draw()

void FWColumnLabelCellRenderer::draw ( Drawable_t  iID,
int  iX,
int  iY,
unsigned int  iWidth,
unsigned int  iHeight 
)
overridevirtual

Called to draw a particular cell: arguments iID: the id for the drawable in the window. Needed in order to do calls to gVirtualX or to TGFont iX: screen x position that the cell drawing area starts iY: screen y position that the cell drawing area starts iWidth: width (x dimension) of cell drawing area. May be larger than value returned from width() iHeight: height (x dimension) of cell drawing area. May be larger than value returned from height()

Implements FWTableCellRendererBase.

Definition at line 81 of file FWColumnLabelCellRenderer.cc.

81  {
82  if (m_isSortable) {
83  using namespace fireworks::table;
84  UInt_t h = m_sizeOfOrderIcon;
85  const GContext_t c = graphicsContext()->GetGC();
86  int dY = m_sizeOfOrderIconStartX;
87 
88  if (kAscendingSort == m_sortOrder) {
89  gVirtualX->DrawLine(iID, c, iX + h / 2, iY + 2 + dY, iX, iY + h - 2 + dY);
90  gVirtualX->DrawLine(iID, c, iX, iY + h - 2 + dY, iX + h, iY + h - 2 + dY);
91  gVirtualX->DrawLine(iID, c, iX + h / 2, iY + 2 + dY, iX + h, iY + h - 2 + dY);
92  }
94  gVirtualX->DrawLine(iID, c, iX, iY + 2 + dY, iX + h, iY + 2 + dY);
95  gVirtualX->DrawLine(iID, c, iX + h / 2, iY + h - 2 + dY, iX + h, iY + 2 + dY);
96  gVirtualX->DrawLine(iID, c, iX + h / 2, iY + h - 2 + dY, iX, iY + 2 + dY);
97  }
98  FWTextTableCellRenderer::draw(iID, iX + kGap + h, iY, iWidth - kGap - h, iHeight);
99  } else {
100  return FWTextTableCellRenderer::draw(iID, iX + kGap, iY - kGap, iWidth, iHeight);
101  }
102 }

References c, FWTextTableCellRenderer::draw(), FWTextTableCellRenderer::graphicsContext(), fireworks::table::kAscendingSort, kDescendingSort, kGap, m_isSortable, m_sizeOfOrderIcon, m_sizeOfOrderIconStartX, and m_sortOrder.

◆ setSortOrder()

void FWColumnLabelCellRenderer::setSortOrder ( fireworks::table::SortOrder  iOrder)

Definition at line 74 of file FWColumnLabelCellRenderer.cc.

74  {
75  if (!m_isSortable)
77 
78  m_sortOrder = iOrder;
79 }

References cms::cuda::assert(), fireworks::table::kNotSorted, m_isSortable, and m_sortOrder.

Referenced by FWAdapterHeaderTableManager::cellRenderer().

◆ sortOrder()

fireworks::table::SortOrder FWColumnLabelCellRenderer::sortOrder ( ) const

Definition at line 107 of file FWColumnLabelCellRenderer.cc.

107 { return m_sortOrder; }

References m_sortOrder.

◆ width()

UInt_t FWColumnLabelCellRenderer::width ( ) const
overridevirtual

returns the minimum width of the cell to which the renderer is representing

Implements FWTableCellRendererBase.

Definition at line 109 of file FWColumnLabelCellRenderer.cc.

109  {
110  if (m_isSortable)
112  else {
113  return FWTextTableCellRenderer::width() + kGap * 2;
114  }
115 }

References kGap, m_isSortable, m_sizeOfOrderIcon, and FWTextTableCellRenderer::width().

Member Data Documentation

◆ kGap

const UInt_t FWColumnLabelCellRenderer::kGap = 2
staticprivate

Definition at line 53 of file FWColumnLabelCellRenderer.h.

Referenced by draw(), and width().

◆ m_isSortable

bool FWColumnLabelCellRenderer::m_isSortable
private

Definition at line 58 of file FWColumnLabelCellRenderer.h.

Referenced by draw(), FWColumnLabelCellRenderer(), setSortOrder(), and width().

◆ m_sizeOfOrderIcon

int FWColumnLabelCellRenderer::m_sizeOfOrderIcon
private

Definition at line 55 of file FWColumnLabelCellRenderer.h.

Referenced by draw(), FWColumnLabelCellRenderer(), and width().

◆ m_sizeOfOrderIconStartX

int FWColumnLabelCellRenderer::m_sizeOfOrderIconStartX
private

Definition at line 56 of file FWColumnLabelCellRenderer.h.

Referenced by draw(), and FWColumnLabelCellRenderer().

◆ m_sortOrder

fireworks::table::SortOrder FWColumnLabelCellRenderer::m_sortOrder
private

Definition at line 54 of file FWColumnLabelCellRenderer.h.

Referenced by draw(), setSortOrder(), and sortOrder().

FWTextTableCellRenderer::draw
void draw(Drawable_t iID, int iX, int iY, unsigned int iWidth, unsigned int iHeight) override
Definition: FWTextTableCellRenderer.cc:66
FWTextTableCellRenderer::FWTextTableCellRenderer
FWTextTableCellRenderer(const TGGC *iContext=&(getDefaultGC()), const TGGC *iHighlightContext=&(getDefaultHighlightGC()), Justify iJustify=kJustifyLeft)
Definition: FWTextTableCellRenderer.cc:34
FWTextTableCellRenderer::graphicsContext
const TGGC * graphicsContext() const
Definition: FWTextTableCellRenderer.h:45
cms::cuda::assert
assert(be >=bs)
h
FWColumnLabelCellRenderer::m_sizeOfOrderIcon
int m_sizeOfOrderIcon
Definition: FWColumnLabelCellRenderer.h:55
FWTextTableCellRenderer::width
UInt_t width() const override
returns the minimum width of the cell to which the renderer is representing
Definition: FWTextTableCellRenderer.cc:113
FWTextTableCellRenderer::height
UInt_t height() const override
returns the minimum height of the cell to which the renderer is representing
Definition: FWTextTableCellRenderer.cc:119
fireworks::table::kNotSorted
Definition: SortOrder.h:29
fireworks::table
Definition: SortOrder.h:28
FWColumnLabelCellRenderer::kGap
static const UInt_t kGap
Definition: FWColumnLabelCellRenderer.h:53
FWColumnLabelCellRenderer::m_isSortable
bool m_isSortable
Definition: FWColumnLabelCellRenderer.h:58
FWColumnLabelCellRenderer::m_sizeOfOrderIconStartX
int m_sizeOfOrderIconStartX
Definition: FWColumnLabelCellRenderer.h:56
FWTextTableCellRenderer::font
const TGFont * font() const
Definition: FWTextTableCellRenderer.cc:123
FWColumnLabelCellRenderer::m_sortOrder
fireworks::table::SortOrder m_sortOrder
Definition: FWColumnLabelCellRenderer.h:54
fireworks::table::kAscendingSort
Definition: SortOrder.h:29
kDescendingSort
static const std::string kDescendingSort
Definition: FWTableView.cc:193
c
auto & c
Definition: CAHitNtupletGeneratorKernelsImpl.h:56