Brief description of class still missing. More...
#include <LegendTableDelegate.h>
Public Slots | |
| void | colorClicked (const QModelIndex &index) |
Signals | |
| void | dataChanged () const |
Public Member Functions | |
| virtual QWidget * | createEditor (QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const |
| LegendTableDelegate (QObject *parent=0) | |
| virtual void | paint (QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const |
| void | setColumnIndexes (const QHash< int, LegendTable::Column > *columnIndexes) |
| virtual void | setEditorData (QWidget *editor, const QModelIndex &index) const |
| virtual void | setModelData (QWidget *editor, QAbstractItemModel *model, const QModelIndex &index) const |
| virtual QSize | sizeHint (const QStyleOptionViewItem &option, const QModelIndex &index) const |
Brief description of class still missing.
Full description of class still missing
| SciFigs::LegendTableDelegate::LegendTableDelegate | ( | QObject * | parent = 0 | ) | [inline] |
: QItemDelegate(parent) {}
| void SciFigs::LegendTableDelegate::colorClicked | ( | const QModelIndex & | index | ) | [slot] |
References SciFigs::LegendTable::ColumnNull, SciFigs::LegendTable::ColumnPenColor, SciFigs::LegendTable::ColumnPenStyle, SciFigs::LegendTable::ColumnPenWidth, SciFigs::LegendTable::ColumnSymbolBrushColor, SciFigs::LegendTable::ColumnSymbolBrushStyle, SciFigs::LegendTable::ColumnSymbolPenColor, SciFigs::LegendTable::ColumnSymbolPenStyle, SciFigs::LegendTable::ColumnSymbolPenWidth, SciFigs::LegendTable::ColumnSymbolSize, SciFigs::LegendTable::ColumnSymbolType, SciFigs::LegendTable::ColumnText, SciFigs::LegendTable::ColumnTextColor, dataChanged(), and TRACE.
{
TRACE;
switch (column(index.column())) {
case LegendTable::ColumnNull:
case LegendTable::ColumnText:
case LegendTable::ColumnPenWidth:
case LegendTable::ColumnSymbolSize:
case LegendTable::ColumnSymbolPenWidth:
case LegendTable::ColumnPenStyle:
case LegendTable::ColumnSymbolPenStyle:
case LegendTable::ColumnSymbolType:
case LegendTable::ColumnSymbolBrushStyle:
break;
case LegendTable::ColumnPenColor:
case LegendTable::ColumnSymbolPenColor:
case LegendTable::ColumnSymbolBrushColor:
case LegendTable::ColumnTextColor: {
QColor c=index.model()->data(index).value<QColor>();
c=QColorDialog::getColor(c, Application::activeWindow());
if(c.isValid()) {
const_cast<QAbstractItemModel *>(index.model())->setData(index, c);
emit dataChanged();
}
}
break;
}
}
| QWidget * SciFigs::LegendTableDelegate::createEditor | ( | QWidget * | parent, |
| const QStyleOptionViewItem & | option, | ||
| const QModelIndex & | index | ||
| ) | const [virtual] |
References SciFigs::LegendTable::ColumnNull, SciFigs::LegendTable::ColumnPenColor, SciFigs::LegendTable::ColumnPenStyle, SciFigs::LegendTable::ColumnPenWidth, SciFigs::LegendTable::ColumnSymbolBrushColor, SciFigs::LegendTable::ColumnSymbolBrushStyle, SciFigs::LegendTable::ColumnSymbolPenColor, SciFigs::LegendTable::ColumnSymbolPenStyle, SciFigs::LegendTable::ColumnSymbolPenWidth, SciFigs::LegendTable::ColumnSymbolSize, SciFigs::LegendTable::ColumnSymbolType, SciFigs::LegendTable::ColumnText, SciFigs::LegendTable::ColumnTextColor, SciFigs::LegendTable::initBrushStyles(), SciFigs::LegendTable::initPenStyles(), SciFigs::LegendTable::initSymbolTypes(), TRACE, and w.
{
TRACE;
switch (column( index.column()) ) {
case LegendTable::ColumnNull: return 0;
case LegendTable::ColumnText: {
QLineEdit * w=new QLineEdit(parent);
return w;
}
case LegendTable::ColumnPenColor:
case LegendTable::ColumnSymbolPenColor:
case LegendTable::ColumnSymbolBrushColor:
case LegendTable::ColumnTextColor:
return QItemDelegate::createEditor(parent, option, index);
case LegendTable::ColumnPenWidth:
case LegendTable::ColumnSymbolSize:
case LegendTable::ColumnSymbolPenWidth: {
DoubleSpinBox * w=new DoubleSpinBox(parent);
w->setSingleStep(0.1);
w->setMinimum(0.0);
w->setMaximum(100.0);
connect(w, SIGNAL(valueChanged(double)), this, SLOT(commitWidget()) );
return w;
}
case LegendTable::ColumnPenStyle:
case LegendTable::ColumnSymbolPenStyle: {
QComboBox * w=new QComboBox(parent);
connect(w, SIGNAL(activated(int)), this, SLOT(commitWidget()) );
LegendTable::initPenStyles(w);
return w;
}
case LegendTable::ColumnSymbolType: {
QComboBox * w=new QComboBox(parent);
connect(w, SIGNAL(activated(int)), this, SLOT(commitWidget()) );
LegendTable::initSymbolTypes(w);
return w;
}
case LegendTable::ColumnSymbolBrushStyle: {
QComboBox * w=new QComboBox(parent);
connect(w, SIGNAL(activated(int)), this, SLOT(commitWidget()) );
LegendTable::initBrushStyles(w);
return w;
}
}
return 0;
}
| void SciFigs::LegendTableDelegate::dataChanged | ( | ) | const [signal] |
Referenced by colorClicked(), and setModelData().
| void SciFigs::LegendTableDelegate::paint | ( | QPainter * | painter, |
| const QStyleOptionViewItem & | option, | ||
| const QModelIndex & | index | ||
| ) | const [virtual] |
References SciFigs::LegendTable::ColumnNull, SciFigs::LegendTable::ColumnPenColor, SciFigs::LegendTable::ColumnPenStyle, SciFigs::LegendTable::ColumnPenWidth, SciFigs::LegendTable::ColumnSymbolBrushColor, SciFigs::LegendTable::ColumnSymbolBrushStyle, SciFigs::LegendTable::ColumnSymbolPenColor, SciFigs::LegendTable::ColumnSymbolPenStyle, SciFigs::LegendTable::ColumnSymbolPenWidth, SciFigs::LegendTable::ColumnSymbolSize, SciFigs::LegendTable::ColumnSymbolType, SciFigs::LegendTable::ColumnText, SciFigs::LegendTable::ColumnTextColor, SciFigs::Symbol::paint(), and TRACE.
{
TRACE;
if(index.row()<2) {
QItemDelegate::paint(painter, option, index);
} else {
QPoint p=option.rect.center();
switch (column( index.column()) ) {
case LegendTable::ColumnNull:
case LegendTable::ColumnText:
case LegendTable::ColumnPenWidth:
case LegendTable::ColumnSymbolSize:
case LegendTable::ColumnSymbolPenWidth:
QItemDelegate::paint(painter, option, index);
break;
case LegendTable::ColumnPenColor:
case LegendTable::ColumnSymbolPenColor:
case LegendTable::ColumnSymbolBrushColor:
case LegendTable::ColumnTextColor: {
drawBackground(painter, option, index);
QColor c=index.model() ->data(index).value<QColor>();
painter->fillRect(p.x()-8, p.y()-8, 16, 16 , c);
}
break;
case LegendTable::ColumnPenStyle:
case LegendTable::ColumnSymbolPenStyle: {
drawBackground(painter, option, index);
Qt::PenStyle s=(Qt::PenStyle) index.model() ->data(index).toInt();
painter->fillRect(p.x()-16, p.y()-8, 32, 16, Qt::white);
painter->setPen(QPen( Qt::black, 0, s) );
painter->drawLine(p.x()-16, p.y(), p.x()+16, p.y());
}
break;
case LegendTable::ColumnSymbolType: {
drawBackground(painter, option, index);
Symbol::Type t=(Symbol::Type) index.model() ->data(index).toInt();
painter->fillRect(p.x()-8, p.y()-8, 16, 16, Qt::white);
Symbol s(t, 3.5);
s.paint( *painter, QPointF(p.x()-1, p.y()-1));
}
break;
case LegendTable::ColumnSymbolBrushStyle: {
drawBackground(painter, option, index);
Qt::BrushStyle s=(Qt::BrushStyle) index.model() ->data(index).toInt();
painter->fillRect(p.x()-8, p.y()-8, 16, 16, Qt::white);
painter->setPen(QPen( Qt::NoPen) );
painter->setBrush(QBrush( Qt::black, s) );
painter->drawRect(p.x()-8, p.y()-8, 16, 16);
}
break;
}
}
}
| void SciFigs::LegendTableDelegate::setColumnIndexes | ( | const QHash< int, LegendTable::Column > * | columnIndexes | ) |
| void SciFigs::LegendTableDelegate::setEditorData | ( | QWidget * | editor, |
| const QModelIndex & | index | ||
| ) | const [virtual] |
References SciFigs::LegendTable::ColumnNull, SciFigs::LegendTable::ColumnPenColor, SciFigs::LegendTable::ColumnPenStyle, SciFigs::LegendTable::ColumnPenWidth, SciFigs::LegendTable::ColumnSymbolBrushColor, SciFigs::LegendTable::ColumnSymbolBrushStyle, SciFigs::LegendTable::ColumnSymbolPenColor, SciFigs::LegendTable::ColumnSymbolPenStyle, SciFigs::LegendTable::ColumnSymbolPenWidth, SciFigs::LegendTable::ColumnSymbolSize, SciFigs::LegendTable::ColumnSymbolType, SciFigs::LegendTable::ColumnText, SciFigs::LegendTable::ColumnTextColor, TRACE, and w.
{
TRACE;
switch (column( index.column()) ) {
case LegendTable::ColumnNull: break;
case LegendTable::ColumnText: {
QLineEdit * w=qobject_cast<QLineEdit *>(editor);
ASSERT(w);
w->setText(index.model() ->data(index).toString());
w->selectAll();
}
break;
case LegendTable::ColumnPenColor:
case LegendTable::ColumnSymbolPenColor:
case LegendTable::ColumnSymbolBrushColor:
case LegendTable::ColumnTextColor:
QItemDelegate::setEditorData(editor, index);
break;
case LegendTable::ColumnPenWidth:
case LegendTable::ColumnSymbolSize:
case LegendTable::ColumnSymbolPenWidth: {
DoubleSpinBox * w=qobject_cast<DoubleSpinBox *>(editor);
ASSERT(w);
w->setValue(index.model() ->data(index).toDouble());
break;
}
case LegendTable::ColumnPenStyle:
case LegendTable::ColumnSymbolPenStyle:
case LegendTable::ColumnSymbolType:
case LegendTable::ColumnSymbolBrushStyle: {
QComboBox * w=qobject_cast<QComboBox *>(editor);
ASSERT(w);
w->setCurrentIndex(index.model()->data(index).toInt());
break;
}
}
}
| void SciFigs::LegendTableDelegate::setModelData | ( | QWidget * | editor, |
| QAbstractItemModel * | model, | ||
| const QModelIndex & | index | ||
| ) | const [virtual] |
References SciFigs::LegendTable::ColumnNull, SciFigs::LegendTable::ColumnPenColor, SciFigs::LegendTable::ColumnPenStyle, SciFigs::LegendTable::ColumnPenWidth, SciFigs::LegendTable::ColumnSymbolBrushColor, SciFigs::LegendTable::ColumnSymbolBrushStyle, SciFigs::LegendTable::ColumnSymbolPenColor, SciFigs::LegendTable::ColumnSymbolPenStyle, SciFigs::LegendTable::ColumnSymbolPenWidth, SciFigs::LegendTable::ColumnSymbolSize, SciFigs::LegendTable::ColumnSymbolType, SciFigs::LegendTable::ColumnText, SciFigs::LegendTable::ColumnTextColor, dataChanged(), TRACE, QGpGuiTools::DoubleSpinBox::value(), and w.
{
TRACE;
switch (column( index.column()) ) {
case LegendTable::ColumnNull: break;
case LegendTable::ColumnText: {
QLineEdit * w=qobject_cast<QLineEdit *>(editor);
ASSERT(w);
if(w->isModified() && model->data(index)!=w->text()) {
model->setData(index, w->text());
emit dataChanged();
}
}
break;
case LegendTable::ColumnPenColor:
case LegendTable::ColumnSymbolPenColor:
case LegendTable::ColumnTextColor:
case LegendTable::ColumnSymbolBrushColor:
break;
case LegendTable::ColumnPenWidth:
case LegendTable::ColumnSymbolSize:
case LegendTable::ColumnSymbolPenWidth: {
DoubleSpinBox * w=qobject_cast<DoubleSpinBox *>(editor);
ASSERT(w);
QVariant oldValue=model->data(index);
if(oldValue!=w->value()) {
model->setData(index, w->value());
emit dataChanged();
}
break;
}
case LegendTable::ColumnPenStyle:
case LegendTable::ColumnSymbolPenStyle:
case LegendTable::ColumnSymbolType:
case LegendTable::ColumnSymbolBrushStyle: {
QComboBox * w=qobject_cast<QComboBox *>(editor);
ASSERT(w);
QVariant oldValue=model->data(index);
if(oldValue!=w->currentIndex()) {
model->setData(index, w->currentIndex());
emit dataChanged();
}
break;
}
}
}
| QSize SciFigs::LegendTableDelegate::sizeHint | ( | const QStyleOptionViewItem & | option, |
| const QModelIndex & | index | ||
| ) | const [virtual] |
References SciFigs::LegendTable::ColumnNull, SciFigs::LegendTable::ColumnPenColor, SciFigs::LegendTable::ColumnPenStyle, SciFigs::LegendTable::ColumnPenWidth, SciFigs::LegendTable::ColumnSymbolBrushColor, SciFigs::LegendTable::ColumnSymbolBrushStyle, SciFigs::LegendTable::ColumnSymbolPenColor, SciFigs::LegendTable::ColumnSymbolPenStyle, SciFigs::LegendTable::ColumnSymbolPenWidth, SciFigs::LegendTable::ColumnSymbolSize, SciFigs::LegendTable::ColumnSymbolType, SciFigs::LegendTable::ColumnText, SciFigs::LegendTable::ColumnTextColor, and TRACE.
{
TRACE;
if(index.row()<2) {
return QItemDelegate::sizeHint(option, index);
} else {
switch (column( index.column()) ) {
case LegendTable::ColumnNull:
case LegendTable::ColumnText:
break;
case LegendTable::ColumnPenWidth:
case LegendTable::ColumnSymbolSize:
case LegendTable::ColumnSymbolPenWidth:
return QSize(70, 0);
case LegendTable::ColumnPenColor:
case LegendTable::ColumnSymbolPenColor:
case LegendTable::ColumnSymbolBrushColor:
case LegendTable::ColumnTextColor:
return QSize(30, 0);
case LegendTable::ColumnPenStyle:
case LegendTable::ColumnSymbolPenStyle:
return QSize(30, 0);
case LegendTable::ColumnSymbolType:
case LegendTable::ColumnSymbolBrushStyle:
return QSize(30, 0);
}
return QItemDelegate::sizeHint(option, index);
}
}