Classes | Public Member Functions

QwtPlotGrid Class Reference

A class which draws a coordinate grid. More...

#include <qwt_plot_grid.h>

Inheritance diagram for QwtPlotGrid:
Inheritance graph
[legend]
Collaboration diagram for QwtPlotGrid:
Collaboration graph
[legend]

List of all members.

Classes

class  PrivateData

Public Member Functions

 QwtPlotGrid ()
 Enables major grid, disables minor grid.
virtual ~QwtPlotGrid ()
 Destructor.
virtual int rtti () const
void enableX (bool tf)
 Enable or disable vertical gridlines.
bool xEnabled () const
void enableY (bool tf)
 Enable or disable horizontal gridlines.
bool yEnabled () const
void enableXMin (bool tf)
 Enable or disable minor vertical gridlines.
bool xMinEnabled () const
void enableYMin (bool tf)
 Enable or disable minor horizontal gridlines.
bool yMinEnabled () const
void setXDiv (const QwtScaleDiv &sx)
const QwtScaleDivxScaleDiv () const
void setYDiv (const QwtScaleDiv &sy)
const QwtScaleDivyScaleDiv () const
void setPen (const QPen &p)
void setMajPen (const QPen &p)
const QPen & majPen () const
void setMinPen (const QPen &p)
const QPen & minPen () const
virtual void draw (QPainter *p, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRect &rect) const
 Draw the grid.
virtual void updateScaleDiv (const QwtScaleDiv &xMap, const QwtScaleDiv &yMap)

Detailed Description

A class which draws a coordinate grid.

The QwtPlotGrid class can be used to draw a coordinate grid. A coordinate grid consists of major and minor vertical and horizontal gridlines. The locations of the gridlines are determined by the X and Y scale divisions which can be assigned with setXDiv() and setYDiv(). The draw() member draws the grid within a bounding rectangle.

Definition at line 34 of file qwt_plot_grid.h.


Constructor & Destructor Documentation

QwtPlotGrid::QwtPlotGrid (  ) [explicit]

Enables major grid, disables minor grid.

Definition at line 42 of file qwt_plot_grid.cpp.

References QwtPlotItem::setZ().

                        :
    QwtPlotItem(QwtText("Grid"))
{
    d_data = new PrivateData;
    setZ(10.0);
}
QwtPlotGrid::~QwtPlotGrid (  ) [virtual]

Destructor.

Definition at line 50 of file qwt_plot_grid.cpp.

{
    delete d_data;
}

Member Function Documentation

void QwtPlotGrid::draw ( QPainter *  painter,
const QwtScaleMap xMap,
const QwtScaleMap yMap,
const QRect &  canvasRect 
) const [virtual]

Draw the grid.

The grid is drawn into the bounding rectangle such that gridlines begin and end at the rectangle's borders. The X and Y maps are used to map the scale divisions into the drawing region screen.

Parameters:
painterPainter
xMapX axis map
yMapY axis
canvasRectContents rect of the plot canvas

Implements QwtPlotItem.

Definition at line 214 of file qwt_plot_grid.cpp.

References QwtScaleDiv::MajorTick, QwtPlotGrid::PrivateData::majPen, QwtScaleDiv::MediumTick, QwtScaleDiv::MinorTick, QwtPlotGrid::PrivateData::minPen, QwtPainter::scaledPen(), QwtScaleDiv::ticks(), QwtPlotGrid::PrivateData::xEnabled, QwtPlotGrid::PrivateData::xMinEnabled, QwtPlotGrid::PrivateData::xScaleDiv, QwtPlotGrid::PrivateData::yEnabled, QwtPlotGrid::PrivateData::yMinEnabled, and QwtPlotGrid::PrivateData::yScaleDiv.

{
    //  draw minor gridlines
    painter->setPen(QwtPainter::scaledPen(d_data->minPen));
    
    if (d_data->xEnabled && d_data->xMinEnabled)
    {
        drawLines(painter, canvasRect, Qt::Vertical, xMap, 
            d_data->xScaleDiv.ticks(QwtScaleDiv::MinorTick));
        drawLines(painter, canvasRect, Qt::Vertical, xMap, 
            d_data->xScaleDiv.ticks(QwtScaleDiv::MediumTick));
    }

    if (d_data->yEnabled && d_data->yMinEnabled)
    {
        drawLines(painter, canvasRect, Qt::Horizontal, yMap, 
            d_data->yScaleDiv.ticks(QwtScaleDiv::MinorTick));
        drawLines(painter, canvasRect, Qt::Horizontal, yMap, 
            d_data->yScaleDiv.ticks(QwtScaleDiv::MediumTick));
    }

    //  draw major gridlines
    painter->setPen(QwtPainter::scaledPen(d_data->majPen));
    
    if (d_data->xEnabled)
    {
        drawLines(painter, canvasRect, Qt::Vertical, xMap,
            d_data->xScaleDiv.ticks(QwtScaleDiv::MajorTick));
    }

    if (d_data->yEnabled)
    {
        drawLines(painter, canvasRect, Qt::Horizontal, yMap,
            d_data->yScaleDiv.ticks(QwtScaleDiv::MajorTick));
    }
}
void QwtPlotGrid::enableX ( bool  tf )

