QtView Class Reference

#include <QtView.h>

Inheritance diagram for QtView:

Inheritance graph
QtViewImpDataViewViewBaseObserverQCanvasRectangle
[legend]
Collaboration diagram for QtView:

Collaboration graph
QtViewImpDataViewViewBaseObserverPlotterBaseObservableSizePointRectQPainterQFontQObjectQCanvasRectangleQPixmap
[legend]
List of all members.

Detailed Description

The class of derived from ViewBase and QCanvasRectangle for drawing on a QCanvas.

It is derived from QCanvasRectangle in order to get a position and size on the canvas. The view thus becomes a QCanvasItem. The inherited active state is used to lock the size and position on the canvas. The inherited selected state is used to highlight the selected item. It also derives from QtViewImp which contains most of the drawing code.

Author:
Paul F. Kunz <Paul_Kunz@slac.stanford.edu>

Sanket Biren Malde <sanket@stanford.edu>

Definition at line 41 of file QtView.h.

Public Member Functions

 chunks () const
virtual const QFontdefaultFont ()
virtual void draw (QPainter &)
 Re-Implements the inherited function from QCanvasPoygonalItem.
virtual void drawColorLines (const std::vector< double > &x, const std::vector< double > &y, hippodraw::Line::Style style, const std::vector< Color > &colors, float size)
 Draws multiple line segments, each with a different color - that is, a line between x0,y0 and x1,y1, with color[0] =color[1] another between x2,y2 and x3,y3 with color[2]=color[3] and so on.
virtual void drawImage (const std::string &filename, int position=0)
 Draws a image.
virtual void drawLatex (const std::string &eq, int position=0)
 Draws a Latex equation.
virtual void drawLines (const std::vector< double > &x, const std::vector< double > &y, hippodraw::Line::Style style, const Color &color, float size)
 Draws multiple line segments - that is, a line between x0,y0 and x1,y2, another between x2,y2 and x3,y3 and so on.
virtual void drawPoints (const std::vector< double > &x, const std::vector< double > &y, const std::vector< Color > &colors, hippodraw::Symbol::Type type, float sym_size)
virtual void drawPoints (const std::vector< double > &x, const std::vector< double > &y, hippodraw::Symbol::Type type, float sym_size)
virtual void drawPolygon (const std::vector< double > &x, const std::vector< double > &y, const Color &color, const Color &edge)
 Draws a polygon.
virtual void drawPolyLine (const std::vector< double > &xpoints, const std::vector< double > &ypoints, hippodraw::Line::Style style, const Color &color, float size)
 Draws a polyline.
virtual void drawSelf ()
 Draws itself.
virtual void drawShape (QPainter &)
 Overrides pure virtual function of QCanvasPolygonalItem.
virtual void drawSquare (double x1, double y1, double x2, double y2, int red, int green, int blue)
 Draws a colored square.
virtual void drawText (const std::string &s, float x, float y, float fontsize, float angle, char xp, char yp, bool resize, const FontBase *font, const Color *color)
 Draws a text string at a point in the view's coordinate system.
virtual void drawText (const std::string &s, float x, float y, float fontsize, float angle, char xp, char yp, bool resize)
 
Note:
This method is only here to avoid introducing FontBase to SIP based Python extension module.

virtual void drawViewLines (const std::vector< double > &x, const std::vector< double > &y, hippodraw::Line::Style style, const Color &color, float size)
 Draws multiple line segments.
virtual void drawViewLines (const std::vector< double > &x, const std::vector< double > &y, hippodraw::Line::Style style, bool color, float size)
virtual void drawViewSquare (float x1, float y1, float x2, float y2, int red, int green, int blue)
 Draws a colored square in view space.
virtual void fillPickedPoint (double x, double y, std::vector< double > &picked) const
 Fills the picked point vector.
virtual double getAspectRatio () const
 Get the aspect ratio.
virtual Rect getDrawRect () const
 Overrides virtual function of ViewBase.
const RectgetMarginRect () const
 Returns the rectangle area in which data points are drawn.
PlotterBasegetPlotter ()
 Returns the plotter used by this view.
PlotterBasegetPlotter () const
 Returns the plotter used by this view.
const RangegetRange (Axes::Type axis) const
 Returns the range of the data space on specified axis.
const RectgetRawRect () const
 Returns the rectangle before transform.
const RectgetUserRect () const
 Is called by the AxisRepBase object (or one of its derived objects), and returns the rectangle where the drawing is made.
 height () const
bool isTextView () const
 QtView (const QtView &)
 The copy constructor.
 QtView (PlotterBase *plotter)
 The constructor.
 rect () const
 rtti () const
void setCrossX (double val)
 Set the crossX value.
void setCrossY (double val)
 Set the crossY value.
virtual void setDefaultFont (const QFont &font)
virtual void setDrawRect (float x, float y, float width, float height)
 Sets the drawing rectangle in the paint device space.
void setDrawRect (Rect &rect)
 Set the drawing rectangle in the paint device space.
void setDrawRect (const QRect &rect)
 Sets the drawing rectangle in the paint device space.
void setInspector (QObject *)
 Sets the receiver of update messages.
void setMarginRect (const Rect &)
 Sets the margin rectangle.
virtual void setPageWidth (int upage_w)
 Set the page width.
virtual void setPlotter (PlotterBase *plotter)
 Sets the PlotterBase object to plotter.
virtual void setShowCrossHairs (bool flag)
 Sets display status of cross-hairs.
 setSize (int width, int height)
 size () const
int toView (double x) const
 Converts the view space coordinate x expressed as a double to one expressed as an int.
