Brief description of class still missing. More...
#include <LegendTableItem.h>
Public Member Functions | |
virtual int | columnCount (const QModelIndex &parent=QModelIndex()) const |
virtual QVariant | data (const QModelIndex &index, int role) const |
virtual Qt::ItemFlags | flags (const QModelIndex &) const |
LegendTableItem (QObject *parent=0) | |
bool | oneColor () const |
bool | readOnlyText () const |
virtual int | rowCount (const QModelIndex &parent=QModelIndex()) const |
void | setColumnIndexes (const QHash< int, LegendTable::Column > *columnIndexes) |
virtual bool | setData (const QModelIndex &index, const QVariant &value, int role=Qt::EditRole) |
void | setLegend (Legend *legend) |
void | setOneColor (bool oc) |
void | setReadOnlyText (bool ro) |
Brief description of class still missing.
Full description of class still missing
SciFigs::LegendTableItem::LegendTableItem | ( | QObject * | parent = 0 | ) |
Description of constructor still missing
: QAbstractTableModel(parent) { _legend=0; _columnIndexes=0; _readOnlyText=false; _oneColor=true; }
int SciFigs::LegendTableItem::columnCount | ( | const QModelIndex & | parent = QModelIndex() | ) | const [virtual] |
Referenced by setData().
{
return _columnIndexes ? _columnIndexes->count() : 0;
}
QVariant SciFigs::LegendTableItem::data | ( | const QModelIndex & | index, |
int | role | ||
) | const [virtual] |
References SciFigs::Symbol::brush(), SciFigs::LegendTable::brushItem(), SciFigs::Pen::color(), 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::pen(), SciFigs::Legend::pen(), SciFigs::LegendTable::penItem(), SciFigs::Symbol::size(), SciFigs::Pen::style(), SciFigs::Legend::symbol(), SciFigs::LegendTable::symbolItem(), SciFigs::Legend::text(), SciFigs::Legend::textColor(), QGpCoreTools::tr(), TRACE, SciFigs::Symbol::type(), and SciFigs::Pen::width().
{ TRACE; if( !index.isValid()) return QVariant(); switch (index.row()) { case 0: switch (role) { case Qt::DisplayRole: switch (column( index.column()) ) { case LegendTable::ColumnNull: case LegendTable::ColumnPenWidth: case LegendTable::ColumnPenStyle: case LegendTable::ColumnSymbolSize: case LegendTable::ColumnSymbolPenWidth: case LegendTable::ColumnSymbolPenStyle: case LegendTable::ColumnSymbolBrushStyle: break; case LegendTable::ColumnPenColor: return tr("Pen"); case LegendTable::ColumnSymbolType: return tr("Symbol"); case LegendTable::ColumnSymbolPenColor: return tr("Symbol pen"); case LegendTable::ColumnSymbolBrushColor: return tr("Symbol brush"); case LegendTable::ColumnText: case LegendTable::ColumnTextColor: return tr("Text"); } return QVariant(); case Qt::BackgroundRole: return QColor(239,239,239); case Qt::TextAlignmentRole: return (int) (Qt::AlignHCenter | Qt::AlignVCenter); default: return QVariant(); } break; case 1: switch (role) { case Qt::DisplayRole: switch (column( index.column()) ) { case LegendTable::ColumnNull: case LegendTable::ColumnPenColor: return tr("Color"); case LegendTable::ColumnPenWidth: return tr("Width"); case LegendTable::ColumnPenStyle: return tr("Style"); case LegendTable::ColumnSymbolType: return tr("Type"); case LegendTable::ColumnSymbolSize: return tr("Size"); case LegendTable::ColumnSymbolPenColor: return tr("Color"); case LegendTable::ColumnSymbolPenWidth: return tr("Width"); case LegendTable::ColumnSymbolPenStyle: return tr("Style"); case LegendTable::ColumnSymbolBrushColor: return tr("Color"); case LegendTable::ColumnSymbolBrushStyle: return tr("Style"); case LegendTable::ColumnTextColor: return tr("Color"); case LegendTable::ColumnText: return tr("Text"); } return QVariant(); case Qt::BackgroundRole: return QColor(245,245,245); case Qt::TextAlignmentRole: return (int) (Qt::AlignHCenter | Qt::AlignVCenter); default: return QVariant(); } break; default: { int row=index.row()-2; switch (role) { case Qt::DisplayRole: switch (column( index.column()) ) { case LegendTable::ColumnNull: break; case LegendTable::ColumnPenColor: return _legend->pen(row).color(); case LegendTable::ColumnPenWidth: return _legend->pen(row).width(); case LegendTable::ColumnPenStyle: return LegendTable::penItem(_legend->pen(row).style()); case LegendTable::ColumnSymbolType: return LegendTable::symbolItem(_legend->symbol(row).type()); case LegendTable::ColumnSymbolSize: return _legend->symbol(row).size(); case LegendTable::ColumnSymbolPenColor: return _legend->symbol(row).pen().color(); case LegendTable::ColumnSymbolPenWidth: return _legend->symbol(row).pen().width(); case LegendTable::ColumnSymbolPenStyle: return LegendTable::penItem(_legend->symbol(row).pen().style()); case LegendTable::ColumnSymbolBrushColor: return _legend->symbol(row).brush().color(); case LegendTable::ColumnSymbolBrushStyle: return LegendTable::brushItem(_legend->symbol(row).brush().style()); case LegendTable::ColumnTextColor: return _legend->textColor(row); case LegendTable::ColumnText: return _legend->text(row); } return QVariant(); case Qt::TextAlignmentRole: if(column( index.column())!=LegendTable::ColumnText) { return (int) (Qt::AlignHCenter | Qt::AlignVCenter); } else { return QVariant(); } default: return QVariant(); } } break; } }
Qt::ItemFlags SciFigs::LegendTableItem::flags | ( | 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, and SciFigs::LegendTable::ColumnTextColor.
{ if(index.row()<2) { return Qt::ItemIsEnabled; } else { if(_readOnlyText && _columnIndexes->value(index.column())==LegendTable::ColumnText) { return Qt::ItemIsSelectable | Qt::ItemIsEnabled; } else { 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: return Qt::ItemIsSelectable | Qt::ItemIsEditable | Qt::ItemIsEnabled; break; case LegendTable::ColumnPenColor: case LegendTable::ColumnSymbolPenColor: case LegendTable::ColumnSymbolBrushColor: case LegendTable::ColumnTextColor: break; } return Qt::ItemIsSelectable | Qt::ItemIsEnabled; } } }
bool SciFigs::LegendTableItem::oneColor | ( | ) | const [inline] |
{return _oneColor;}
bool SciFigs::LegendTableItem::readOnlyText | ( | ) | const [inline] |
{return _readOnlyText;}
int SciFigs::LegendTableItem::rowCount | ( | const QModelIndex & | parent = QModelIndex() | ) | const [virtual] |
References SciFigs::Legend::count(), and TRACE.
void SciFigs::LegendTableItem::setColumnIndexes | ( | const QHash< int, LegendTable::Column > * | columnIndexes | ) |
bool SciFigs::LegendTableItem::setData | ( | const QModelIndex & | index, |
const QVariant & | value, | ||
int | role = Qt::EditRole |
||
) | [virtual] |
References SciFigs::Symbol::brush(), SciFigs::LegendTable::brushStyle(), columnCount(), 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::pen(), SciFigs::Legend::pen(), SciFigs::LegendTable::penStyle(), SciFigs::Symbol::setBrush(), SciFigs::Pen::setColor(), SciFigs::Symbol::setPen(), SciFigs::Legend::setPen(), SciFigs::Symbol::setSize(), SciFigs::Pen::setStyle(), SciFigs::Legend::setSymbol(), SciFigs::Legend::setText(), SciFigs::Legend::setTextColor(), SciFigs::Symbol::setType(), SciFigs::Pen::setWidth(), SciFigs::Legend::symbol(), SciFigs::LegendTable::symbolType(), and TRACE.
{ TRACE; if( !index.isValid() || index.row()<2) return false; int row=index.row()-2; switch (role) { case Qt::EditRole: switch (column( index.column()) ) { case LegendTable::ColumnNull: return false; case LegendTable::ColumnPenColor: { if(_oneColor) { setColor(row, value.value<QColor>()); } else { Pen p=_legend->pen(row); p.setColor(value.value<QColor>()); _legend->setPen(row, p); } } break; case LegendTable::ColumnPenWidth: { Pen p=_legend->pen(row); p.setWidth(value.toDouble()); _legend->setPen(row, p); } break; case LegendTable::ColumnPenStyle: { Pen p=_legend->pen(row); p.setStyle(LegendTable::penStyle(value.toInt()) ); _legend->setPen(row, p); } break; case LegendTable::ColumnSymbolType: { Symbol s=_legend->symbol(row); s.setType(LegendTable::symbolType(value.toInt()) ); _legend->setSymbol(row, s); } break; case LegendTable::ColumnSymbolSize: { Symbol s=_legend->symbol(row); s.setSize(value.toDouble()); _legend->setSymbol(row, s); } break; case LegendTable::ColumnSymbolPenColor: { if(_oneColor) { setColor(row, value.value<QColor>()); } else { Symbol s=_legend->symbol(row); Pen p=s.pen(); p.setColor(value.value<QColor>()); s.setPen(p); _legend->setSymbol(row, s); } } break; case LegendTable::ColumnSymbolPenWidth: { Symbol s=_legend->symbol(row); Pen p=s.pen(); p.setWidth(value.toDouble()); s.setPen(p); _legend->setSymbol(row, s); } break; case LegendTable::ColumnSymbolPenStyle: { Symbol s=_legend->symbol(row); Pen p=s.pen(); p.setStyle(LegendTable::penStyle(value.toInt()) ); s.setPen(p); _legend->setSymbol(row, s); } break; case LegendTable::ColumnSymbolBrushColor: { if(_oneColor) { setColor(row, value.value<QColor>()); } else { Symbol s=_legend->symbol(row); Brush b=s.brush(); b.setColor(value.value<QColor>()); s.setBrush(b); _legend->setSymbol(row, s); } } break; case LegendTable::ColumnSymbolBrushStyle: { Symbol s=_legend->symbol(row); Brush b=s.brush(); b.setStyle(LegendTable::brushStyle(value.toInt()) ); s.setBrush(b); _legend->setSymbol(row, s); } break; case LegendTable::ColumnTextColor: if(_oneColor) { setColor(row, value.value<QColor>()); } else { _legend->setTextColor(row, value.value<QColor>()); } break; case LegendTable::ColumnText: _legend->setText(row, value.toString()); break; } emit dataChanged(createIndex( row+2, 0), createIndex(row+2, columnCount()-1) ); return true; default: return false; } }
void SciFigs::LegendTableItem::setLegend | ( | Legend * | legend | ) |
void SciFigs::LegendTableItem::setOneColor | ( | bool | oc | ) | [inline] |
{_oneColor=oc;}
void SciFigs::LegendTableItem::setReadOnlyText | ( | bool | ro | ) | [inline] |
{_readOnlyText=ro;}