Enable or disable vertical gridlines.

Parameters:
tfEnable (true) or disable
See also:
Minor gridlines can be enabled or disabled with enableXMin()

Definition at line 68 of file qwt_plot_grid.cpp.

References QwtPlotItem::itemChanged(), and QwtPlotGrid::PrivateData::xEnabled.

{
    if ( d_data->xEnabled != tf )
    {
        d_data->xEnabled = tf;
        itemChanged();
    }
}
void QwtPlotGrid::enableXMin ( bool  tf )

Enable or disable minor vertical gridlines.

Parameters:
tfEnable (true) or disable
See also:
enableX()

Definition at line 96 of file qwt_plot_grid.cpp.

References QwtPlotItem::itemChanged(), and QwtPlotGrid::PrivateData::xMinEnabled.

Referenced by QmitkHistogramWidget::QmitkHistogramWidget().

{
    if ( d_data->xMinEnabled != tf )
    {
        d_data->xMinEnabled = tf;
        itemChanged();
    }
}
void QwtPlotGrid::enableY ( bool  tf )

Enable or disable horizontal gridlines.

Parameters:
tfEnable (true) or disable
See also:
Minor gridlines can be enabled or disabled with enableYMin()

Definition at line 82 of file qwt_plot_grid.cpp.

References QwtPlotItem::itemChanged(), and QwtPlotGrid::PrivateData::yEnabled.

{
    if ( d_data->yEnabled != tf )
    {
        d_data->yEnabled = tf;  
        itemChanged();
    }
}
void QwtPlotGrid::enableYMin ( bool  tf )

Enable or disable minor horizontal gridlines.

Parameters:
tfEnable (true) or disable
See also:
enableY()

Definition at line 110 of file qwt_plot_grid.cpp.

References QwtPlotItem::itemChanged(), and QwtPlotGrid::PrivateData::yMinEnabled.

Referenced by QmitkHistogramWidget::QmitkHistogramWidget().

{
    if ( d_data->yMinEnabled != tf )
    {
        d_data->yMinEnabled = tf;
        itemChanged();
    }
}
const QPen & QwtPlotGrid::majPen (  ) const
Returns:
the pen for the major gridlines
See also:
setMajPen(), setMinPen(), setPen()

Definition at line 282 of file qwt_plot_grid.cpp.

References QwtPlotGrid::PrivateData::majPen.

Referenced by QwtPlotPrintFilter::apply(), and QwtPlotPrintFilter::reset().

{ 
    return d_data->majPen; 
}
const QPen & QwtPlotGrid::minPen (  ) const
Returns:
the pen for the minor gridlines
See also:
setMinPen(), setMajPen(), setPen()

Definition at line 291 of file qwt_plot_grid.cpp.

References QwtPlotGrid::PrivateData::minPen.

Referenced by QwtPlotPrintFilter::apply(), and QwtPlotPrintFilter::reset().

{ 
    return d_data->minPen; 
}
int QwtPlotGrid::rtti (  ) const [virtual]
Returns:
QwtPlotItem::Rtti_PlotGrid

Reimplemented from QwtPlotItem.

Definition at line 56 of file qwt_plot_grid.cpp.

References QwtPlotItem::Rtti_PlotGrid.

void QwtPlotGrid::setMajPen ( const QPen &  pen )

Assign a pen for the major gridlines

The width of non cosmetic pens is scaled according to the resolution of the paint device.

Parameters:
penPen
See also:
majPen(), setMinPen(), setPen(), QwtPainter::scaledPen()

Definition at line 175 of file qwt_plot_grid.cpp.

References QwtPlotItem::itemChanged(), and QwtPlotGrid::PrivateData::majPen.

Referenced by QwtPlotPrintFilter::apply(), QmitkHistogramWidget::QmitkHistogramWidget(), and QwtPlotPrintFilter::reset().

{
    if ( d_data->majPen != pen )
    {
        d_data->majPen = pen;
        itemChanged();
    }
}
void QwtPlotGrid::setMinPen ( const QPen &  pen )

Assign a pen for the minor gridlines

The width of non cosmetic pens is scaled according to the resolution of the paint device.