int toViewX (double datX) const
 Converts the data space coordinate X to the view space coordinate X.
int toViewY (double datY) const
 Converts the data space coordinate Y to the view space coordinate Y.
virtual void update (const Observable *)
 Responds to Observable update message.
void updateDrawRect ()
 Updates the drawing rectangle in the paint device space.
float userToDrawColor (double c) const
 Converts a coordinate in user space to drawing space along the color (X) axis.
float userToDrawX (double x) const
 Converts a coordinate in user space to drawing space along the X axis.
float userToDrawXAutoInv (double x) const
float userToDrawY (double x) const
 Converts a coordinate in user space to drawing space along the Y axis.
 width () const
virtual void willDelete (const Observable *plotter)
 Responds to notification that the PlotterBase object is being deleted.
virtual ~QtView ()
 The required virtual destructor.

Protected Member Functions

virtual void draw_Text (const std::string &s, float x, float y, float fontsize, float angle, char xp, char yp, bool resize, QFont &font, const QColor &color)
virtual double marginToInvertedUserX (double x) const
 Converts from view coordinate to data conordiate, take into account the inversion of x axes.
virtual double marginToInvertedUserY (double y) const
 Converts from inverted view coordinate to data coordinate, without taking into account transforms or scaling.
virtual double marginToUserX (double x) const
 Converts from view coordinate to data coordinate, without taking into account transforms or scaling.
virtual double marginToUserY (double y) const
 Converts from view coordinate to data coordinate, without taking into account transforms or scaling.
void prepareMarginRect ()
 Prepares the margin rectangle.
virtual float userToInvertedMarginX (double x) const
 Converts the user X coordinate into the inverted X coordinate.
virtual float userToInvertedMarginY (double y) const
 Converts the user Y coordinate into the top-left based margin Y coordinate.
virtual float userToMarginColor (double c) const
 Converts the user Z coordinate into the margin color (X) coordinate.
virtual float userToMarginX (double x) const
 Converts the user X coordinate into the margin X coordinate.
virtual float userToMarginY (double y) const
 Converts the user Y coordinate into the margin Y coordinate.

Protected Attributes

QFont m_font_default
QObjectm_inspector
 The receiver of update messages.
Rect m_margin_rect
 The rectangle area in which the projected points are plotted.
QPainterm_painter
 The current Qt QPainter object.
PlotterBasem_plotter
 The plotter object used by this view.

Private Member Functions

void drawMethod (const std::vector< double > &x, const std::vector< double > &y, int opt1, int opt2)
 Draws in the view using the specified method.
void drawViewMethod (const std::vector< double > &x, const std::vector< double > &y, int opt1, int opt2)
 Draws in the view using the specified method.
void drawWithPixmap (QPainter &painter)
 Does the drawing with QPixmap cache instead of directly to paint device.
void ensureOffScrSize (int osw, int osh)
 Used by the double buffering done in method draw.
int toCanvasX (double dx) const
 Converts coordinate from view space to canvas space.
int toCanvasY (double dy) const
 Converts coordinate from view space to canvas space.
void transformAndFill (QPointArray &array, const std::vector< double > &x, const std::vector< double > &y, int(QtView::*xfunc)(double) const, int(QtView::*yfunc)(double) const)
 Fills the array with QPoint objects whose coordinates are in the QPaintDevice space from the vectors x and y whose coordinates are in the data space.

Private Attributes

bool m_crosshairs
 A flag indicating if cross-hairs should be drawn.
bool m_filled
 A flag indicating if the buffer pixmap has been filled.
bool m_is_drawing
 A flag set true when drawing has stared.
QPixmap m_pixmap
 A QPixmap used for buffer the plot.
int m_upage_w
 Page width.


Constructor & Destructor Documentation

QtView ( PlotterBase plotter  ) 

The constructor.

Parameters:
plotter The plotter of the class derived from PlotterBase to be used in a drawing.

Definition at line 37 of file QtView.cxx.

References ViewBase::m_plotter.

QtView ( const QtView  ) 

The copy constructor.

~QtView (  )  [virtual]

The required virtual destructor.

Definition at line 54 of file QtView.cxx.

References ViewBase::m_plotter.


Member Function Documentation

const QFont & defaultFont (  )  [virtual, inherited]

Definition at line 1006 of file QtViewImp.cxx.

References QtViewImp::m_font_default.

void draw ( QPainter  )  [virtual]

Re-Implements the inherited function from QCanvasPoygonalItem.

First calls base class to draw the contents. If selected, then also draws the border and sends update message to m_inspector.

Definition at line 116 of file QtView.cxx.

References QPainter::device(), DrawBorder::draw(), ViewBase::drawSelf(), QtView::drawWithPixmap(), DrawBorder::instance(), QtView::m_crosshairs, QtView::m_is_drawing, QtViewImp::m_painter, ViewBase::m_plotter, QPainter::setPen(), DrawBorder::setView(), and num_util::type().

Referenced by QtView::drawShape().

void draw_Text ( const std::string &  s,
float  x,
float  y,
float  fontsize,
float  angle,
char  xp,
char  yp,
bool  resize,
QFont font,
const QColor color 
) [protected, virtual, inherited]

Definition at line 697 of file QtViewImp.cxx.

References QPainter::boundingRect(), QFontMetrics::boundingRect(), QtViewImp::drawText(), QPainter::drawText(), ViewBase::getDrawRect(), Rect::getX(), Rect::getY(), QRect::height(), QtViewImp::m_painter, QPainter::restore(), QPainter::rotate(), QPainter::save(), ViewBase::setDrawRect(), QPainter::setFont(), QFont::setPixelSize(), QFont::setPointSize(), QStringList::split(), QPainter::translate(), and QRect::width().

