/***************************************************************************
                          doubleeditors.h  -  description
                             -------------------
    begin                : dom ago 3 2003
    copyright            : (C) 2003 by gulmini luciano
    email                : gulmini.luciano@student.unife.it
 ***************************************************************************/

/***************************************************************************
 *                                                                         *
 *   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 DOUBLEEDITORS_H
 #define DOUBLEEDITORS_H
 #include "minieditor.h"

 class mySpinBox;
 class specialSB;
 class TQSpinBox;
 class TQComboBox;

class doubleEditorBase : public miniEditor {
    TQ_OBJECT
  
  protected:
    TQString   m_sxValue,
                   m_dxValue;

  public:
    doubleEditorBase(TQWidget *parent=0, const char *name=0);
    virtual ~doubleEditorBase(){}
    virtual void setInitialValue(){}
    virtual void connectToPropertySetter(propertySetter* /*p*/){}

   public slots:
     void sxValueSlot(const TQString&);
     void dxValueSlot(const TQString&);

   signals:
     void valueChanged(const TQString&);
};

class doublePercentageEditor : public doubleEditorBase {
    TQ_OBJECT
  
  private:
    mySpinBox  *m_sbSx,
                      *m_sbDx;

  public:
    doublePercentageEditor(TQWidget *parent=0, const char *name=0);
    virtual ~doublePercentageEditor();
    virtual void setInitialValue(const TQString& sx, const TQString& dx);
    virtual void connectToPropertySetter(propertySetter* p);
};

class doubleComboBoxEditor : public doubleEditorBase {
    TQ_OBJECT
  
  private:
    TQComboBox *m_cbSx,
                         *m_cbDx;

  public:
    doubleComboBoxEditor(TQWidget *parent=0, const char *name=0);
    virtual ~doubleComboBoxEditor();
    TQComboBox* cbSx() const { return m_cbSx;}
    TQComboBox* cbDx() const { return m_cbDx;}
    virtual void connectToPropertySetter(propertySetter* p);
};

class doubleLengthEditor : public doubleEditorBase {
    TQ_OBJECT
  
  private:
    specialSB *m_ssbSx,
                     *m_ssbDx;

  public:
    doubleLengthEditor(TQWidget *parent=0, const char *name=0);
    virtual ~doubleLengthEditor();
    virtual void setInitialValue(const TQString& sx, const TQString& dx);
    virtual void connectToPropertySetter(propertySetter* p);
};

#endif
