#include <ViewParamEditor.h>
Public Slots | |
void | on_addTableField_clicked () |
void | on_fieldTemplate_currentIndexChanged (int index) |
void | on_insertTableField_clicked () |
void | on_removeTableField_clicked () |
void | on_selFieldList_itemChanged (QTableWidgetItem *item) |
Public Member Functions | |
void | getTableFields (MetaDataFieldList &sel) |
void | initTableFields (const MetaDataFieldList &sel) |
ViewParamEditor (QWidget *parent=0, Qt::WFlags fl=0) |
ViewParamEditor::ViewParamEditor | ( | QWidget * | parent = 0 , |
Qt::WFlags | fl = 0 |
||
) |
References QGpCoreTools::tr(), and TRACE.
: QWidget(parent, fl) { TRACE; setupUi(this); selFieldList->setColumnCount(3); QStringList hLabels; hLabels << tr("Data field")<< tr("Index") << tr("Title"); selFieldList->setHorizontalHeaderLabels (hLabels); selFieldList->setSelectionBehavior(QAbstractItemView::SelectItems); selFieldList->setSelectionMode(QAbstractItemView::SingleSelection); selFieldList->setEditTriggers(QAbstractItemView::AllEditTriggers); selFieldList->setItemDelegate (new ViewParamDelegate(this)); selFieldList->horizontalHeader()->setResizeMode(0, QHeaderView::Stretch); }
void ViewParamEditor::getTableFields | ( | MetaDataFieldList & | sel | ) |
void ViewParamEditor::initTableFields | ( | const MetaDataFieldList & | sel | ) |
References GeopsyCore::MetaDataFieldList::at(), GeopsyCore::MetaDataFieldList::count(), GeopsyCore::MetaDataIndex::index(), GeopsyCore::MetaDataField::title(), and TRACE.
Referenced by on_fieldTemplate_currentIndexChanged().
{ TRACE; selFieldList->blockSignals(true); selFieldList->setRowCount(sel.count()); QTableWidgetItem *newItem; int n=selFieldList->rowCount(); for(int i=0;i<n;i++) { const MetaDataField& field=sel.at(i); newItem=new QTableWidgetItem(MetaDataFactory::instance()->baseName(field)); selFieldList->setItem(i,0, newItem); newItem=new QTableWidgetItem(field.index()); setIndexState(newItem, field); selFieldList->setItem(i,1, newItem); newItem=new QTableWidgetItem(field.title()); selFieldList->setItem(i,2, newItem); selFieldList->resizeRowToContents(i); } selFieldList->blockSignals(false); selFieldList->resizeColumnToContents(1); selFieldList->resizeColumnToContents(2); }
void ViewParamEditor::on_addTableField_clicked | ( | ) | [slot] |
References GeopsyCore::MetaDataIndex::index(), and TRACE.
Referenced by on_insertTableField_clicked().
{ TRACE; int n=selFieldList->rowCount(); QString name, index, title; MetaDataIndex dataIndex; if(n>0) { name=selFieldList->item(n-1,0)->text(); index=selFieldList->item(n-1,1)->text(); title=selFieldList->item(n-1,2)->text(); dataIndex=MetaDataFactory::instance()->index(name); } else { name=MetaDataFactory::instance()->baseName(MetaDataFactory::Name); index="0"; title=MetaDataFactory::instance()->title(MetaDataFactory::Name); dataIndex=MetaDataFactory::Name; } selFieldList->setRowCount(n + 1); QTableWidgetItem *newItem; selFieldList->blockSignals(true); newItem=new QTableWidgetItem(name); selFieldList->setItem(n,0, newItem); newItem=new QTableWidgetItem(index); selFieldList->setItem(n,1, newItem); setIndexState (newItem, dataIndex); newItem=new QTableWidgetItem(title); selFieldList->setItem(n,2, newItem); selFieldList->blockSignals(false); selFieldList->resizeRowToContents(n); selFieldList->setCurrentItem(selFieldList->item(n, 0)); selFieldList->scrollToItem(selFieldList->item(n, 0)); }
void ViewParamEditor::on_fieldTemplate_currentIndexChanged | ( | int | index | ) | [slot] |
References initTableFields(), GeopsyCore::MetaDataFieldList::setAll(), GeopsyCore::MetaDataFieldList::setDefaults(), and TRACE.
{ TRACE; if(index==0) { MetaDataFieldList sel; sel.setDefaults(); initTableFields(sel); } else if(index==1) { MetaDataFieldList sel; sel.setAll(); initTableFields(sel); } }
void ViewParamEditor::on_insertTableField_clicked | ( | ) | [slot] |
References GeopsyCore::MetaDataIndex::index(), on_addTableField_clicked(), and TRACE.
{ TRACE; int n=selFieldList->currentRow(); if(n>=0) { QString name=selFieldList->item(n,0)->text(); QString index=selFieldList->item(n,1)->text(); QString title=selFieldList->item(n,2)->text(); MetaDataIndex dataIndex=MetaDataFactory::instance()->index(name); selFieldList->insertRow(n); QTableWidgetItem *newItem; selFieldList->blockSignals(true); newItem=new QTableWidgetItem(name); selFieldList->setItem(n,0, newItem); newItem=new QTableWidgetItem(index); setIndexState (newItem, dataIndex); selFieldList->setItem(n,1, newItem); newItem=new QTableWidgetItem(title); selFieldList->setItem(n,2, newItem); selFieldList->blockSignals(false); selFieldList->setCurrentItem(selFieldList->item(n, 0)); selFieldList->resizeRowToContents(n); } else { on_addTableField_clicked(); } }
void ViewParamEditor::on_removeTableField_clicked | ( | ) | [slot] |
void ViewParamEditor::on_selFieldList_itemChanged | ( | QTableWidgetItem * | item | ) | [slot] |
References GeopsyCore::MetaDataIndex::index(), GeopsyCore::MetaDataIndex::setIndex(), and TRACE.
{ TRACE; if(!item) return; int row=selFieldList->row(item); int column=selFieldList->column(item); if(column<=1) { QTableWidgetItem * itemId=selFieldList->item(row, 0); QTableWidgetItem * itemIndex=selFieldList->item(row, 1); QTableWidgetItem * itemTitle=selFieldList->item(row, 2); MetaDataIndex index=MetaDataFactory::instance()->index(itemId->text()); index.setIndex(itemIndex->text()); if(column==0) { setIndexState(itemIndex, index); } itemTitle->setText(MetaDataFactory::instance()->title(index)); } fieldTemplate->setCurrentIndex(2); }