Referenced by QtViewImp::drawText().

void drawColorLines ( const std::vector< double > &  x,
const std::vector< double > &  y,
hippodraw::Line::Style  style,
const std::vector< Color > &  color,
float  size 
) [virtual, inherited]

Draws multiple line segments, each with a different color - that is, a line between x0,y0 and x1,y1, with color[0] =color[1] another between x2,y2 and x3,y3 with color[2]=color[3] and so on.

x pairs of coordinates in user space on the X axis for the beginning and the end of the line segment.

y pairs of coordinates in user space on the Y axis for the beginning and the end of the line segment.

style the line style.

color The RGB values for the color of the line.

size The thickness of the line.

Implements ViewBase.

Definition at line 608 of file QtViewImp.cxx.

References QPainter::drawLine(), Color::getBlue(), Color::getGreen(), Color::getRed(), QtViewImp::m_painter, QPainter::restore(), QtViewImp::s_line_style, QPainter::save(), QPainter::setPen(), QtViewImp::toViewX(), and QtViewImp::toViewY().

void drawImage ( const std::string &  filename,
int  position = 0 
) [virtual, inherited]

Draws a image.

This is called by drawLatex. Meaning of position: 0.Full 1.Top 2.Bottom 3.Left TODO: use enum for position.

Reimplemented from ViewBase.

Definition at line 1013 of file QtViewImp.cxx.

References QPainter::drawPixmap(), ViewBase::getDrawRect(), Rect::getHeight(), DataView::getMarginRect(), Rect::getWidth(), Rect::getX(), Rect::getY(), QPixmap::height(), QPixmap::load(), QtViewImp::m_painter, ViewBase::setDrawRect(), QPixmap::width(), and QPixmap::xForm().

Referenced by QtViewImp::drawLatex().

void drawLatex ( const std::string &  eq,
int  position = 0 
) [virtual, inherited]

Draws a Latex equation.

This function will call drawImage. Meaning of position: 0.Full 1.Top 2.Bottom 3.Left

Reimplemented from ViewBase.

Definition at line 1173 of file QtViewImp.cxx.

References QDateTime::currentDateTime(), QtViewImp::drawImage(), QString::latin1(), QtViewImp::m_eq_png, QFile::open(), and QDir::setCurrent().

void drawLines ( const std::vector< double > &  x,
const std::vector< double > &  y,
hippodraw::Line::Style  style,
const Color color,
float  size 
) [virtual, inherited]

Draws multiple line segments - that is, a line between x0,y0 and x1,y2, another between x2,y2 and x3,y3 and so on.

x pairs of coordinates in user space on the X axis for the beginning and the end of the line segment. y pairs of coordinates in user space on the Y axis for the beginning and the end of the line segment. style the line style. color The color size The thickness of the line.

Implements ViewBase.

Definition at line 577 of file QtViewImp.cxx.

References QtViewImp::createPen(), QPainter::drawLineSegments(), QtViewImp::m_painter, QPainter::restore(), QPainter::save(), QPainter::setPen(), QtViewImp::toViewX(), QtViewImp::toViewY(), and QtViewImp::transformAndFill().

void drawMethod ( const std::vector< double > &  x,
const std::vector< double > &  y,
int  opt1,
int  opt2 
) [private]

Draws in the view using the specified method.

The coordinates are in the user space.

Reimplemented from QtViewImp.

Definition at line 317 of file QtView.cxx.

References QPainter::drawPolyline(), QtViewImp::m_painter, QCanvasRectangle::size(), QtView::toViewX(), QtView::toViewY(), and QtView::transformAndFill().

void drawPoints ( const std::vector< double > &  x,
const std::vector< double > &  y,
const std::vector< Color > &  colors,
hippodraw::Symbol::Type  type,
float  sym_size 
) [virtual, inherited]

Todo:
This method has a lot of duplicated code from the one with the same name but only one color. One should remove the duplication.
Todo:
The draw triangle methods have duplicated code which could be removed.

Implements ViewBase.

Definition at line 366 of file QtViewImp.cxx.

References hippodraw::Symbol::CIRCLE, QPainter::drawEllipse(), QPainter::drawPie(), QPainter::drawPolygon(), hippodraw::Symbol::FILLED_CIRCLE, hippodraw::Symbol::FILLED_TRIANGLE, QPainter::fillRect(), Color::getBlue(), Color::getGreen(), Color::getRed(), QtViewImp::m_painter, hippodraw::Symbol::PLUS, QPainter::restore(), QPainter::save(), QPainter::setBrush(), QPainter::setPen(), hippodraw::Symbol::SOLIDSQUARE, hippodraw::Symbol::SQUARE, hippodraw::Symbol::TIMES, QtViewImp::toViewX(), QtViewImp::toViewY(), and hippodraw::Symbol::TRIANGLE.

void drawPoints ( const std::vector< double > &  x,
const std::vector< double > &  y,
hippodraw::Symbol::Type  type,
float  sym_size 
) [virtual, inherited]

Todo:
Determine if this member function is no longer needed.

Definition at line 349 of file QtViewImp.cxx.

void drawPolygon ( const std::vector< double > &  xpoints,
const std::vector< double > &  ypoints,
const Color color,
const Color edge 
) [virtual, inherited]

Draws a polygon.

xpoints points along the X axis. ypoints points along the Y axis. color The color.

Reimplemented from ViewBase.

Definition at line 517 of file QtViewImp.cxx.

