CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Types | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes
FWFramedTextTableCellRenderer Class Reference

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

Inheritance diagram for FWFramedTextTableCellRenderer:
FWTableCellRendererBase

Public Types

enum  Justify { kJustifyLeft, kJustifyRight, kJustifyCenter }
 

Public Member Functions

virtual void draw (Drawable_t iID, int iX, int iY, unsigned int iWidth, unsigned int iHeight)
 
const TGFont * font () const
 
 FWFramedTextTableCellRenderer (const TGGC *iTextContext=&(getDefaultGC()), const TGGC *iFillContext=&(getFillGC()), Justify iJustify=kJustifyLeft)
 
const TGGC * graphicsContext () const
 
virtual UInt_t height () const
 returns the minimum height of the cell to which the renderer is representing More...
 
void setData (const std::string &)
 
void setGraphicsContext (const TGGC *iContext)
 
void setJustify (Justify)
 
virtual UInt_t width () const
 returns the minimum width of the cell to which the renderer is representing More...
 
virtual ~FWFramedTextTableCellRenderer ()
 
- Public Member Functions inherited from FWTableCellRendererBase
virtual void buttonEvent (Event_t *iClickEvent, int iRelClickX, int iRelClickY)
 
 FWTableCellRendererBase ()
 
virtual ~FWTableCellRendererBase ()
 

Static Public Member Functions

static const TGGC & getDefaultGC ()
 
static const TGGC & getFillGC ()
 

Private Member Functions

 FWFramedTextTableCellRenderer (const FWFramedTextTableCellRenderer &)
 
const
FWFramedTextTableCellRenderer
operator= (const FWFramedTextTableCellRenderer &)
 

Private Attributes

const TGGC * m_context
 
std::string m_data
 
TGFont * m_font
 
const TGGC * m_frameContext
 
Justify m_justify
 

Detailed Description

Description: A Cell Renderer who draws text with an outline and fills in the background

Usage: The background color of the text graphics context will be used to draw an outline around the regular text and the color of the regular text is set by the foreground color of the text graphics context.

Definition at line 34 of file FWFramedTextTableCellRenderer.h.

Member Enumeration Documentation

Constructor & Destructor Documentation

FWFramedTextTableCellRenderer::FWFramedTextTableCellRenderer ( const TGGC *  iTextContext = &(getDefaultGC()),
const TGGC *  iFillContext = &(getFillGC()),
Justify  iJustify = kJustifyLeft 
)

Definition at line 35 of file FWFramedTextTableCellRenderer.cc.

References m_context, and m_font.

35  :
36  m_context(iTextContext),
37  m_frameContext(iFillContext),
38  m_font(0),
39  m_justify(iJustify)
40 {
41  //TGGC* tggc= gClient->GetGCPool()->GetGC(iContext);
42  m_font = gClient->GetFontPool()->FindFontByHandle(m_context->GetFont());
43 }
FWFramedTextTableCellRenderer::~FWFramedTextTableCellRenderer ( )
virtual

Definition at line 50 of file FWFramedTextTableCellRenderer.cc.

51 {
52 }
FWFramedTextTableCellRenderer::FWFramedTextTableCellRenderer ( const FWFramedTextTableCellRenderer )
private

Member Function Documentation

void FWFramedTextTableCellRenderer::draw ( Drawable_t  iID,
int  iX,
int  iY,
unsigned int  iWidth,
unsigned int  iHeight 
)
virtual
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 70 of file FWFramedTextTableCellRenderer.cc.

References kJustifyCenter, kJustifyRight, m_context, m_data, m_font, m_frameContext, m_justify, and width().

Referenced by python.Vispa.Gui.PortConnection.PointToPointConnection::paintEvent().

71 {
72  // GContext_t c = m_frameContext->GetGC();
73 
74  gVirtualX->DrawLine(iID,m_frameContext->GetGC(),iX-1,iY-1,iX-1,iY+iHeight);
75  gVirtualX->DrawLine(iID,m_frameContext->GetGC(),iX+iWidth,iY-1,iX+iWidth,iY+iHeight);
76  gVirtualX->DrawLine(iID,m_frameContext->GetGC(),iX-1,iY-1,iX+iWidth,iY-1);
77  gVirtualX->DrawLine(iID,m_frameContext->GetGC(),iX-1,iY+iHeight,iX+iWidth,iY+iHeight);
78 
79  FontMetrics_t metrics;
80  m_font->GetFontMetrics(&metrics);
81  int dX=2;
83  int w = width();
84  dX = iWidth-w;
85  }
87  int w = width();
88  dX = (iWidth-w)/2;
89 
90  }
91 
92  gVirtualX->DrawString(iID,m_context->GetGC(),iX+dX,iY+metrics.fAscent, m_data.c_str(),m_data.size());
93 }
virtual UInt_t width() const
returns the minimum width of the cell to which the renderer is representing
const TGFont * FWFramedTextTableCellRenderer::font ( ) const
const TGGC & FWFramedTextTableCellRenderer::getDefaultGC ( )
static

