/*
* typolayout.h -- Declaration of class KTypoLayout.
* Generated by newclass on Tue May  5 01:12:37 EST 1998.
*/
#ifndef SSK_TYPOLAYOUT_H
#define SSK_TYPOLAYOUT_H

class QButtonGroup;
class QPushButton;
class QCheckBox;
class QGridLayout;
class QLabel;
class QLineEdit;
class QMultiLineEdit;
class QListBox;
class QRadioButton;
class QWidget;

#include"baglayout.h"

/**
* Provides a @ref KBagLayout with widget generation.
* @author Sirtaj Singh Kang (taj@kde.org)
* @version $Id: typolayout.h,v 1.3 1999/01/10 18:17:06 ssk Exp $
*/
class KTypoLayout : public KBagLayout
{
	Q_OBJECT
private:
	KBagLayout *_layout;

public:
	/**
	* KTypoLayout Constructor
	*/
	KTypoLayout( QWidget *parent );

	QLabel *newLabel( const char *text, int x, int y, 
			int xspan=1, int yspan=1 );
	QPushButton *newButton( const char *text, int x, int y, 
			int xspan=1, int yspan=1 );
	QRadioButton *newRadioButton( const char *text, int x, int y, 
			int xspan=1, int yspan=1 );
	QLineEdit *newLineEdit( const char *text, int x, int y, 
			int xspan=1, int yspan=1 );
	QMultiLineEdit *newMultiLineEdit( const char *text, 
			int x, int y,
			int xspan=1, int yspan=1 );
	QCheckBox *newCheckBox( const char *text, int x, int y, 
			int xspan=1, int yspan=1 );
	QListBox *newListBox( int x, int y, 
			int xspan=1, int yspan=1 );

	KTypoLayout *newSubLayout( int x, int y, int xspan=1, int yspan=1 );
	KTypoLayout *newSubGroup( const char *title, 
		int x, int y, int xspan=1, int yspan=1 );

	QButtonGroup *startGroup();
	void endGroup();

private:
	KTypoLayout& operator=( KTypoLayout& );
	KTypoLayout( const KTypoLayout& );

	QWidget *_parent;
	QButtonGroup *_group;

	void layoutWidget( QWidget *w, int x, int y, int xspan, int yspan );
};

#endif // SSK_TYPOLAYOUT_H