References QPainter::drawPolygon(), Color::getBlue(), Color::getGreen(), Color::getRed(), QtViewImp::m_painter, QPainter::restore(), QPainter::save(), QPainter::setBrush(), QPainter::setPen(), num_util::size(), QtViewImp::toViewX(), QtViewImp::toViewY(), and QtViewImp::transformAndFill().

void drawPolyLine ( const std::vector< double > &  xpoints,
const std::vector< double > &  ypoints,
hippodraw::Line::Style  style,
const Color color,
float  size 
) [virtual, inherited]

Draws a polyline.

xpoints points along the X axis. ypoints points along the Y axis. style the line style. color The color. size The thickness of the line.

Implements ViewBase.

Definition at line 558 of file QtViewImp.cxx.

References QtViewImp::createPen(), QtViewImp::drawMethod(), QtViewImp::m_painter, QPainter::restore(), QPainter::save(), and QPainter::setPen().

void drawSelf (  )  [virtual, inherited]

Draws itself.

Definition at line 60 of file ViewBase.cxx.

References PlotterBase::drawIn(), and ViewBase::m_plotter.

Referenced by QtViewWidget::draw(), QtView::draw(), QtView::drawWithPixmap(), OpenGLWindow::paint(), and QtViewWidget::paintEvent().

void drawShape ( QPainter  )  [virtual]

Overrides pure virtual function of QCanvasPolygonalItem.

Reimplemented from QCanvasRectangle.

Definition at line 158 of file QtView.cxx.

References QtView::draw().

void drawSquare ( double  x1,
double  y1,
double  x2,
double  y2,
int  red,
int  green,
int  blue 
) [virtual, inherited]

Draws a colored square.

Used for shading on the cuts and the gray plot.

Implements ViewBase.

Definition at line 949 of file QtViewImp.cxx.

References QPainter::fillRect(), QtViewImp::m_painter, ViewBase::m_plotter, QtViewImp::toViewX(), and QtViewImp::toViewY().

void drawText ( const std::string &  s,
float  x,
float  y,
float  fontsize,
float  angle,
char  xp,
char  yp,
bool  resize,
const FontBase font,
const Color color 
) [virtual, inherited]

Draws a text string at a point in the view's coordinate system.

Parameters:
s The string to be drawn.
x The x coordinate in the view's coordinate system.
y The y coordinate in the view's coordinate system.
fontsize The font size. If zero, then taken from the font object.
angle The angle to draw. 90 degrees is vertical with the beginning of the text towards the bottom.
xp The horizontal alignment with respect to the coordinate. 'r' means the coordinate is on the right side of the text, 'c' means centered, and 'l' for the left side.
yp The vertical alignment with respect to the coordinate. 't' means toward the top, 'c' means centered, and 'b' means bottom.
resize If true, the bounding rectangle of the view should be re-sized to fit the text string.
font If not a null pointer, then the font object to be used, otherwise the default font will be used.
color If not given as argument, the default color is that of the default Color constructor which is black.

Implements ViewBase.

Definition at line 916 of file QtViewImp.cxx.

References QtViewImp::draw_Text(), Color::getBlue(), ViewBase::getDrawRect(), Color::getGreen(), Color::getRed(), Rect::getX(), Rect::getY(), QtViewImp::m_font_default, and QtViewImp::m_painter.

void drawText ( const std::string &  s,
float  x,
float  y,
float  fontsize,
float  angle,
char  xp,
char  yp,
bool  resize 
) [virtual, inherited]

Note:
This method is only here to avoid introducing FontBase to SIP based Python extension module.

Definition at line 905 of file QtViewImp.cxx.

Referenced by QtViewImp::draw_Text().

void drawViewLines ( const std::vector< double > &  x,
const std::vector< double > &  y,
hippodraw::Line::Style  style,
const Color color,
float  size 
) [virtual, inherited]

Draws multiple line segments.

x pairs of coordinates in view space on the X axis for the beginning and the end of the line segment. y pairs of coordinates in view space on the Y axis for the beginning and the end of the line segment. style the line style. color The color size The thickness of the line.

Implements ViewBase.

Definition at line 666 of file QtViewImp.cxx.

References QtViewImp::createPen(), QPainter::drawLineSegments(), QtViewImp::m_painter, QPainter::restore(), QPainter::save(), QPainter::setPen(), QtViewImp::toCanvasX(), QtViewImp::toCanvasY(), and QtViewImp::transformAndFill().

void drawViewLines ( const std::vector< double > &  x,
const std::vector< double > &  y,
hippodraw::Line::Style  style,
bool  color,
float  size 
) [virtual, inherited]

Bug:
bool argument is not used.

Implements ViewBase.

Definition at line 644 of file QtViewImp.cxx.

References QtViewImp::drawViewMethod(), QtViewImp::m_painter, QPainter::pen(), QPainter::restore(), QtViewImp::s_line_style, QPainter::save(), and QPainter::setPen().

void drawViewMethod ( const std::vector< double > &  x,
const std::vector< double > &  y,
int  opt1,
int  opt2 
) [private]

Draws in the view using the specified method.

The coordinates are in the view space.

Todo:
We may have function like this that takes pointer to member function of QPainter as first argument.

Reimplemented from QtViewImp.

Definition at line 295 of file QtView.cxx.

References QPainter::drawLineSegments(), QtViewImp::m_painter, QCanvasRectangle::size(), QtView::toCanvasX(), QtView::toCanvasY(), and QtView::transformAndFill().

void drawViewSquare ( float  x1,
float  y1,
float  x2,
float  y2,
int  red,
int  green,
int  blue 
) [virtual, inherited]

Draws a colored square in view space.

Used for shading on the cuts and the gray plot.

