00001 #include <QDebug> 00002 #include "accountstabledelegate.h" 00003 00004 AccountsTableDelegate::AccountsTableDelegate(QWidget *parent) : QStyledItemDelegate(parent) 00005 { 00006 } 00007 00008 QWidget* AccountsTableDelegate::createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const 00009 { 00010 QLineEdit *editor = new QLineEdit(parent); 00011 return editor; 00012 } 00013 00014 void AccountsTableDelegate::setEditorData(QWidget *editor, const QModelIndex &index) const 00015 { 00016 QLineEdit *line = static_cast<QLineEdit*>(editor); 00017 QString data = index.model()->data(index, Qt::DisplayRole).toString(); 00018 line->setText(data); 00019 } 00020 00021 void AccountsTableDelegate::setModelData(QWidget *editor, QAbstractItemModel *model, const QModelIndex &index) const 00022 { 00023 QLineEdit *line = static_cast<QLineEdit*>(editor); 00024 QString text = line->text(); 00025 model->setData(index, text, Qt::EditRole); 00026 } 00027 00028 void AccountsTableDelegate::updateEditorGeometry(QWidget *editor, const QStyleOptionViewItem &option, const QModelIndex &index ) const 00029 { 00030 editor->setGeometry(option.rect); 00031 }