//
//     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 TDEStyle : TQCommonStyle
{
%TypeHeaderCode
#define ENABLE_TQSTYLECONTROLELEMENTDATA_SLOW_COPY 1
#include <tdestyle.h>
%End


public:
    typedef uint TDEStyleFlags;

    enum TDEStyleOption
    {
        Default, 
        AllowMenuTransparency, 
        FilledFrameWorkaround
    };


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

                         TDEStyle (TDEStyle::TDEStyleFlags = TDEStyle ::Default , TDEStyle::TDEStyleScrollBarType = TDEStyle ::WindowsStyleScrollBar );

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

    void                 setScrollBarType (TDEStyle::TDEStyleScrollBarType);
    TDEStyle::TDEStyleFlags  styleFlags () const;
    virtual void         renderMenuBlendPixmap (KPixmap&, const TQColorGroup&, const TQPopupMenu*) const;

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

    virtual void         drawTDEStylePrimitive (TDEStyle::TDEStylePrimitive, TQPainter*, const TQWidget*, const TQRect&, const TQColorGroup&, SFlags = Style_Default , const TQStyleOption& = TQStyleOption (TQStyleOption ::Default )) const;

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

    int                  kPixelMetric( TDEStylePixelMetric kpm, TQStyleControlElementData ceData, ControlElementFlags elementFlags, const TQWidget* widget = 0 ) const;
    void                 polish( TQStyleControlElementData ceData, ControlElementFlags elementFlags, void * );
    void                 unPolish( TQStyleControlElementData ceData, ControlElementFlags elementFlags, void * );
    void                 polishPopupMenu( TQStyleControlElementData ceData, ControlElementFlags elementFlags, void *ptr );
    void                 drawPrimitive( PrimitiveElement, TQPainter*, TQStyleControlElementData, ControlElementFlags, const TQRect&, const TQColorGroup&, SFlags = Style_Default, const TQStyleOption& = TQStyleOption::SO_Default ) const;
    void                 drawControl( ControlElement, TQPainter*, TQStyleControlElementData, ControlElementFlags, const TQRect&, const TQColorGroup&, SFlags = Style_Default, const TQStyleOption& = TQStyleOption::SO_Default, const TQWidget* = 0 ) const;
    void                 drawComplexControl( ComplexControl, TQPainter*, TQStyleControlElementData, ControlElementFlags, const TQRect&, const TQColorGroup&, SFlags = Style_Default, SCFlags = SC_All, SCFlags = SC_None, const TQStyleOption& = TQStyleOption::SO_Default, const TQWidget* = 0 ) const;
    SubControl           querySubControl( ComplexControl, TQStyleControlElementData, ControlElementFlags, const TQPoint&, const TQStyleOption& = TQStyleOption::SO_Default, const TQWidget* = 0 ) const;
    TQRect               querySubControlMetrics( ComplexControl, TQStyleControlElementData, ControlElementFlags, SubControl, const TQStyleOption& = TQStyleOption::SO_Default, const TQWidget* = 0 ) const;
    int                  pixelMetric( PixelMetric, TQStyleControlElementData, ControlElementFlags, const TQWidget* = 0 ) const;
    TQRect               subRect( SubRect, const TQStyleControlElementData, const ControlElementFlags, const TQWidget* = 0 ) const;
    TQPixmap             stylePixmap( StylePixmap, TQStyleControlElementData, ControlElementFlags, const TQStyleOption& = TQStyleOption::SO_Default, const TQWidget* = 0 ) const;
    int                  styleHint( StyleHint, TQStyleControlElementData, ControlElementFlags, const TQStyleOption& = TQStyleOption::SO_Default, TQStyleHintReturn* = 0, const TQWidget* = 0 ) const;

    // New API
    virtual void drawTDEStylePrimitive( TDEStylePrimitive, TQPainter*, TQStyleControlElementData, ControlElementFlags, const TQRect&, const TQColorGroup&, SFlags = Style_Default, const TQStyleOption& = TQStyleOption::SO_Default, const TQWidget* = 0 ) const;

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

private:
                         TDEStyle (const TDEStyle&);

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_TDEStyle,                  &sipClass_TDEStyle},
    };

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

};  // class TDEStyle