Implements ViewBase.

Definition at line 973 of file QtViewImp.cxx.

References QPainter::fillRect(), QtViewImp::m_painter, QtViewImp::toCanvasX(), and QtViewImp::toCanvasY().

void drawWithPixmap ( QPainter painter  )  [private]

Does the drawing with QPixmap cache instead of directly to paint device.

Attention:
This method should not be used when drawing to the printer.

Definition at line 67 of file QtView.cxx.

References QPainter::begin(), QPainter::drawPixmap(), ViewBase::drawSelf(), QPainter::end(), QtView::ensureOffScrSize(), QPixmap::fill(), QtView::getDrawRect(), Rect::getX(), Rect::getY(), QCanvasRectangle::height(), QtView::m_filled, QtViewImp::m_painter, QtView::m_pixmap, QCanvasRectangle::rect(), QPainter::translate(), and QCanvasRectangle::width().

Referenced by QtView::draw().

void ensureOffScrSize ( int  osw,
int  osh 
) [private]

Used by the double buffering done in method draw.

Todo:
It still does a fair amount of flickering, need to look at this further.

Definition at line 340 of file QtView.cxx.

References QPixmap::height(), QtView::m_pixmap, QPixmap::resize(), and QPixmap::width().

Referenced by QtView::drawWithPixmap().

void fillPickedPoint ( double  x,
double  y,
std::vector< double > &  picked 
) const [virtual]

Fills the picked point vector.

Converts the view coordinates x and y to data coordinates. The results are put in the vector picked.

Implements QtViewImp.

Definition at line 245 of file QtView.cxx.

References ViewBase::m_plotter, DataView::marginToInvertedUserX(), DataView::marginToInvertedUserY(), and DataView::marginToUserX().

Referenced by CanvasView::contentsMouseMoveEvent(), and CanvasView::contentsMouseReleaseEvent().

double getAspectRatio (  )  const [virtual, inherited]

Get the aspect ratio.

Definition at line 88 of file ViewBase.cxx.

References ViewBase::m_plotter.

Referenced by CanvasView::contentsMouseMoveEvent(), DataView::prepareMarginRect(), QtViewWidget::update(), and QtView::updateDrawRect().

Rect getDrawRect (  )  const [virtual]

Overrides virtual function of ViewBase.

Implements ViewBase.

Definition at line 163 of file QtView.cxx.

References QCanvasRectangle::height(), and QCanvasRectangle::width().

Referenced by QtView::drawWithPixmap(), and QtView::updateDrawRect().

const Rect & getMarginRect (  )  const [inherited]

Returns the rectangle area in which data points are drawn.

Definition at line 45 of file DataView.cxx.

References DataView::m_margin_rect.

Referenced by AxisRepColor::drawColorScale(), ContourPointRep::drawContourTicks(), QtViewImp::drawImage(), AxisRepBase::drawTitle(), AxisRepBase::drawXLabels(), AxisRepBase::drawXMag(), AxisRepBase::drawXTickLabels(), AxisRepBase::drawXTickLines(), AxisRepBase::drawYLabels(), AxisRepBase::drawYMag(), AxisRepBase::drawYTickLines(), AxisRepColor::drawZLabels(), AxisRepColor::drawZTickLabels(), AxisRepColor::drawZTickLines(), OpenGLView::toViewY(), and EpsView::toViewY().

PlotterBase * getPlotter (  )  [inherited]

Returns the plotter used by this view.

Definition at line 55 of file ViewBase.cxx.

References ViewBase::m_plotter.

PlotterBase * getPlotter (  )  const [inherited]

Returns the plotter used by this view.

Reimplemented in OpenGLView.

Definition at line 50 of file ViewBase.cxx.

References ViewBase::m_plotter.

Referenced by ViewBaseXML::areDataSourcesSaved(), CanvasView::contentsMouseMoveEvent(), CanvasView::controlMousePressEvent(), ViewBaseXML::createChild(), DisplayController::createTextView(), AxisRepColor::drawColorScale(), GroupViewBase::getPlotters(), FigureEditor::movePlotterWithText(), DataView::prepareMarginRect(), PyCanvas::saveAsImage(), CanvasView::saveSelectedAsEps(), and CanvasView::viewShowPickTable().

const Range & getRange ( Axes::Type  axis  )  const [inherited]

Returns the range of the data space on specified axis.

Definition at line 69 of file ViewBase.cxx.

References ViewBase::m_plotter.

Referenced by ContourPointRep::drawContourTicks().

const Rect & getRawRect (  )  const [inherited]

Returns the rectangle before transform.

Definition at line 83 of file ViewBase.cxx.

References PlotterBase::getRawRect(), and ViewBase::m_plotter.

const Rect & getUserRect (  )  const [inherited]

Is called by the AxisRepBase object (or one of its derived objects), and returns the rectangle where the drawing is made.

Definition at line 76 of file ViewBase.cxx.

References PlotterBase::getUserRect(), and ViewBase::m_plotter.

Referenced by ContourPointRep::drawValues(), ContourPointRep::drawValuesWithStyle(), AxisRepBase::initAxisRect(), DataView::marginToInvertedUserX(), DataView::marginToInvertedUserY(), DataView::marginToUserX(), DataView::marginToUserY(), DataView::userToInvertedMarginX(), DataView::userToInvertedMarginY(), DataView::userToMarginColor(), DataView::userToMarginX(), and DataView::userToMarginY().

bool isTextView (  )  const

Definition at line 362 of file QtView.cxx.

References PlotterBase::isTextPlotter(), and ViewBase::m_plotter.

