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


//                 Generated by preSip
//            module tdefx  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.,
// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.


class KStyle : TQCommonStyle
{
%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 TQString       defaultStyle ();
%End

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

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

    virtual void         drawKStylePrimitive (KStyle::KStylePrimitive, TQPainter*, const TQWidget*, const TQRect&, const TQColorGroup&, SFlags = Style_Default , const TQStyleOption& = TQStyleOption (TQStyleOption ::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 TQWidget* = 0) const;
    void                 polish (TQWidget*);
    void                 unPolish (TQWidget*);
    void                 polishPopupMenu (TQPopupMenu*);
    void                 drawPrimitive (PrimitiveElement, TQPainter*, const TQRect&, const TQColorGroup&, SFlags = Style_Default , const TQStyleOption& = TQStyleOption (TQStyleOption ::Default )) const;
    void                 drawControl (ControlElement, TQPainter*, const TQWidget*, const TQRect&, const TQColorGroup&, SFlags = Style_Default , const TQStyleOption& = TQStyleOption (TQStyleOption ::Default )) const;
    void                 drawComplexControl (ComplexControl, TQPainter*, const TQWidget*, const TQRect&, const TQColorGroup&, SFlags = Style_Default , SCFlags = SC_All , SCFlags = SC_None , const TQStyleOption& = TQStyleOption (TQStyleOption ::Default )) const;
    SubControl           querySubControl (ComplexControl, const TQWidget*, const TQPoint&, const TQStyleOption& = TQStyleOption (TQStyleOption ::Default )) const;
    TQRect                querySubControlMetrics (ComplexControl, const TQWidget*, SubControl, const TQStyleOption& = TQStyleOption (TQStyleOption ::Default )) const;
    int                  pixelMetric (PixelMetric, const TQWidget* = 0) const;
    TQRect                subRect (SubRect, const TQWidget*) const;
    TQPixmap              stylePixmap (StylePixmap, const TQWidget* = 0, const TQStyleOption& = TQStyleOption (TQStyleOption ::Default )) const;
    int                  styleHint (StyleHint, const TQWidget* = 0, const TQStyleOption& = TQStyleOption (TQStyleOption ::Default ), TQStyleHintReturn* = 0) const;

protected:
    bool                 eventFilter (TQObject*, TQEvent*);

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

