diff options
Diffstat (limited to 'libkdeedu/kdeeduplot/kplotwidget.h')
-rw-r--r-- | libkdeedu/kdeeduplot/kplotwidget.h | 264 |
1 files changed, 0 insertions, 264 deletions
diff --git a/libkdeedu/kdeeduplot/kplotwidget.h b/libkdeedu/kdeeduplot/kplotwidget.h deleted file mode 100644 index c886bbaf..00000000 --- a/libkdeedu/kdeeduplot/kplotwidget.h +++ /dev/null @@ -1,264 +0,0 @@ -/*************************************************************************** - kplotwidget.h - A generic data-plotting widget - ------------------- - begin : Sun 18 May 2003 - copyright : (C) 2003 by Jason Harris - email : kstars@30doradus.org - ***************************************************************************/ - -/*************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - ***************************************************************************/ - -#ifndef _KPLOTWIDGET_H_ -#define _KPLOTWIDGET_H_ - -#include <tqwidget.h> -#include "kplotobject.h" -#include "kplotaxis.h" - -#define BIGTICKSIZE 10 -#define SMALLTICKSIZE 4 -#define XPADDING 20 -#define YPADDING 20 - -class TQColor; -class TQPixmap; - -/**@class KPlotWidget - *@short Genric data plotting widget. - *@author Jason Harris - *@version 1.1 - *Widget for drawing plots. Includes adjustable axes (KPlotAxis) with - *tickmarks and labels and a list of KPlotObjects to be drawn. - */ - -class KDE_EXPORT KPlotWidget : public TQWidget { - Q_OBJECT - TQ_OBJECT -public: - /**@short Constructor. Sets the primary x and y limits in data units. - *@param x1 the minimum X value in data units - *@param x2 the maximum X value in data units - *@param y1 the minimum Y value in data units - *@param y2 the maximum Y value in data units - *@param parent the parent widget - *@param name name label for the KPlotWidget - */ - KPlotWidget( double x1=0.0, double x2=1.0, double y1=0.0, double y2=1.0, TQWidget *parent=0, const char* name=0 ); - - /**Destructor (empty) - */ - virtual ~KPlotWidget(); - - /**@short Determine the placement of major and minor tickmarks, - *based on the current Limit settings - */ - virtual void updateTickmarks(); - - /**@short Reset the data limits. - *@param x1 the minimum X value in data units - *@param x2 the maximum X value in data units - *@param y1 the minimum Y value in data units - *@param y2 the maximum Y value in data units - */ - virtual void setLimits( double x1, double x2, double y1, double y2 ); - - /**@return the minimum X value in data units*/ - virtual double x() const { return DataRect.x(); } - - /**@return the maximum X value in data units*/ - virtual double x2() const { return DataRect.x2(); } - - /**@return the minimum Y value in data units*/ - virtual double y() const { return DataRect.y(); } - - /**@return the maximum Y value in data units*/ - virtual double y2() const { return DataRect.y2(); } - - /**@return the width in data units*/ - virtual double dataWidth() const { return DataRect.width(); } - - /**@return the height in data units*/ - virtual double dataHeight() const { return DataRect.height(); } - - /**@short Add an item to the list of KPlotObjects to be plotted. - *@param o pointer to the KPlotObject to be added - */ - virtual void addObject( KPlotObject *o ) { ObjectList.append( o ); } - - /**@short Remove all items from the list of KPlotObjects - */ - virtual void clearObjectList() { ObjectList.clear(); update(); } - - /**@short replace an item in the KPlotObject list. - *@param i the index of th item to be replaced - *@param o pointer to the replacement KPlotObject - */ - virtual void replaceObject( int i, KPlotObject *o ) { ObjectList.replace( i, o ); } - - /**@return the number of KPlotObjects in the list - */ - virtual int objectCount() const { return ObjectList.count(); } - - /**@return a pointer to a specific KPlotObject in the list - *@param i the index of the desired KPlotObject - */ - virtual KPlotObject *object( int i ) { return ObjectList.at(i); } - - /**@return the background color */ - virtual TQColor bgColor() const { return cBackground; } - - /**@return the foreground color */ - virtual TQColor fgColor() const { return cForeground; } - - /**@return the grid color */ - virtual TQColor gridColor() const { return cGrid; } - - /**@short set the background color - *@param bg the new background color - */ - virtual void setBGColor( const TQColor &bg ) { cBackground = bg; setBackgroundColor( bg ); } - - /**@short set the foreground color - *@param fg the new foreground color - */ - virtual void setFGColor( const TQColor &fg ) { cForeground = fg; } - - /**@short set the grid color - *@param gc the new grid color - */ - virtual void setGridColor( const TQColor &gc ) { cGrid = gc; } - - /**@short toggle whether plot axes are drawn. - *@param show if true, axes will be drawn. - *The axes are just a box outline around the plot. - */ - virtual void setShowAxes( bool show ) { BottomAxis.setVisible(show); LeftAxis.setVisible(show); } - /**@short toggle whether tick marks are drawn along the axes. - *@param show if true, tick marks will be drawn. - */ - virtual void setShowTickMarks( bool show ) { ShowTickMarks = show; } - /**@short toggle whether tick labels are drawn at major tickmarks. - *@param show if true, tick labels will be drawn. - */ - virtual void setShowTickLabels( bool show ) { ShowTickLabels = show; } - /**@short toggle whether grid lines are drawn at major tickmarks. - *@param show if true, grid lines will be drawn. - */ - virtual void setShowGrid( bool show ) { ShowGrid = show; } - - /**@short (Deprecated) Sets the X-axis label - *@param xlabel a short string describing the data plotted on the x-axis. - *Set the label to an empty string to omit the axis label. - *This function is deprecated, set the label property in the BottomAxis directly. - */ - virtual void setXAxisLabel( TQString xlabel ) { BottomAxis.setLabel(xlabel); } - /**@short (Deprecated) Sets the Y-axis label - *@param ylabel a short string describing the data plotted on the y-axis. - *Set the label to an empty string to omit the axis label. - *This function is deprecated, set the label property in the LeftAxis directly. - */ - virtual void setYAxisLabel( TQString ylabel ) { LeftAxis.setLabel(ylabel); } - - /**@returns the number of pixels to the left of the plot area. Padding values - *are set to -1 by default; if unchanged, this function will try to guess - *a good value, based on whether ticklabels and/or axis labels are to be drawn. - */ - virtual int leftPadding() const; - /**@returns the number of pixels to the right of the plot area. - *Padding values are set to -1 by default; if unchanged, this function will try to guess - *a good value, based on whether ticklabels and/or axis labels are to be drawn. - */ - virtual int rightPadding() const; - /**@returns the number of pixels above the plot area. - *Padding values are set to -1 by default; if unchanged, this function will try to guess - *a good value, based on whether ticklabels and/or axis labels are to be drawn. - */ - virtual int topPadding() const; - /**@returns the number of pixels below the plot area. - *Padding values are set to -1 by default; if unchanged, this function will try to guess - *a good value, based on whether ticklabels and/or axis labels are to be drawn. - */ - virtual int bottomPadding() const; - - /**@short set the number of pixels to the left of the plot area. - *Set this to -1 to revert to automatic determination of padding values. - */ - virtual void setLeftPadding( int pad ) { LeftPadding = pad; } - /**@short set the number of pixels to the right of the plot area. - *Set this to -1 to revert to automatic determination of padding values. - */ - virtual void setRightPadding( int pad ) { RightPadding = pad; } - /**@short set the number of pixels above the plot area. - *Set this to -1 to revert to automatic determination of padding values. - */ - virtual void setTopPadding( int pad ) { TopPadding = pad; } - /**@short set the number of pixels below the plot area. - *Set this to -1 to revert to automatic determination of padding values. - */ - virtual void setBottomPadding( int pad ) { BottomPadding = pad; } - - /**@short revert all four padding values to be automatically determined. */ - virtual void setDefaultPadding() { LeftPadding = -1; RightPadding = -1; TopPadding = -1; BottomPadding = -1; } - - /**@short The bottom X axis. */ - KPlotAxis BottomAxis; - /**@short The left Y axis. */ - KPlotAxis LeftAxis; - -protected: - /**@short the paint event handler, executed when update() or tqrepaint() is called. - */ - virtual void paintEvent( TQPaintEvent* /* e */ ); - - /**@short the resize event handler, called when the widget is resized. - */ - virtual void resizeEvent( TQResizeEvent* /* e */ ); - - /**@short draws all of the objects onto the widget. Internal use only; one should simply call update() - *to draw the widget with axes and all objects. - *@param p pointer to the painter on which we are drawing - */ - virtual void drawObjects( TQPainter *p ); - - /**@short draws the plot axes and axis labels. Internal use only; one should simply call update() - *to draw the widget with axes and all objects. - *@param p pointer to the painter on which we are drawing - */ - virtual void drawBox( TQPainter *p ); - - /**@short modulus function for double variables. - *For example, dmod( 17.0, 7.0 ) returns 3.0 - *@return the remainder after dividing b into a. - */ - double dmod( double a, double b ); - - //The distance between major tickmarks in data units - double dXtick, dYtick; - //The number of major and minor tickmarks to be plotted in X and Y - int nmajX, nminX, nmajY, nminY; - - //Limits of the plot area in pixel units - TQRect PixRect; - //Limits of the plot area in data units - DRect DataRect; - //List of KPlotObjects - TQPtrList<KPlotObject> ObjectList; - - //Colors - TQColor cBackground, cForeground, cGrid; - //draw options - bool ShowTickMarks, ShowTickLabels, ShowGrid; - //padding - int LeftPadding, RightPadding, TopPadding, BottomPadding; - - TQPixmap *buffer; -}; - -#endif |