/***************************************************************************
                          numberdialog.h  -  description
                             -------------------
    begin                : Don Apr 24 2003
    copyright            : (C) 2003 by Dominik Seichter
    email                : domseichter@web.de
 ***************************************************************************/

/***************************************************************************
 *                                                                         *
 *   This program 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 of the License, or     *
 *   (at your option) any later version.                                   *
 *                                                                         *
 ***************************************************************************/

#ifndef NUMBERDIALOG_H
#define NUMBERDIALOG_H

#include <tqwidget.h>
#include <kdialogbase.h>
#include <tqvaluelist.h>

// TDE includes
#include <knuminput.h>

class KMyIntSpinBox : public KIntSpinBox
{
    TQ_OBJECT
  
    public:
        KMyIntSpinBox( TQWidget* parent )
            : KIntSpinBox( parent )
            { };
        ~KMyIntSpinBox() { };
    private:
        void keyPressEvent( TQKeyEvent* e );
    signals:
        void returnPressed();
};

class TQCheckBox;
class KIntNumInput;
class TDEListBox;
class KPushButton;
class NumberDialog : public KDialogBase  {
   TQ_OBJECT
  
    public: 
        NumberDialog(TQValueList<int> & n,TQWidget *parent=0);
        ~NumberDialog();

	// TODO: bad object oriented design!!!
	// make them accessible by members
        KIntNumInput* spinIndex;
        KIntNumInput* spinStep;

	TQCheckBox* checkResetCounter;

        TQValueList<int> getList();
        
    private slots:
        void addNumber();
        void removeNumber();
    
    private:
        void sort();
        
        TDEListBox* listNumbers;
        KPushButton* buttonAdd;
        KPushButton* buttonRemove;
        KMyIntSpinBox* spinNumber;
};

#endif
