// This is the SIP interface definition for QMotifPlusStyle.
//
// Copyright (c) 2004
// 	Riverbank Computing Limited <info@riverbankcomputing.co.uk>
// 
// This file is part of PyQt.
// 
// This copy of PyQt 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.
// 
// PyQt 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
// PyQt; 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>QMotifPlusStyle (Qt v2.2+)</Title>
<FuncSynopsis>
	<FuncDef>void <Function>getButtonShift</Function></FuncDef>
	<ParamDef>int &amp;<Parameter>x</Parameter></ParamDef>
	<ParamDef>int &amp;<Parameter>y</Parameter></ParamDef>
</FuncSynopsis>
<Para>
This takes no parameters and returns a tuple of the <Literal>x</Literal> and
<Literal>y</Literal> values.  (Qt v2)
</Para>
 
<FuncSynopsis>
	<FuncDef>void <Function>scrollBarMetrics</Function></FuncDef>
	<ParamDef>const QScrollBar *<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.
(Qt v2)
</Para>
</Sect2>
%End
 
 
%If (Qt_STYLE_MOTIFPLUS)
%If (Qt_2_2_0 -)

class QMotifPlusStyle : QMotifStyle
{
%TypeHeaderCode
#include <qmotifplusstyle.h>
%End

public:
%If (- Qt_3_0_5)
	QMotifPlusStyle(bool = 0);
%End
%If (Qt_3_0_5 -)
	QMotifPlusStyle(bool = 1);
%End

	void polish(QPalette &);
	void polish(QWidget *);
	void unPolish(QWidget *);

	void polish(QApplication *);
	void unPolish(QApplication *);

%If (- Qt_3_0_0)
	void polishPopupMenu(QPopupMenu *);
	int defaultFrameWidth() const;
	void drawArrow(QPainter *,ArrowType,bool,int,int,int,int,
		       const QColorGroup &,bool,const QBrush * = 0);
	void drawMenuBarItem(QPainter *,int,int,int,int,QMenuItem *,
			     QColorGroup &,bool,bool);
	void drawPopupMenuItem(QPainter *,bool,int,int,QMenuItem *,
			       const QPalette &,bool,bool,int,int,int,int);
	void drawPushButton(QPushButton *,QPainter *);
	void drawButton(QPainter *,int,int,int,int,const QColorGroup &,bool = 0,
			const QBrush * = 0);
	void drawBevelButton(QPainter *,int,int,int,int,const QColorGroup &,
			     bool = 0,const QBrush * = 0);

	void getButtonShift(int &,int &);

	void drawComboButton(QPainter *,int,int,int,int,const QColorGroup &,
			     bool = 0,bool = 0,bool = 1,const QBrush * = 0);
	QRect comboButtonRect(int,int,int,int);
	QRect comboButtonFocusRect(int,int,int,int);
	void drawIndicator(QPainter *,int,int,int,int,const QColorGroup &,int,
			   bool = 0,bool = 1);
	QSize indicatorSize() const;
	void drawExclusiveIndicator(QPainter *,int,int,int,int,
				    const QColorGroup &,bool,bool = 0,bool = 1);
	QSize exclusiveIndicatorSize() const;
	void drawPanel(QPainter *,int,int,int,int,const QColorGroup &,bool = 0,
		       int = 1,const QBrush * = 0);

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

	void drawScrollBarControls(QPainter *,const QScrollBar *,int,uint,uint);
	void drawTab(QPainter *,const QTabBar *,QTab *,bool);
	void drawSlider(QPainter *,int,int,int,int,const QColorGroup &,
			Orientation,bool,bool);
	void drawSliderGroove(QPainter *,int,int,int,int,const QColorGroup &,
			      QCOORD,Orientation);
%End
%If (Qt_3_0_0 -)
	void drawPrimitive(PrimitiveElement,QPainter *,const QRect &,
			   const QColorGroup &,SFlags = Style_Default,
			   const QStyleOption & = QStyleOption()) const;
 
	void drawControl(ControlElement,QPainter *,const QWidget *,
			 const QRect &,const QColorGroup &,
			 SFlags = Style_Default,
			 const QStyleOption & = QStyleOption()) const;
 
	QRect subRect(SubRect,const QWidget *) const;
 
	void drawComplexControl(ComplexControl,QPainter *,const QWidget *,
				const QRect &,const QColorGroup &,
				SFlags = Style_Default,SCFlags = SC_All,
				SCFlags = SC_None,
				const QStyleOption & = QStyleOption()) const; 

	QRect querySubControlMetrics(ComplexControl,const QWidget *,
				     SubControl,
				     const QStyleOption & = QStyleOption()) const;
 
	int pixelMetric(PixelMetric,const QWidget * = 0) const;
 
	int styleHint(StyleHint,const QWidget *,
		      const QStyleOption & = QStyleOption(),
		      QStyleHintReturn * = 0) const;
%End

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

%End
%End