Parameters:
penPen
See also:
minPen(), setMajPen(), setPen(), QwtPainter::scaledPen()

Definition at line 193 of file qwt_plot_grid.cpp.

References QwtPlotItem::itemChanged(), and QwtPlotGrid::PrivateData::minPen.

Referenced by QwtPlotPrintFilter::apply(), QmitkHistogramWidget::QmitkHistogramWidget(), and QwtPlotPrintFilter::reset().

{
    if ( d_data->minPen != pen )
    {
        d_data->minPen = pen;  
        itemChanged();
    }
}
void QwtPlotGrid::setPen ( const QPen &  pen )

Assign a pen for both major and minor gridlines

The width of non cosmetic pens is scaled according to the resolution of the paint device.

Parameters:
penPen
See also:
setMajPen(), setMinPen(), QwtPainter::scaledPen()

Definition at line 156 of file qwt_plot_grid.cpp.

References QwtPlotItem::itemChanged(), QwtPlotGrid::PrivateData::majPen, and QwtPlotGrid::PrivateData::minPen.

{
    if ( d_data->majPen != pen || d_data->minPen != pen )
    {
        d_data->majPen = pen;
        d_data->minPen = pen;
        itemChanged();
    }
}
void QwtPlotGrid::setXDiv ( const QwtScaleDiv scaleDiv )

Assign an x axis scale division

Parameters:
scaleDivScale division

Definition at line 124 of file qwt_plot_grid.cpp.

References QwtPlotItem::itemChanged(), and QwtPlotGrid::PrivateData::xScaleDiv.

Referenced by updateScaleDiv().

{
    if ( d_data->xScaleDiv != scaleDiv )
    {
        d_data->xScaleDiv = scaleDiv;
        itemChanged();
    }
}
void QwtPlotGrid::setYDiv ( const QwtScaleDiv scaleDiv )

Assign a y axis division

Parameters:
scaleDivScale division

Definition at line 138 of file qwt_plot_grid.cpp.

References QwtPlotItem::itemChanged(), and QwtPlotGrid::PrivateData::yScaleDiv.

Referenced by updateScaleDiv().

{
    if ( d_data->yScaleDiv != scaleDiv )
    {
        d_data->yScaleDiv = scaleDiv;    
        itemChanged();
    }
}
void QwtPlotGrid::updateScaleDiv ( const QwtScaleDiv xScaleDiv,
const QwtScaleDiv yScaleDiv 
) [virtual]

Update the grid to changes of the axes scale division

Parameters:
xScaleDivScale division of the x-axis
yScaleDivScale division of the y-axis
See also:
QwtPlot::updateAxes()

Reimplemented from QwtPlotItem.

Definition at line 353 of file qwt_plot_grid.cpp.

References setXDiv(), and setYDiv().

{
    setXDiv(xScaleDiv);
    setYDiv(yScaleDiv);
}
bool QwtPlotGrid::xEnabled (  ) const
Returns:
true if vertical gridlines are enabled
See also:
enableX()

Definition at line 300 of file qwt_plot_grid.cpp.

References QwtPlotGrid::PrivateData::xEnabled.

{ 
    return d_data->xEnabled; 
}
bool QwtPlotGrid::xMinEnabled (  ) const
Returns:
true if minor vertical gridlines are enabled
See also:
enableXMin()

Definition at line 309 of file qwt_plot_grid.cpp.

References QwtPlotGrid::PrivateData::xMinEnabled.

{ 
    return d_data->xMinEnabled; 
}
const QwtScaleDiv & QwtPlotGrid::xScaleDiv (  ) const
Returns:
the scale division of the x axis

Definition at line 334 of file qwt_plot_grid.cpp.

References QwtPlotGrid::PrivateData::xScaleDiv.

{ 
    return d_data->xScaleDiv; 
}
bool QwtPlotGrid::yEnabled (  ) const
Returns:
true if horizontal gridlines are enabled
See also:
enableY()

Definition at line 318 of file qwt_plot_grid.cpp.

References QwtPlotGrid::PrivateData::yEnabled.

{ 
    return d_data->yEnabled; 
}
bool QwtPlotGrid::yMinEnabled (  ) const
Returns:
true if minor horizontal gridlines are enabled
See also:
enableYMin()

Definition at line 327 of file qwt_plot_grid.cpp.

References QwtPlotGrid::PrivateData::yMinEnabled.

{
    return d_data->yMinEnabled; 
}
const QwtScaleDiv & QwtPlotGrid::yScaleDiv (  ) const
Returns:
the scale division of the y axis

Definition at line 340 of file qwt_plot_grid.cpp.

References QwtPlotGrid::PrivateData::yScaleDiv.

{ 
    return d_data->yScaleDiv; 
}

The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines