/****************************************************************************
**
** One line to give the program's name and a brief idea of what it does.
** Copyright (C) 2005      Romain Gaucher
**
** 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.
**
** This program is distributed 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
** this program; if not, write to the
** Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
**
****************************************************************************/
#ifndef OPTIONS_H
#define OPTIONS_H

#include <QDialog>
#include <QWidget>

class QTabWidget;
class QLineEdit;
class QColor;
class QComboBox;
class QAction;
class QSpinBox;
class QPixmap;
class QToolButton;
class QString;

class Options : public QDialog
{
	Q_OBJECT
public:
	Options(QWidget *parent = 0);
	~Options() {}

protected:
	void getColor(const QColor& c = Qt::blue);
    QString getPath();


public slots:
    void repaintActualisePixmap();
	void saveClose();
	void save();
	void getFavoritePath();
	void getSolverPath();
	void getColorName();
	void getColorFunction();
	void getColorOperator();
	void getColorComment();

signals:
	void optionsRedraw_Signal();
	void optionsRepaintColors_Signal();

private:
	QTabWidget  *tabWidget;
	QLineEdit   *favoritePath,
	            *solverPath,
	            *function,
				*comment,
				*operators,
				*name;
	QComboBox   *solver,
	            *font;
	QSpinBox    *fontSizeBox;

	QColor currentColor,
	       currentOperator,
		   currentFunction,
		   currentName,
		   currentComment;

	QPixmap     *pixOperator,         *pixFunction,     *pixName,             *pixComment;
	QToolButton *colorOperatorButton, *colorNameButton, *colorFunctionButton, *colorCommentButton;
};


#endif
