#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);
}