Referenced by FigureEditor::contentsMousePressEvent(), FigureEditor::maximumZ(), and FigureEditor::setSelectedItem().

double marginToInvertedUserX ( double  x  )  const [protected, virtual, inherited]

Converts from view coordinate to data conordiate, take into account the inversion of x axes.

Definition at line 187 of file DataView.cxx.

References ViewBase::getUserRect(), Rect::getWidth(), Rect::getX(), DataView::m_margin_rect, and ViewBase::m_plotter.

Referenced by QtView::fillPickedPoint().

double marginToInvertedUserY ( double  y  )  const [protected, virtual, inherited]

Converts from inverted view coordinate to data coordinate, without taking into account transforms or scaling.

Definition at line 209 of file DataView.cxx.

References Rect::getHeight(), ViewBase::getUserRect(), Rect::getY(), DataView::m_margin_rect, and ViewBase::m_plotter.

Referenced by QtViewWidget::fillPickedPoint(), and QtView::fillPickedPoint().

double marginToUserX ( double  x  )  const [protected, virtual, inherited]

Converts from view coordinate to data coordinate, without taking into account transforms or scaling.

Definition at line 176 of file DataView.cxx.

References ViewBase::getUserRect(), Rect::getWidth(), Rect::getX(), DataView::m_margin_rect, and ViewBase::m_plotter.

Referenced by QtViewWidget::fillPickedPoint(), and QtView::fillPickedPoint().

double marginToUserY ( double  y  )  const [protected, virtual, inherited]

Converts from view coordinate to data coordinate, without taking into account transforms or scaling.

Definition at line 198 of file DataView.cxx.

References Rect::getHeight(), ViewBase::getUserRect(), Rect::getY(), DataView::m_margin_rect, and ViewBase::m_plotter.

void prepareMarginRect (  )  [protected, inherited]

Prepares the margin rectangle.

Definition at line 62 of file DataView.cxx.

References ViewBase::getAspectRatio(), PlotterBase::getBottomMargin(), ViewBase::getDrawRect(), Rect::getHeight(), PlotterBase::getLeftMargin(), ViewBase::getPlotter(), PlotterBase::getTopMargin(), Rect::getWidth(), PlotterBase::getZMargin(), PlotterBase::labelFont(), DataView::m_margin_rect, ViewBase::m_plotter, FontBase::pointSize(), Rect::setRect(), PlotterBase::titleFont(), hippodraw::Axes::X, and hippodraw::Axes::Z.

Referenced by QtViewWidget::paintEvent(), QtViewWidget::resizeEvent(), QtView::setDrawRect(), QtViewWidget::setGeometry(), and QtViewWidget::update().

void setCrossX ( double  val  )  [inherited]

Set the crossX value.

Definition at line 986 of file QtViewImp.cxx.

References ViewBase::m_plotter, and PlotterBase::setCrossX().

Referenced by CanvasView::contentsMouseMoveEvent().

void setCrossY ( double  val  )  [inherited]

Set the crossY value.

Definition at line 991 of file QtViewImp.cxx.

References ViewBase::m_plotter, and PlotterBase::setCrossY().

Referenced by CanvasView::contentsMouseMoveEvent().

void setDefaultFont ( const QFont font  )  [virtual, inherited]

Definition at line 999 of file QtViewImp.cxx.

References QtViewImp::m_font_default.

void setDrawRect ( float  x,
float  y,
float  width,
float  height 
) [virtual]

Sets the drawing rectangle in the paint device space.

Implements ViewBase.

Definition at line 212 of file QtView.cxx.

References Rect::getWidth(), Rect::getX(), QtView::m_filled, DataView::m_margin_rect, DataView::prepareMarginRect(), and QCanvasRectangle::setSize().

void setDrawRect ( Rect rect  ) 

Set the drawing rectangle in the paint device space.

Definition at line 205 of file QtView.cxx.

References QCanvasRectangle::rect(), and QtView::setDrawRect().

void setDrawRect ( const QRect rect  ) 

Sets the drawing rectangle in the paint device space.

Definition at line 200 of file QtView.cxx.

References QCanvasRectangle::height(), and QCanvasRectangle::rect().

Referenced by QtView::setDrawRect(), and QtView::updateDrawRect().

void setInspector ( QObject  )  [inherited]

Sets the receiver of update messages.

When this object receives update() from one of it Observable objects, it emits a custom event message to this object, if one exists.

Definition at line 91 of file QtViewImp.cxx.

References QtViewImp::m_inspector.

void setMarginRect ( const Rect  )  [inherited]

Sets the margin rectangle.

Sets the rectangular are in which the data points are drawn. The coordinate system is that of the view.

Definition at line 52 of file DataView.cxx.

References DataView::m_margin_rect.

void setPageWidth ( int  upage_w  )  [virtual]

Set the page width.

It is used for setting the dimensions of the draw rectangle

Definition at line 354 of file QtView.cxx.

References QtView::m_upage_w.

void setPlotter ( PlotterBase plotter  )  [virtual, inherited]

Sets the PlotterBase object to plotter.

The ViewBase object does not own the plotter. If the plotter is being changed, it is up to client code to decide to destroy the previous plotter or not.

Reimplemented in OpenGLView, and QtViewWidget.

Definition at line 45 of file ViewBase.cxx.

References ViewBase::m_plotter.

Referenced by QtViewWidget::setPlotter().

void setShowCrossHairs ( bool  flag  )  [virtual]

Sets display status of cross-hairs.

Sets the display of cross-hairs at the previous defined position on if flag is true, otherwise does not display the cross-hairs.

See also:
setCrossX and setCrossY.

