This is the abstract base class for a group view. More...
#include <GroupViewBase.h>
Public Member Functions | |
void | addView (ViewBase *inView) |
Add a view to the group. | |
virtual void | drawColorLines (const std::vector< double > &x, const std::vector< double > &y, Line::Style style, const std::vector< Color > &color, float size)=0 |
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, Line::Style style, const Color &color, float size)=0 |
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, Symbol::Type type, float sym_size, const Color &color)=0 |
Draws symbol points. | |
virtual void | drawPoints (const std::vector< double > &x, const std::vector< double > &y, const std::vector< Color > &colors, Symbol::Type type, float sym_size)=0 |
Draws symbol points. | |
virtual void | drawPolygon (const std::vector< double > &xpoints, const std::vector< double > &ypoints, const Color &color, const Color &edge) |
Draws a polygon. | |
virtual void | drawPolyLine (const std::vector< double > &xpoints, const std::vector< double > &ypoints, Line::Style style, const Color &color, float size)=0 |
Draws a polyline. | |
virtual void | drawSelf () |
Draws itself. | |
virtual void | drawSquare (double x1, double y1, double x2, double y2, int red, int green, int blue)=0 |
Draws a colored square. | |
virtual void | drawText (const std::string &s, float x, float y, float fontsize, float angle=0.0, char xp= 'l', char yp= 't', bool resize=false, const FontBase *font=0, const Color *color=0)=0 |
Draws a text string at a point in the view's coordinate system. | |
virtual void | drawViewLines (const std::vector< double > &x, const std::vector< double > &y, Line::Style style, bool color, float size)=0 |
Draws multiple line segments. | |
virtual void | drawViewLines (const std::vector< double > &x, const std::vector< double > &y, Line::Style style, const Color &color, float size)=0 |
Draws multiple line segments. | |
virtual void | drawViewSquare (float x1, float y1, float x2, float y2, int red, int green, int blue)=0 |
Draws a colored square in view space. | |
virtual double | getAspectRatio () const |
Get the aspect ratio. | |
virtual Rect | getDrawRect () const =0 |
Returns the drawing Rectangle in the devices coordinate system. | |
PlotterBase * | getPlotter () const |
Returns the plotter used by this view. | |
PlotterBase * | getPlotter () |
Returns the plotter used by this view. | |
const std::vector< PlotterBase * > | getPlotters () const |
Get plotters of every view. | |
const Range & | getRange (Axes::Type axis) const |
Returns the range of the data space on specified axis. | |
const Rect & | getRawRect () const |
Returns the rectangle before transform. | |
const Rect & | getUserRect () const |
Is called by the AxisRepBase object (or one of its derived objects), and returns the rectangle where the drawing is made. | |
const std::vector< ViewBase * > & | getViews () |
Get all views in this group. | |
GroupViewBase () | |
Constructor. | |
GroupViewBase (const std::vector< ViewBase * > &inViews) | |
Constructor that takes a vector of views as argument. | |
GroupViewBase (const GroupViewBase &) | |
Copy constructor. | |
void | removeView (ViewBase *inView) |
Remove a view in the group. | |
virtual void | setDrawRect (float x, float y, float w, float h)=0 |
Sets the drawing Rectangle in the devices coordinate system. | |
virtual void | setPlotter (PlotterBase *plotter) |
Sets the PlotterBase object to plotter. | |
virtual void | update (const Observable *)=0 |
Implements the update method of the Observer pattern. | |
virtual void | updateDrawRect () |
Update the drawing Rectangle in the devices coordinate system. | |
virtual float | userToDrawColor (double c) const =0 |
Converts a coordinate in user space to drawing space along the color (X) axis. | |
virtual float | userToDrawX (double x) const =0 |
Converts a coordinate in user space to drawing space along the X axis. | |
virtual float | userToDrawXAutoInv (double x) const =0 |
virtual float | userToDrawY (double y) const =0 |
Converts a coordinate in user space to drawing space along the Y axis. | |
virtual void | willDelete (const Observable *plotter) |
Responds to notification that the PlotterBase object is being deleted. | |
virtual | ~GroupViewBase () |
Destructor. |
Protected Attributes | |
PlotterBase * | m_plotter |
The plotter object used by this view. | |
std::vector< ViewBase * > | mViews |
A vector that keeps all view in the same group view. |
This is the abstract base class for a group view.
It contains a vector of views in a group.
Definition at line 27 of file GroupViewBase.h.
GroupViewBase | ( | ) |
Constructor.
Definition at line 24 of file GroupViewBase.cxx.
GroupViewBase | ( | const std::vector< ViewBase * > & | inViews | ) |
Constructor that takes a vector of views as argument.
Definition at line 29 of file GroupViewBase.cxx.
References GroupViewBase::mViews.
GroupViewBase | ( | const GroupViewBase & | src | ) |
Copy constructor.
Definition at line 34 of file GroupViewBase.cxx.
|
virtual |
Destructor.
Definition at line 38 of file GroupViewBase.cxx.
void addView | ( | ViewBase * | inView | ) |
Add a view to the group.
Definition at line 65 of file GroupViewBase.cxx.
References GroupViewBase::mViews.
Referenced by CanvasView::groupView().
|
pure virtualinherited |
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.
Implemented in QtViewImp, EpsView, and OpenGLView.
Referenced by ContourPointRep::drawValues(), and ContourPointRep::drawValuesWithStyle().
|
virtualinherited |
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 in QtViewImp.
Definition at line 112 of file ViewBase.cxx.
|
virtualinherited |
Draws a Latex equation.
This function will call drawImage. Meaning of position: 0.Full 1.Top 2.Bottom 3.Left
Reimplemented in QtViewImp.
Definition at line 119 of file ViewBase.cxx.
Referenced by BoxTextRep::drawProjectedValues(), AxisRepBase::drawTitle(), AxisRepBase::drawXLabels(), AxisRepBase::drawYLabels(), and AxisRepColor::drawZLabels().
|
pure virtualinherited |
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.
Implemented in QtViewImp, EpsView, and OpenGLView.
Referenced by AxisRepBase::drawCrossHairs().
|
pure virtualinherited |
Draws symbol points.
x and y are the coordinates, type is the type of symbol, and sym_size is the size. All symbols are draw in the same color.
Implemented in EpsView, and OpenGLView.
|
pure virtualinherited |
Draws symbol points.
x and y are the coordinates, type is the type of symbol, and sym_size is the size. hue is the hue parameters for each point. The saturation and brightness are set to 1.0.
Implemented in QtViewImp, EpsView, and OpenGLView.
|
virtualinherited |
Draws a polygon.
xpoints
points along the X axis. ypoints
points along the Y axis. color
The color.
Reimplemented in QtViewImp.
Definition at line 126 of file ViewBase.cxx.
|
pure virtualinherited |
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.
Implemented in QtViewImp, EpsView, and OpenGLView.
Referenced by AxisRepBase::drawAxesLines(), AxisRepBase::drawGridLines(), ColorBoxPointRep::drawProjectedValues(), ContourPointRep::drawValues(), and ContourPointRep::drawValuesWithStyle().
|
virtualinherited |
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().
|
pure virtualinherited |
Draws a colored square.
Used for shading on the cuts and the gray plot.
Implemented in QtViewImp, EpsView, and OpenGLView.
Referenced by CutRangeRep::drawInvertedRange1D(), CutRangeRep::drawInvertedRange2D(), and CutRangeRep::drawNormalRange().
|
pure virtualinherited |
Draws a text string at a point in the view's coordinate system.
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. |
Implemented in QtViewImp, EpsView, and OpenGLView.
Referenced by RepBase::displayError(), OverflowTextRep::drawProjectedValues(), UnderflowTextRep::drawProjectedValues(), TotalTextRep::drawProjectedValues(), BoxTextRep::drawProjectedValues(), FuncChiRep::drawProjectedValues(), FuncParmRep::drawProjectedValues(), AverageTextRep::drawProjectedValues(), AxisRepBase::drawReferencePoint(), AxisRepBase::drawTitle(), AxisRepBase::drawXLabels(), AxisRepBase::drawXMag(), AxisRepBase::drawXTickLabel(), AxisRepBase::drawYLabels(), AxisRepBase::drawYMag(), AxisRepBase::drawYTickLabel(), AxisRepBase::drawYTickLabels(), AxisRepColor::drawZLabels(), and AxisRepColor::drawZTickLabels().
|
pure virtualinherited |
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
if true
, use the display's point color; otherwise, use the default color. size
The thickness of the line.
Implemented in QtViewImp, EpsView, and OpenGLView.
Referenced by DrawBorder::draw(), ContourPointRep::drawContourTicks(), DrawBorder::drawKnob(), AxisRepBase::drawXTickLines(), AxisRepBase::drawYTickLines(), and AxisRepColor::drawZTickLines().
|
pure virtualinherited |
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.
Implemented in QtViewImp, EpsView, and OpenGLView.
|
pure virtualinherited |
Draws a colored square in view space.
Used for shading on the cuts and the gray plot.
Implemented in QtViewImp, EpsView, and OpenGLView.
Referenced by AxisRepColor::drawColorScale().
|
virtualinherited |
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().
|
pure virtualinherited |
Returns the drawing Rectangle in the devices coordinate system.
Must be implemented in derived class.
Implemented in QtView, EpsView, QtViewWidget, QtGroupView, and OpenGLView.
Referenced by ViewBaseXML::createElement(), DrawBorder::draw(), QtViewImp::draw_Text(), QtViewImp::drawImage(), AxisRepBase::drawReferencePoint(), QtViewImp::drawText(), AxisRepBase::drawTitle(), AxisRepBase::drawXLabels(), AxisRepBase::drawXMag(), AxisRepBase::drawYLabels(), AxisRepColor::drawZLabels(), DataView::prepareMarginRect(), AxisRepBase::setFontSize(), AxisRepBase::setXFontSize(), AxisRepBase::setYFontSize(), AxisRepBase::setZFontSize(), XPADDING(), YPADDING(), and ZPADDING().
|
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 DisplayController::addTextViewToList(), ViewBaseXML::areDataSourcesSaved(), CutController::connectDataRep(), CanvasView::contentsMouseMoveEvent(), CanvasView::controlMousePressEvent(), ViewBaseXML::createChild(), DisplayController::createTextView(), AxisRepColor::drawColorScale(), CanvasView::fillPlotterList(), CutController::fillTupleCutList(), PyCanvas::getDisplays(), GroupViewBase::getPlotters(), CanvasView::getViewFor(), PlotTable::initialize(), FigureEditor::movePlotterWithText(), CanvasView::placeItems(), DataView::prepareMarginRect(), DisplayController::removeTextObservers(), PyCanvas::saveAsImage(), CanvasView::saveSelectedAsEps(), CanvasView::setIntervalEnabled(), and CanvasView::viewShowPickTable().
|
inherited |
Returns the plotter used by this view.
Definition at line 55 of file ViewBase.cxx.
References ViewBase::m_plotter.
const vector< PlotterBase * > getPlotters | ( | ) | const |
Get plotters of every view.
Definition at line 44 of file GroupViewBase.cxx.
References ViewBase::getPlotter(), and GroupViewBase::mViews.
|
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().
|
inherited |
Returns the rectangle before transform.
Definition at line 83 of file ViewBase.cxx.
References PlotterBase::getRawRect(), and ViewBase::m_plotter.
|
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().
const vector< ViewBase * > & getViews | ( | ) |
Get all views in this group.
Definition at line 60 of file GroupViewBase.cxx.
References GroupViewBase::mViews.
Referenced by CanvasView::contentsMouseMoveEvent(), CanvasView::contentsMouseReleaseEvent(), and CanvasView::ungroupView().
void removeView | ( | ViewBase * | inView | ) |
Remove a view in the group.
Definition at line 70 of file GroupViewBase.cxx.
References GroupViewBase::mViews.
Referenced by CanvasView::ungroupView().
|
pure virtualinherited |
Sets the drawing Rectangle in the devices coordinate system.
Implemented in QtView, EpsView, QtViewWidget, QtGroupView, and OpenGLView.
Referenced by QtViewImp::draw_Text(), QtViewImp::drawImage(), and ViewBaseXML::getObjects().
|
virtualinherited |
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 QtViewWidget, and OpenGLView.
Definition at line 45 of file ViewBase.cxx.
References ViewBase::m_plotter.
|
pure virtualinherited |
Implements the update method of the Observer pattern.
Derived classes should send a message to what ever object is the parent of this ViewBase object.
Implements Observer.
Implemented in EpsView, QtView, QtViewWidget, QtViewImp, and OpenGLView.
|
virtualinherited |
Update the drawing Rectangle in the devices coordinate system.
Reimplemented in QtView.
Definition at line 105 of file ViewBase.cxx.
Referenced by XyPlotter::drawIn().
|
pure virtualinherited |
Converts a coordinate in user space to drawing space along the color (X) axis.
Implemented in QtViewImp, EpsView, and OpenGLView.
Referenced by ContourPointRep::drawContourTicks(), AxisRepColor::drawZTickLabels(), and AxisRepColor::drawZTickLines().
|
pure virtualinherited |
Converts a coordinate in user space to drawing space along the X axis.
Implemented in QtViewImp, EpsView, and OpenGLView.
Referenced by AxisRepBase::drawYTickLabels(), and AxisRepBase::drawYTickLines().
|
pure virtualinherited |
Implemented in QtViewImp, EpsView, and OpenGLView.
Referenced by AxisRepBase::drawXTickLabels(), and AxisRepBase::drawXTickLines().
|
pure virtualinherited |
Converts a coordinate in user space to drawing space along the Y axis.
Implemented in QtViewImp, EpsView, and OpenGLView.
Referenced by AxisRepBase::drawXTickLabels(), AxisRepBase::drawXTickLines(), AxisRepBase::drawYTickLabels(), and AxisRepBase::drawYTickLines().
|
virtualinherited |
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.
|
protectedinherited |
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(), EpsView::userToDrawXAutoInv(), QtViewImp::userToDrawXAutoInv(), DataView::userToInvertedMarginX(), DataView::userToInvertedMarginY(), DataView::userToMarginColor(), DataView::userToMarginX(), DataView::userToMarginY(), ViewBase::willDelete(), and QtView::~QtView().
|
protected |
A vector that keeps all view in the same group view.
Definition at line 31 of file GroupViewBase.h.
Referenced by GroupViewBase::addView(), GroupViewBase::getPlotters(), GroupViewBase::getViews(), GroupViewBase::GroupViewBase(), QtGroupView::moveBy(), GroupViewBase::removeView(), QtGroupView::setDrawRect(), QtGroupView::setPositions(), and QtGroupView::~QtGroupView().