//
//     Copyright 2006 Jim Bublitz <jbublitz@nwinternet.com>
//     Earlier copyrights 1998 - 2005 Jim Bublitz and/or Phil Thompson
//     may also apply


//                 Generated by preSip
//            module kdefx  version KDE 3.5.3


// This software 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.
//
// This software 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 library; see the file COPYING.
// If not, write to the Free Software Foundation, Inc.,
// 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.


class KStyle : QCommonStyle
{
%TypeHeaderCode
#include <kstyle.h>
%End


public:
    typedef uint KStyleFlags;

    enum KStyleOption
    {
        Default, 
        AllowMenuTransparency, 
        FilledFrameWorkaround
    };


    enum KStyleScrollBarType
    {
        WindowsStyleScrollBar, 
        PlatinumStyleScrollBar, 
        ThreeButtonScrollBar, 
        NextStyleScrollBar
    };

                         KStyle (KStyle::KStyleFlags = KStyle ::Default , KStyle::KStyleScrollBarType = KStyle ::WindowsStyleScrollBar );

%If ( KDE_3_1_0 -  )
    static QString       defaultStyle ();
%End

    void                 setScrollBarType (KStyle::KStyleScrollBarType);
    KStyle::KStyleFlags  styleFlags () const;
    virtual void         renderMenuBlendPixmap (KPixmap&, const QColorGroup&, const QPopupMenu*) const;

    enum KStylePrimitive
    {
        KPE_DockWindowHandle, 
        KPE_ToolBarHandle, 
        KPE_GeneralHandle, 
        KPE_SliderGroove, 
        KPE_SliderHandle, 
        KPE_ListViewExpander, 
        KPE_ListViewBranch
    };

    virtual void         drawKStylePrimitive (KStyle::KStylePrimitive, QPainter*, const QWidget*, const QRect&, const QColorGroup&, SFlags = Style_Default , const QStyleOption& = QStyleOption (QStyleOption ::Default )) const;

    enum KStylePixelMetric
    {
        KPM_MenuItemSeparatorHeight, 
        KPM_MenuItemHMargin, 
        KPM_MenuItemVMargin, 
        KPM_MenuItemHFrame, 
        KPM_MenuItemVFrame, 
        KPM_MenuItemCheckMarkHMargin, 
        KPM_MenuItemArrowHMargin, 
        KPM_MenuItemTabSpacing, 
        KPM_ListViewBranchThickness
    };

    int                  kPixelMetric (KStyle::KStylePixelMetric, const QWidget* = 0) const;
    void                 polish (QWidget*);
    void                 unPolish (QWidget*);
    void                 polishPopupMenu (QPopupMenu*);
    void                 drawPrimitive (PrimitiveElement, QPainter*, const QRect&, const QColorGroup&, SFlags = Style_Default , const QStyleOption& = QStyleOption (QStyleOption ::Default )) const;
    void                 drawControl (ControlElement, QPainter*, const QWidget*, const QRect&, const QColorGroup&, SFlags = Style_Default , const QStyleOption& = QStyleOption (QStyleOption ::Default )) const;
    void                 drawComplexControl (ComplexControl, QPainter*, const QWidget*, const QRect&, const QColorGroup&, SFlags = Style_Default , SCFlags = SC_All , SCFlags = SC_None , const QStyleOption& = QStyleOption (QStyleOption ::Default )) const;
    SubControl           querySubControl (ComplexControl, const QWidget*, const QPoint&, const QStyleOption& = QStyleOption (QStyleOption ::Default )) const;
    QRect                querySubControlMetrics (ComplexControl, const QWidget*, SubControl, const QStyleOption& = QStyleOption (QStyleOption ::Default )) const;
    int                  pixelMetric (PixelMetric, const QWidget* = 0) const;
    QRect                subRect (SubRect, const QWidget*) const;
    QPixmap              stylePixmap (StylePixmap, const QWidget* = 0, const QStyleOption& = QStyleOption (QStyleOption ::Default )) const;
    int                  styleHint (StyleHint, const QWidget* = 0, const QStyleOption& = QStyleOption (QStyleOption ::Default ), QStyleHintReturn* = 0) const;

protected:
    bool                 eventFilter (QObject*, QEvent*);

private:
                         KStyle (const KStyle&);

protected:
//igx     virtual void         virtual_hook (int, void*);

//force
%ConvertToSubClassCode
    // The table of Python class objects indexed by their names.  The table
    // must be sorted by name.

    static sipStringTypeClassMap map[] = {
        {sipName_KStyle,                  &sipClass_KStyle},
    };

    sipClass = sipMapStringToClass(sipCpp -> className(),map,sizeof (map)/sizeof (map[0]));
%End
//end

};  // class KStyle

