/***************************************************************************
                          kernsettingsdialog.h  -  description
                             -------------------
    begin                : Mon Aug 18 2003
    copyright            : (C) 2003 by Armando Navarro-Vazquez
    email                : qoajnv@usc.es
 ***************************************************************************/

/***************************************************************************
 *                                                                         *
 *   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.                                   *
 *                                                                         *
 ***************************************************************************/
/* I have constructed this class using the kooka KookaPreferences class as a
  model */
#ifndef KERNSETTINGSDIALOG_H
#define KERNSETTINGSDIALOG_H

#include <kconfigdialog.h>
#include <kiconloader.h>
#include <kcolorcombo.h>
#include <qcolor.h>
#include <vector>

/**
  *@author 
  */

class QCheckBox;
class Q3GroupBox;
class QRadioButton;
class Q3ButtonGroup;
class KColorCombo;
class KDoubleNumInput;
class KryoNMRSettingsDialog : public KConfigDialog
{
  Q_OBJECT
public:
  KryoNMRSettingsDialog();
  ~KryoNMRSettingsDialog();
signals:
  void  settingsmodified();
public slots:
  void slotOk( void );
  void slotApply( void );
  void slotDefault( void );

private: // Private methods
  /** No descriptions */
  void setupProcessPage();
  void setupViewPage();
  void setupPrintPage();
private: // Private attributes
  /**   */
  KConfig* m_config;
  /**  */
  QCheckBox* m_autoFTCheckBox;
  QCheckBox* m_autophaseCheckBox;
  QCheckBox* m_autoapodizeCheckBox;
  QCheckBox* m_autobaselineCheckBox;
  // view widgets
  KColorCombo* m_spectrumcolor;
  KColorCombo* m_bkcolor;
  KColorCombo* m_scalecolor;
  KColorCombo* m_integralcolor;
  Q3GroupBox* m_apodGroupBox;
  /** exponent for apodization*/
  KDoubleNumInput* m_exponent;
  /** function for apodization */
  QComboBox* m_apodfunction;
  QComboBox* m_apodnucleus;
  /** printing widgets*/
  Q3ButtonGroup* m_printbuttongroup;
  std::vector<QRadioButton*> m_printeroptions;

};
#endif
