logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

QwtAbstractScaleDraw - A abstract base class for drawing scales.

Author

       Generated automatically by Doxygen for Qwt User's Guide from the source code.

Version 6.1.4                                    Wed Jan 2 2019                          QwtAbstractScaleDraw(3)

Constructor & Destructor Documentation

QwtAbstractScaleDraw::QwtAbstractScaleDraw()
       Constructor.  The  range of the scale is initialized to [0, 100], The spacing (distance between ticks and
       labels) is set to 4, the tick lengths are set to 4,6 and 8 pixels

Detailed Description

       A abstract base class for drawing scales.

       QwtAbstractScaleDraw can be used to draw linear or logarithmic scales.

       After a scale division has been specified as a QwtScaleDiv object using setScaleDiv(), the scale can be
       drawn with the draw() member.

Member Enumeration Documentation

enumQwtAbstractScaleDraw::ScaleComponent
       Components of a scale

       Seealso:enableComponent(), hasComponentEnumeratorBackbone
              Backbone = the line where the ticks are located.

       Ticks  Ticks.

       Labels Labels.

Member Function Documentation

voidQwtAbstractScaleDraw::draw(QPainter*painter,constQPalette&palette)const[virtual]
       Draw the scale.

       Parameters:painter The painter
           palette Palette, text color is used for the labels, foreground color for ticks and backbone

   virtualvoidQwtAbstractScaleDraw::drawBackbone(QPainter*painter)const[protected],[purevirtual]
       Draws the baseline of the scale

       Parameters:painter Painter

       Seealso:drawTick(), drawLabel()

       Implemented in QwtScaleDraw, and QwtRoundScaleDraw.

   virtualvoidQwtAbstractScaleDraw::drawLabel(QPainter*painter,doublevalue)const[protected],[purevirtual]
       Draws the label for a major scale tick

       Parameters:painter Painter
           value Value

       Seealso:drawTick(), drawBackbone()

       Implemented in QwtScaleDraw, and QwtRoundScaleDraw.

   virtualvoidQwtAbstractScaleDraw::drawTick(QPainter*painter,doublevalue,doublelen)const[protected],[purevirtual]
       Draw a tick

       Parameters:painter Painter
           value Value of the tick
           len Length of the tick

       Seealso:drawBackbone(), drawLabel()

       Implemented in QwtScaleDraw, and QwtRoundScaleDraw.

   voidQwtAbstractScaleDraw::enableComponent(ScaleComponentcomponent,boolenable=true)
       En/Disable a component of the scale

       Parameters:component Scale component
           enable On/Off

       Seealso:hasComponent()virtualdoubleQwtAbstractScaleDraw::extent(constQFont&font)const[purevirtual]
       Calculate the extent

       The  extent is the distance from the baseline to the outermost pixel of the scale draw in opposite to its
       orientation. It is at least minimumExtent() pixels.

       Parameters:font Font used for drawing the tick labels

       Returns:
           Number of pixels

       Seealso:setMinimumExtent(), minimumExtent()

       Implemented in QwtScaleDraw, and QwtRoundScaleDraw.

   boolQwtAbstractScaleDraw::hasComponent(ScaleComponentcomponent)const
       Check if a component is enabled

       Parameters:component Component type

       Returns:
           true, when component is enabled

       Seealso:enableComponent()voidQwtAbstractScaleDraw::invalidateCache()[protected]
       Invalidate the cache used by tickLabel()

       The cache is invalidated, when a new QwtScaleDiv is set. If the labels need to be changed. while the same
       QwtScaleDiv is set, invalidateCache() needs to be called manually.

   QwtTextQwtAbstractScaleDraw::label(doublevalue)const[virtual]
       Convert  a  value  into  its  representing  label.  The  value  is  converted  to  a  plain  text   using
       QLocale().toString(value). This method is often overloaded by applications to have individual labels.

       Parameters:value Value

       Returns:
           Label string.

       Reimplemented in QwtDateScaleDraw, and QwtCompassScaleDraw.

   doubleQwtAbstractScaleDraw::maxTickLength()constReturns:
           Length of the longest tick

       Useful for layout calculations

       Seealso:tickLength(), setTickLength()doubleQwtAbstractScaleDraw::minimumExtent()const
       Get the minimum extent

       Returns:
           Minimum extent

       Seealso:extent(), setMinimumExtent()intQwtAbstractScaleDraw::penWidth()constReturns:
           Scale pen width

       Seealso:setPenWidth()constQwtScaleDiv&QwtAbstractScaleDraw::scaleDiv()constReturns:
           scale division

   constQwtScaleMap&QwtAbstractScaleDraw::scaleMap()constReturns:
           Map how to translate between scale and pixel values

   QwtScaleMap&QwtAbstractScaleDraw::scaleMap()Returns:
           Map how to translate between scale and pixel values

   voidQwtAbstractScaleDraw::setMinimumExtent(doubleminExtent)
       Set  a  minimum  for  the  extent.  The  extent  is  calculated from the components of the scale draw. In
       situations, where the labels are changing and the layout depends on the extent (f.e scrolling  a  scale),
       setting an upper limit as minimum extent will avoid jumps of the layout.

       Parameters:minExtent Minimum extent

       Seealso:extent(), minimumExtent()voidQwtAbstractScaleDraw::setPenWidth(intwidth)
       Specify the width of the scale pen.

       Parameters:width Pen width

       Seealso:penWidth()voidQwtAbstractScaleDraw::setScaleDiv(constQwtScaleDiv&scaleDiv)
       Change the scale division

       Parameters:scaleDiv New scale division

   voidQwtAbstractScaleDraw::setSpacing(doublespacing)
       Set  the  spacing  between  tick  and  labels.  The spacing is the distance between ticks and labels. The
       default spacing is 4 pixels.

       Parameters:spacing Spacing

       Seealso:spacing()voidQwtAbstractScaleDraw::setTickLength(QwtScaleDiv::TickTypetickType,doublelength)
       Set the length of the ticks

       Parameters:tickType Tick type
           length New length

       Warning:
           the length is limited to [0..1000]

   voidQwtAbstractScaleDraw::setTransformation(QwtTransform*transformation)
       Change the transformation of the scale

       Parameters:transformation New scale transformation

   doubleQwtAbstractScaleDraw::spacing()const
       Get the spacing. The spacing is the distance between ticks and labels. The default spacing is 4 pixels.

       Returns:
           Spacing

       Seealso:setSpacing()constQwtText&QwtAbstractScaleDraw::tickLabel(constQFont&font,doublevalue)const[protected]
       Convert a value into its representing label and cache it. The  conversion  between  value  and  label  is
       called very often in the layout and painting code. Unfortunately the calculation of the label sizes might
       be slow (really slow for rich text in Qt4), so it's necessary to cache the labels.

       Parameters:font Font
           value Value

       Returns:
           Tick label

   doubleQwtAbstractScaleDraw::tickLength(QwtScaleDiv::TickTypetickType)constReturns:
           Length of the ticks

       Seealso:setTickLength(), maxTickLength()