Definition at line 106 of file QtView.cxx.

References QtView::m_crosshairs.

Referenced by CanvasView::contentsMouseMoveEvent(), and CanvasView::contentsMouseReleaseEvent().

int toCanvasX ( double  dx  )  const [private, virtual]

Converts coordinate from view space to canvas space.

Implements QtViewImp.

Definition at line 260 of file QtView.cxx.

Referenced by QtView::drawViewMethod().

int toCanvasY ( double  dy  )  const [private, virtual]

Converts coordinate from view space to canvas space.

Implements QtViewImp.

Definition at line 265 of file QtView.cxx.

Referenced by QtView::drawViewMethod().

int toView ( double  x  )  const [inline, inherited]

Converts the view space coordinate x expressed as a double to one expressed as an int.

Definition at line 259 of file QtViewImp.h.

int toViewX ( double  datX  )  const [virtual]

Converts the data space coordinate X to the view space coordinate X.

Implements QtViewImp.

Definition at line 230 of file QtView.cxx.

References ViewBase::m_plotter, DataView::userToInvertedMarginX(), and DataView::userToMarginX().

Referenced by CanvasView::contentsMouseMoveEvent(), and QtView::drawMethod().

int toViewY ( double  datY  )  const [virtual]

Converts the data space coordinate Y to the view space coordinate Y.

Implements QtViewImp.

Definition at line 238 of file QtView.cxx.

References DataView::userToInvertedMarginY().

Referenced by CanvasView::contentsMouseMoveEvent(), and QtView::drawMethod().

void transformAndFill ( QPointArray array,
const std::vector< double > &  x,
const std::vector< double > &  y,
int(QtView::*)(double) const  xfunc,
int(QtView::*)(double) const  yfunc 
) [private]

Fills the array with QPoint objects whose coordinates are in the QPaintDevice space from the vectors x and y whose coordinates are in the data space.

The member functions xfunc and yfunc of the QtView class are used for the transformation

Definition at line 273 of file QtView.cxx.

References QCanvasRectangle::size().

Referenced by QtView::drawMethod(), and QtView::drawViewMethod().

void update ( const Observable  )  [virtual]

Responds to Observable update message.

If display is not null, responds to Observable update message by informing the QCanvas that its rectangular has changed.

Reimplemented from QtViewImp.

Definition at line 170 of file QtView.cxx.

References QtView::m_filled, QtView::m_is_drawing, QCanvasItem::update(), and QtView::updateDrawRect().

Referenced by CanvasView::contentsMouseMoveEvent(), and CanvasView::contentsMouseReleaseEvent().

void updateDrawRect (  )  [virtual]

Updates the drawing rectangle in the paint device space.

Handle aspect ratio changes here.

Reimplemented from ViewBase.

Definition at line 188 of file QtView.cxx.

References ViewBase::getAspectRatio(), QtView::getDrawRect(), Rect::getHeight(), Rect::getX(), Rect::getY(), and QtView::setDrawRect().

Referenced by QtView::update().

float userToDrawColor ( double  c  )  const [virtual, inherited]

Converts a coordinate in user space to drawing space along the color (X) axis.

Implements ViewBase.

Definition at line 130 of file QtViewImp.cxx.

References DataView::userToMarginColor().

float userToDrawX ( double  x  )  const [virtual, inherited]

Converts a coordinate in user space to drawing space along the X axis.

Implements ViewBase.

Definition at line 120 of file QtViewImp.cxx.

References DataView::userToMarginX().

float userToDrawXAutoInv ( double  x  )  const [virtual, inherited]

Implements ViewBase.

Definition at line 112 of file QtViewImp.cxx.

References ViewBase::m_plotter, DataView::userToInvertedMarginX(), and DataView::userToMarginX().

float userToDrawY ( double  y  )  const [virtual, inherited]

Converts a coordinate in user space to drawing space along the Y axis.

Implements ViewBase.

Definition at line 125 of file QtViewImp.cxx.

References DataView::userToInvertedMarginY().

float userToInvertedMarginX ( double  x  )  const [protected, virtual, inherited]

Converts the user X coordinate into the inverted X coordinate.

Definition at line 133 of file DataView.cxx.

References ViewBase::getUserRect(), Rect::getWidth(), Rect::getX(), DataView::m_margin_rect, and ViewBase::m_plotter.

Referenced by QtView::toViewX(), QtViewImp::userToDrawXAutoInv(), and EpsView::userToDrawXAutoInv().

float userToInvertedMarginY ( double  y  )  const [protected, virtual, inherited]

Converts the user Y coordinate into the top-left based margin Y coordinate.

Definition at line 154 of file DataView.cxx.

References Rect::getHeight(), ViewBase::getUserRect(), Rect::getY(), DataView::m_margin_rect, and ViewBase::m_plotter.

Referenced by QtViewWidget::toViewY(), QtView::toViewY(), QtViewImp::userToDrawY(), OpenGLView::userToDrawY(), and EpsView::userToDrawY().

float userToMarginColor ( double  c  )  const [protected, virtual, inherited]

Converts the user Z coordinate into the margin color (X) coordinate.

Definition at line 165 of file DataView.cxx.

References Rect::getDepth(), ViewBase::getUserRect(), Rect::getWidth(), Rect::getX(), Rect::getZ(), DataView::m_margin_rect, and ViewBase::m_plotter.

Referenced by QtViewImp::userToDrawColor(), OpenGLView::userToDrawColor(), and EpsView::userToDrawColor().

float userToMarginX ( double  x  )  const [protected, virtual, inherited]

Converts the user X coordinate into the margin X coordinate.

