#ifndef _KVI_TOOLWINDOWS_CONTAINER_H_
#define _KVI_TOOLWINDOWS_CONTAINER_H_

#include "kvi_tal_widgetstack.h"
#include "kvi_tal_vbox.h"

#include <tqtoolbutton.h> 
#include <tqobjectcleanuphandler.h> 
#include <tqpushbutton.h> 

#include "kvi_heapobject.h"
#include "kvi_styled_controls.h"

class KviWindowToolWidget;
class KviWindowToolPageButton;

// FIXME: these classes are probably useless now... no ?

//    Pragma: KviWindowToolPageButton is actually used in kvi_window.h and others (need to fix the name and move
//            it to its own file.



class KVIRC_API KviWindowToolWidget : public TQWidget
{
	TQ_OBJECT
  
public:
	KviWindowToolWidget( TQWidget * parent,KviWindowToolPageButton* button/*, const char * name = 0, WFlags f = 0 */);
	~KviWindowToolWidget();
	
	void setAutoDelete(bool b) { m_bAutoDelete=b; };
	bool autoDelete() { return m_bAutoDelete; };
	
	virtual void registerSelf();
	virtual void unregisterSelf();
/*public slots:
	virtual void hide ();
	virtual void show ();*/
protected:
//	KviToolWindowsContainer		*m_pContainer;
	KviWindowToolPageButton		*m_pButton;
	bool 				 m_bAutoDelete;
	bool 				 m_bHidden;
//	TQObjectCleanupHandler		 m_ObjectHandler;
	
};

	#define TOOL_PAGE_PARENT KviStyledToolButton


class KVIRC_API KviWindowToolPageButton : public TOOL_PAGE_PARENT
{
	TQ_OBJECT
  
public:
	KviWindowToolPageButton ( int pixon,int pixoff, const TQString & text, TQWidget * parent,bool bOn=0,const char * name = 0 );
	~KviWindowToolPageButton();
/*protected:
	virtual void drawButton ( TQPainter * painter);*/
};

#endif //_KVI_TOOLWINDOWS_CONTAINER_H_