Definition at line 133 of file FWFramedTextTableCellRenderer.cc.

134 {
135  static const TGGC* s_default = gClient->GetResourcePool()->GetFrameGC();
136  return *s_default;
137 }
const TGGC & FWFramedTextTableCellRenderer::getFillGC ( )
static

Definition at line 140 of file FWFramedTextTableCellRenderer.cc.

141 {
142  // Return graphics context for highlighted frame background.
143  static const TGGC* s_default = 0;
144  if (!s_default) {
145  GCValues_t gval;
146  gval.fMask = kGCForeground | kGCBackground | kGCTile |
147  kGCFillStyle | kGCGraphicsExposures;
148  gval.fForeground = gClient->GetResourcePool()->GetFrameHiliteColor();
149  gval.fBackground = gClient->GetResourcePool()->GetFrameBgndColor();
150  gval.fFillStyle = kFillTiled;
151  gval.fTile = gClient->GetResourcePool()->GetCheckeredPixmap();
152  gval.fGraphicsExposures = kFALSE;
153  s_default = gClient->GetGC(&gval, kTRUE);
154  }
155  return *s_default;
156 }
const TGGC* FWFramedTextTableCellRenderer::graphicsContext ( ) const
inline

Definition at line 52 of file FWFramedTextTableCellRenderer.h.

References m_context.

UInt_t FWFramedTextTableCellRenderer::height ( ) const
virtual
const FWFramedTextTableCellRenderer& FWFramedTextTableCellRenderer::operator= ( const FWFramedTextTableCellRenderer )
private
void FWFramedTextTableCellRenderer::setData ( const std::string &  iData)

Definition at line 96 of file FWFramedTextTableCellRenderer.cc.

References m_data.

Referenced by FWTableViewTableManager::rowHeader().

96  {
97  m_data = iData;
98 }
void FWFramedTextTableCellRenderer::setGraphicsContext ( const TGGC *  iContext)
inline

Definition at line 61 of file FWFramedTextTableCellRenderer.h.

References m_context.

61 { m_context = iContext;}
void FWFramedTextTableCellRenderer::setJustify ( Justify  iJustify)

Definition at line 101 of file FWFramedTextTableCellRenderer.cc.

References m_justify.

102 {
103  m_justify=iJustify;
104 }
UInt_t FWFramedTextTableCellRenderer::width ( ) const
virtual

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

Implements FWTableCellRendererBase.

Definition at line 110 of file FWFramedTextTableCellRenderer.cc.

References m_data, and m_font.

Referenced by python.Vispa.Main.MainWindow.MainWindow::_saveIni(), python.Vispa.Gui.VispaWidget.VispaWidget::autosize(), python.Vispa.Gui.VispaWidget.VispaWidget::boundingRect(), python.Vispa.Gui.VispaWidget.VispaWidget::contentRect(), python.Vispa.Gui.VispaWidget.VispaWidget::defineArrowBackgroundShape(), python.Vispa.Gui.VispaWidget.VispaWidget::defineCircleBackgroundShape(), python.Vispa.Gui.VispaWidget.VispaWidget::defineRoundRectBackgroundShape(), draw(), python.Vispa.Gui.VispaWidget.VispaWidget::drawHeaderBackground(), python.Vispa.Gui.ConnectableWidget.ConnectableWidget::drawPortNames(), python.Vispa.Gui.VispaWidget.VispaWidget::imageRectF(), python.Vispa.Gui.ConnectableWidget.ConnectableWidget::positionizeMenuWidget(), python.Vispa.Views.PropertyView.PropertyView::resizeEvent(), python.Vispa.Views.PropertyView.PropertyView::sectionResized(), python.Vispa.Gui.VispaWidget.VispaWidget::setZoom(), and python.Vispa.Main.MainWindow.MainWindow::updateStartupScreenGeometry().

111 {
112  if(m_data.size()) {
113  return m_font->TextWidth(m_data.c_str(),-1)+3;
114  }
115  return 0;
116 }

Member Data Documentation

const TGGC* FWFramedTextTableCellRenderer::m_context
private
std::string FWFramedTextTableCellRenderer::m_data
private

Definition at line 76 of file FWFramedTextTableCellRenderer.h.

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

TGFont* FWFramedTextTableCellRenderer::m_font
private
const TGGC* FWFramedTextTableCellRenderer::m_frameContext
private

Definition at line 74 of file FWFramedTextTableCellRenderer.h.

Referenced by draw().

Justify FWFramedTextTableCellRenderer::m_justify
private

Definition at line 77 of file FWFramedTextTableCellRenderer.h.

Referenced by draw(), and setJustify().