Definition at line 122 of file DataView.cxx.

References ViewBase::getUserRect(), Rect::getWidth(), Rect::getX(), DataView::m_margin_rect, and ViewBase::m_plotter.

Referenced by QtViewWidget::toViewX(), QtView::toViewX(), OpenGLView::toViewX(), EpsView::toViewX(), QtViewImp::userToDrawX(), OpenGLView::userToDrawX(), EpsView::userToDrawX(), QtViewImp::userToDrawXAutoInv(), and EpsView::userToDrawXAutoInv().

float userToMarginY ( double  y  )  const [protected, virtual, inherited]

Converts the user Y coordinate into the margin Y coordinate.

Definition at line 144 of file DataView.cxx.

References Rect::getHeight(), ViewBase::getUserRect(), Rect::getY(), DataView::m_margin_rect, and ViewBase::m_plotter.

Referenced by OpenGLView::toViewY(), and EpsView::toViewY().

void willDelete ( const Observable plotter  )  [virtual, inherited]

Responds to notification that the PlotterBase object is being deleted.

Reimplemented from Observer.

Definition at line 96 of file ViewBase.cxx.

References ViewBase::m_plotter.


Member Data Documentation

bool m_crosshairs [private]

A flag indicating if cross-hairs should be drawn.

Definition at line 62 of file QtView.h.

Referenced by QtView::draw(), and QtView::setShowCrossHairs().

bool m_filled [private]

A flag indicating if the buffer pixmap has been filled.

Definition at line 58 of file QtView.h.

Referenced by QtView::drawWithPixmap(), QtView::setDrawRect(), and QtView::update().

QFont m_font_default [protected, inherited]

Definition at line 76 of file QtViewImp.h.

Referenced by QtViewImp::defaultFont(), QtViewImp::drawText(), and QtViewImp::setDefaultFont().

QObject* m_inspector [protected, inherited]

The receiver of update messages.

Definition at line 69 of file QtViewImp.h.

Referenced by QtViewImp::setInspector(), and QtViewImp::update().

bool m_is_drawing [private]

A flag set true when drawing has stared.

Definition at line 66 of file QtView.h.

Referenced by QtView::draw(), and QtView::update().

Rect m_margin_rect [protected, inherited]

The rectangle area in which the projected points are plotted.

The coordinate system is that of the view device. X increase to the right and Y increases downward. Outside of this area are the axis labels, title, etc.

Definition at line 48 of file DataView.h.

Referenced by DataView::getMarginRect(), DataView::marginToInvertedUserX(), DataView::marginToInvertedUserY(), DataView::marginToUserX(), DataView::marginToUserY(), DataView::prepareMarginRect(), QtView::setDrawRect(), DataView::setMarginRect(), DataView::userToInvertedMarginX(), DataView::userToInvertedMarginY(), DataView::userToMarginColor(), DataView::userToMarginX(), and DataView::userToMarginY().

QPainter* m_painter [protected, inherited]

The current Qt QPainter object.

Definition at line 72 of file QtViewImp.h.

Referenced by QtViewWidget::draw(), QtView::draw(), QtGroupView::draw(), QtViewImp::draw_Text(), QtViewImp::drawColorLines(), QtViewImp::drawImage(), QtViewImp::drawLines(), QtViewWidget::drawMethod(), QtViewImp::drawMethod(), QtView::drawMethod(), QtViewImp::drawPoints(), QtViewImp::drawPolygon(), QtViewImp::drawPolyLine(), QtViewImp::drawSquare(), QtViewImp::drawText(), QtViewImp::drawViewLines(), QtViewWidget::drawViewMethod(), QtViewImp::drawViewMethod(), QtView::drawViewMethod(), QtViewImp::drawViewSquare(), QtView::drawWithPixmap(), and QtViewWidget::paintEvent().

QPixmap m_pixmap [private]

A QPixmap used for buffer the plot.

Definition at line 51 of file QtView.h.

Referenced by QtView::drawWithPixmap(), and QtView::ensureOffScrSize().

PlotterBase* m_plotter [protected, inherited]

The plotter object used by this view.

Although the plotter object was created externally, the view owns the plotter object.

Definition at line 69 of file ViewBase.h.

Referenced by DataView::DataView(), QtView::draw(), ViewBase::drawSelf(), QtViewImp::drawSquare(), QtViewWidget::fillPickedPoint(), QtView::fillPickedPoint(), ViewBase::getAspectRatio(), ViewBase::getPlotter(), ViewBase::getRange(), ViewBase::getRawRect(), ViewBase::getUserRect(), QtView::isTextView(), DataView::marginToInvertedUserX(), DataView::marginToInvertedUserY(), DataView::marginToUserX(), DataView::marginToUserY(), QtViewWidget::mousePressEvent(), QtViewWidget::paintEvent(), DataView::prepareMarginRect(), QtView::QtView(), QtViewWidget::resizeEvent(), QtViewImp::setCrossX(), QtViewImp::setCrossY(), QtViewWidget::setGeometry(), ViewBase::setPlotter(), QtView::toViewX(), QtViewWidget::update(), QtViewImp::userToDrawXAutoInv(), EpsView::userToDrawXAutoInv(), DataView::userToInvertedMarginX(), DataView::userToInvertedMarginY(), DataView::userToMarginColor(), DataView::userToMarginX(), DataView::userToMarginY(), ViewBase::willDelete(), and QtView::~QtView().

int m_upage_w [private]

Page width.

Definition at line 54 of file QtView.h.

Referenced by QtView::setPageWidth().


The documentation for this class was generated from the following files:
Generated for HippoDraw Class Library by doxygen