All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines
Public Member Functions
SciFigs::LayerPropertiesDelegate Class Reference

#include <GraphContentLayerProperties.h>

List of all members.

Public Member Functions

QWidget * createEditor (QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const
 LayerPropertiesDelegate (QObject *parent=0)
void setEditorData (QWidget *editor, const QModelIndex &index) const
void setModelData (QWidget *editor, QAbstractItemModel *model, const QModelIndex &index) const

Constructor & Destructor Documentation

: QItemDelegate(parent) {}

Member Function Documentation

QWidget * SciFigs::LayerPropertiesDelegate::createEditor ( QWidget *  parent,
const QStyleOptionViewItem &  option,
const QModelIndex &  index 
) const

References TRACE, and w.

{
  TRACE;
  const LayerPropertiesItem * item=qobject_cast<const LayerPropertiesItem *>(index.model());
  ASSERT(item);

  switch (index.column()) {
  case 2: {
      DoubleSpinBox * w=new DoubleSpinBox(parent);
      w->setMinimum(0.0);
      w->setMaximum(1.0);
      w->setSingleStep(0.05);
      connect(w,SIGNAL(valueChanged(double)), this, SLOT(commitWidgetData()));
      return w;
    }
  default: {
      QLineEdit * w=new QLineEdit(parent);
      w->setAlignment(Qt::AlignRight);
      return w;
    }
  }
}
void SciFigs::LayerPropertiesDelegate::setEditorData ( QWidget *  editor,
const QModelIndex &  index 
) const

References TRACE.

{
  TRACE;
  const LayerPropertiesItem * item=qobject_cast<const LayerPropertiesItem *>(index.model());
  ASSERT(item);

  switch (index.column()) {
  case 2: {
      DoubleSpinBox * w= qobject_cast<DoubleSpinBox *>(editor);
      if( !w) return;
      w->setValue(index.model() ->data(index).toDouble());
    }
  default: {
      QLineEdit * w= qobject_cast<QLineEdit *>(editor);
      if( !w) return;
      w->setText(index.model() ->data(index).toString());
      w->selectAll();
    }
    break;
  }
}
void SciFigs::LayerPropertiesDelegate::setModelData ( QWidget *  editor,
QAbstractItemModel *  model,
const QModelIndex &  index 
) const

References TRACE, and QGpGuiTools::DoubleSpinBox::value().

{
  TRACE;
  const LayerPropertiesItem * item=qobject_cast<const LayerPropertiesItem *>(index.model());
  ASSERT(item);

  switch (index.column()) {
  case 2: {
      DoubleSpinBox * w=qobject_cast<DoubleSpinBox *>(editor);
      if( !w) return;
      if(model->data(index)!=w->value()) {
        model->setData(index, w->value());
      }
    }
    break;
  default: {
      QLineEdit * w=qobject_cast<QLineEdit *>(editor);
      if( !w) return;
      if(model->data(index)!=w->text()) {
        model->setData(index, w->text());
      }
    }
    break;
  }
}

The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines