//
//     Copyright 2008 Jim Bublitz <jbublitz@nwinternet.com>
//     Earlier copyrights 1998 - 2007 Jim Bublitz also apply

//                 Generated by twine

// This file is part of PyKDE4.

// PyKDE4 is free software; you can redistribute it and/or modify
// it under the terms of the GNU Lesser General Public License as
// published by the Free Software Foundation; either version 2.1 of
// the License, or (at your option) any later version.

// PyKDE4 is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.

// You should have received a copy of the GNU General Public License
// along with this program.  If not, see <http://www.gnu.org/licenses/>.


class KPlotWidget : QFrame
{
%TypeHeaderCode
#include <kplotwidget.h>
%End


public:
    explicit                KPlotWidget (QWidget* parent /TransferThis/ = 0);

    enum Axis
    {
        LeftAxis,
        BottomAxis,
        RightAxis,
        TopAxis
    };

    virtual QSize           minimumSizeHint () const;
    virtual QSize           sizeHint () const;
    void                    setLimits (double x1, double x2, double y1, double y2);
    void                    setSecondaryLimits (double x1, double x2, double y1, double y2);
    void                    clearSecondaryLimits ();
    QRectF                  dataRect () const;
    QRectF                  secondaryDataRect () const;
    QRect                   pixRect () const;
    void                    addPlotObject (KPlotObject* object);
    void                    addPlotObjects (const QList<KPlotObject*>& objects);
    QList<KPlotObject*>     plotObjects () const;
    void                    removeAllPlotObjects ();
    void                    resetPlotMask ();
    void                    resetPlot ();
    void                    replacePlotObject (int i, KPlotObject* o);
    QColor                  backgroundColor () const;
    QColor                  foregroundColor () const;
    QColor                  gridColor () const;
    void                    setBackgroundColor (const QColor& bg);
    void                    setForegroundColor (const QColor& fg);
    void                    setGridColor (const QColor& gc);
    bool                    isGridShown () const;
    bool                    isObjectToolTipShown () const;
    bool                    antialiasing () const;
    void                    setAntialiasing (bool b);
    int                     leftPadding () const;
    int                     rightPadding () const;
    int                     topPadding () const;
    int                     bottomPadding () const;
    void                    setLeftPadding (int padding);
    void                    setRightPadding (int padding);
    void                    setTopPadding (int padding);
    void                    setBottomPadding (int padding);
    void                    setDefaultPaddings ();
    QPointF                 mapToWidget (const QPointF& p) const;
    void                    maskRect (const QRectF& r, float value = 1.0);
    void                    maskAlongLine (const QPointF& p1, const QPointF& p2, float value = 1.0);
    void                    placeLabel (QPainter* painter, KPlotPoint* pp);
    KPlotAxis*              axis (KPlotWidget::Axis type);
//ig     const KPlotAxis*   axis (KPlotWidget::Axis type) const;
    void                    setShowGrid (bool show);
    void                    setObjectToolTipShown (bool show);

protected:
    virtual bool            event (QEvent*);
    virtual void            paintEvent (QPaintEvent*);
    virtual void            resizeEvent (QResizeEvent*);
    virtual void            drawAxes (QPainter* p);
    void                    setPixRect ();
    QList<KPlotPoint*>      pointsUnderPoint (const QPoint& p) const;

private:
                            KPlotWidget (const KPlotWidget&);
};   // KPlotWidget


