// This is the SIP interface definition for QSplitter.
//
// 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>QSplitter</Title>
<FuncSynopsis>
        <FuncDef>void <Function>getRange</Function></FuncDef>
        <ParamDef>int <Parameter>id</Parameter></ParamDef>
        <ParamDef>int *<Parameter>min</Parameter></ParamDef>
        <ParamDef>int *<Parameter>max</Parameter></ParamDef>
</FuncSynopsis>
<Para>
This takes the <Literal>id</Literal> parameter and returns the
<Literal>min</Literal> and <Literal>max</Literal> values as a tuple. (Qt v2+)
</Para>
</Sect2>
%End


%If (Qt_SPLITTER)

class QSplitter : QFrame
{
%TypeHeaderCode
#include <qsplitter.h>
%End

public:
%If (- Qt_2_00)
	enum Orientation {
		Horizontal,
		Vertical
	};
%End

	enum ResizeMode {
		Stretch,
		KeepSize,
%If (Qt_2_1_0 -)
		FollowSizeHint,
%End
%If (Qt_3_1_0 -)
		Auto
%End
	};

	QSplitter(QWidget * /TransferThis/ = 0,const char * = 0);
	QSplitter(Orientation,QWidget * /TransferThis/ = 0,const char * = 0);

%If (- Qt_2_00)
	void setOrientation(Orientation);
%End
%If (Qt_2_00 -)
	virtual void setOrientation(Orientation);
%End
	Orientation orientation() const;

%If (Qt_3_2_0 -)
	void setChildrenCollapsible(bool);
	bool childrenCollapsible() const;

	void setCollapsible(QWidget *,bool);
%End

%If (- Qt_2_00)
	void setResizeMode(QWidget *,ResizeMode);
	void setOpaqueResize(bool = 1);
%End
%If (Qt_2_00 -)
	virtual void setResizeMode(QWidget *,ResizeMode);
	virtual void setOpaqueResize(bool = 1);
%End
	bool opaqueResize() const;

	void moveToFirst(QWidget *);
	void moveToLast(QWidget *);

	void refresh();
%If (Qt_2_00 -)
	QSize sizeHint() const;
	QSize minimumSizeHint() const;
%End
%If (Qt_2_00 - Qt_3_0_0)
	QSizePolicy sizePolicy() const;
%End

%If (Qt_2_00 -)
	QValueList<int> sizes() const;
	void setSizes(QValueList<int>);
%End

%If (Qt_3_2_0 -)
	int handleWidth() const;
	void setHandleWidth(int);
%End

%If (- Qt_2_00)
	bool event(QEvent *);
%End

protected:
%If (Qt_2_00 -)
	void childEvent(QChildEvent *);

	bool event(QEvent *);
%End
	void resizeEvent(QResizeEvent *);

%If (- Qt_2_00)
	void childInsertEvent(QChildEvent *);
	void childRemoveEvent(QChildEvent *);
	void layoutHintEvent(QEvent *);

	void moveSplitter(QCOORD);
%End
%If (Qt_2_00 -)
	int idAfter(QWidget *) const;

	void moveSplitter(QCOORD,int);
%End
	virtual void drawSplitter(QPainter *,QCOORD,QCOORD,QCOORD,QCOORD);
%If (Qt_2_1_0 -)
	void styleChange(QStyle &);
%End
%If (- Qt_2_00)
	int adjustPos(int);
	void setRubberband(int);
%End
%If (Qt_2_00 -)
	int adjustPos(int,int);
	virtual void setRubberband(int);
	void getRange(int,int *,int *);
%End

private:
%If (Qt_2_1_0 -)
	QSplitter(const QSplitter &);
%End
};

%End
