// This is the SIP interface definition for TQSGIStyle.
//
// Copyright (c) 2007
// 	Riverbank Computing Limited <info@riverbankcomputing.co.uk>
// 
// This file is part of PyTQt.
// 
// This copy of PyTQt 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, or (at your option) any later
// version.
// 
// PyTQt is supplied 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
// PyTQt; see the file LICENSE.  If not, write to the Free Software Foundation,
// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 
 
%ExportedDoc
<Sect2><Title>TQSGIStyle (TQt v2.2+)</Title>
<FuncSynopsis>
	<FuncDef>void <Function>scrollBarMetrics</Function></FuncDef>
	<ParamDef>const TQScrollBar *<Parameter>sb</Parameter></ParamDef>
	<ParamDef>int &amp;<Parameter>sliderMin</Parameter></ParamDef>
	<ParamDef>int &amp;<Parameter>sliderMax</Parameter></ParamDef>
	<ParamDef>int &amp;<Parameter>sliderLength</Parameter></ParamDef>
	<ParamDef>int &amp;<Parameter>buttonDim</Parameter></ParamDef>
</FuncSynopsis>
<Para>
This takes only the <Literal>sb</Literal> parameter and returns a tuple of the
<Literal>sliderMin</Literal>, <Literal>sliderMax</Literal>,
<Literal>sliderLength</Literal> and <Literal>buttonDim</Literal> values.
(TQt v2)
</Para>
</Sect2>
%End
 
 
%If (TQt_STYLE_SGI)
%If (TQt_2_2_0 -)

class TQSGIStyle : TQMotifStyle
{
%TypeHeaderCode
#include <tqsgistyle.h>
%End

public:
	TQSGIStyle(bool = 0);

	void polish( const TQStyleControlElementData&, ControlElementFlags, void * );
	void unPolish( const TQStyleControlElementData&, ControlElementFlags, void * );
	void applicationPolish( const TQStyleControlElementData&, ControlElementFlags, void * );
	void applicationUnPolish( const TQStyleControlElementData&, ControlElementFlags, void * );

%If (- TQt_3_0_0)
	void polish(TQPalette &);

	int defaultFrameWidth() const;

	void drawPanel(TQPainter *,int,int,int,int,const TQColorGroup &,bool = 0,
		       int = 1,const TQBrush * = 0);
	void drawSeparator(TQPainter *,int,int,int,int,const TQColorGroup &,
			   bool = 1,int = 1,int = 0);
	void drawButton(TQPainter *,int,int,int,int,const TQColorGroup &,bool = 0,
			const TQBrush * = 0);
	void drawBevelButton(TQPainter *,int,int,int,int,const TQColorGroup &,
			     bool = 0,const TQBrush * = 0);
	void drawPushButton(TQPushButton *,TQPainter *);
	void drawArrow(TQPainter *,ArrowType,bool,int,int,int,int,
		       const TQColorGroup &,bool,const TQBrush * = 0);

	TQSize indicatorSize() const;
	void drawIndicator(TQPainter *,int,int,int,int,const TQColorGroup &,int,
			   bool = 0,bool = 1);
	void drawCheckMark(TQPainter *,int,int,int,int,const TQColorGroup &,
			   bool,bool);
	void drawIndicatorMask(TQPainter *,int,int,int,int,int);

	TQSize exclusiveIndicatorSize() const;
	void drawExclusiveIndicator(TQPainter *,int,int,int,int,
				    const TQColorGroup &,bool,bool = 0,bool = 1);
	void drawExclusiveIndicatorMask(TQPainter *,int,int,int,int,bool);

	void drawComboButton(TQPainter *,int,int,int,int,const TQColorGroup &,
			     bool = 0,bool = 0,bool = 1,const TQBrush * = 0);
	TQRect comboButtonRect(int,int,int,int);
	TQRect comboButtonFocusRect(int,int,int,int);

	void scrollBarMetrics(const TQScrollBar *,int &,int &,int &,int &);

	void drawScrollBarControls(TQPainter *,const TQScrollBar *,int,uint,uint);

	void drawSlider(TQPainter *,int,int,int,int,const TQColorGroup &,
			Orientation,bool,bool);
	void drawSliderMask(TQPainter *,int,int,int,int,Orientation,bool,bool);
	void drawSliderGroove(TQPainter *,int,int,int,int,const TQColorGroup &,
			      TQCOORD,Orientation);
	void drawSliderGrooveMask(TQPainter *,int,int,int,int,TQCOORD,
				  Orientation);

	void drawTab(TQPainter *,const TQTabBar *,TQTab *,bool);
	void drawTabMask(TQPainter *,const TQTabBar *,TQTab *,bool);

	int splitterWidth() const;
	void drawSplitter(TQPainter *,int,int,int,int,const TQColorGroup &,
			  Orientation);

	int popupMenuItemHeight(bool,TQMenuItem *,const TQFontMetrics &);
	void drawPopupPanel(TQPainter *,int,int,int,int,const TQColorGroup &,
			    int = 2,const TQBrush * = 0);
	void drawPopupMenuItem(TQPainter *,bool,int,int,TQMenuItem *,
			       const TQPalette &,bool,bool,int,int,int,int);
	void drawMenuBarItem(TQPainter *,int,int,int,int,TQMenuItem *,
			     TQColorGroup &,bool,bool);
%End
%If (TQt_3_0_0 -)
	void drawPrimitive(PrimitiveElement,TQPainter *,const TQStyleControlElementData&,ControlElementFlags,const TQRect &,
			   const TQColorGroup &,SFlags = Style_Default,
			   const TQStyleOption & = TQStyleOption()) const;
 
	void drawControl(ControlElement,TQPainter *,const TQStyleControlElementData&,ControlElementFlags,
			 const TQRect &,const TQColorGroup &,
			 SFlags = Style_Default,
			 const TQStyleOption & = TQStyleOption(), const TQWidget *=0) const;
 
	void drawComplexControl(ComplexControl,TQPainter *,const TQStyleControlElementData&,ControlElementFlags,
				const TQRect &,const TQColorGroup &,
				SFlags = Style_Default,SCFlags = SC_All,
				SCFlags = SC_None,
				const TQStyleOption & = TQStyleOption(),const TQWidget *=0) const; 

	int pixelMetric(PixelMetric,const TQStyleControlElementData&,ControlElementFlags,const TQWidget * = 0) const;

	TQSize sizeFromContents(ContentsType,const TQStyleControlElementData&,ControlElementFlags,const TQSize &,
			       const TQStyleOption & = TQStyleOption(),const TQWidget *=0) const;

	TQRect subRect(SubRect,const TQStyleControlElementData&, const ControlElementFlags,const TQWidget *) const;
 
	TQRect querySubControlMetrics(ComplexControl,const TQStyleControlElementData&,ControlElementFlags,
				     SubControl,
				     const TQStyleOption & = TQStyleOption(), const TQWidget *=0) const;
%End

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

private:
	TQSGIStyle(const TQSGIStyle &);
};

%End
%End