Name

       QwtAbstractScaleDraw - A abstract base class for drawing scales.

Synopsis

       #include <qwt_abstract_scale_draw.h>

       Inherited by QwtRoundScaleDraw, and QwtScaleDraw.

   PublicTypes
       enum ScaleComponent { Backbone = 0x01, Ticks = 0x02, Labels = 0x04 }
       typedef QFlags< ScaleComponent > ScaleComponents
           Scale components.

   PublicMemberFunctionsQwtAbstractScaleDraw ()
           Constructor.
       virtual ~QwtAbstractScaleDraw ()
           Destructor.
       void setScaleDiv (const QwtScaleDiv &)
       const QwtScaleDiv & scaleDiv () const
       void setTransformation (QwtTransform *)
       const QwtScaleMap & scaleMap () const
       QwtScaleMap & scaleMap ()
       void enableComponent (ScaleComponent, bool enable=true)
       bool hasComponent (ScaleComponent) const
       void setTickLength (QwtScaleDiv::TickType, double length)
       double tickLength (QwtScaleDiv::TickType) const
       double maxTickLength () const
       void setSpacing (double)
           Set the spacing between tick and labels.
       double spacing () const
           Get the spacing.
       void setPenWidth (int width)
           Specify the width of the scale pen.
       int penWidth () const
       virtual void draw (QPainter *, const QPalette &) const
           Draw the scale.
       virtual QwtTextlabel (double) const
           Convert a value into its representing label.
       virtual double extent (const QFont &font) const =0
       void setMinimumExtent (double)
           Set a minimum for the extent.
       double minimumExtent () const

   ProtectedMemberFunctions
       virtual void drawTick (QPainter *painter, double value, double len) const =0
       virtual void drawBackbone (QPainter *painter) const =0
       virtual void drawLabel (QPainter *painter, double value) const =0
       void invalidateCache ()
       const QwtText & tickLabel (const QFont &, double value) const
           Convert a value into its representing label and cache it.

See Also