#include <SortKeys.h>
Public Slots | |
| void | on_addBut_clicked () |
| void | on_deleteBut_clicked () |
| void | on_insertBut_clicked () |
| void | on_keyList_cellChanged (int row, int column) |
Public Member Functions | |
| void | getKeys () |
| SortKeys (QWidget *parent=0, Qt::WFlags fl=0) | |
| SortKeys::SortKeys | ( | QWidget * | parent = 0, |
| Qt::WFlags | fl = 0 |
||
| ) |
Constructs a SortKeys as a child of 'parent', with the name name and widget flags set to fl.
References GeopsyCore::MetaDataIndex::index(), GeopsyCore::SortKey::reversed(), QGpCoreTools::tr(), and TRACE.
: Dialog(parent, fl) { TRACE; setupUi(this); keyList->setColumnCount(3); QStringList hLabels; hLabels << tr("Key") << tr("Index") << tr("Order"); keyList->setHorizontalHeaderLabels (hLabels); keyList->setSelectionBehavior(QAbstractItemView::SelectItems); keyList->setSelectionMode(QAbstractItemView::SingleSelection); keyList->setEditTriggers(QAbstractItemView::AllEditTriggers); keyList->setItemDelegate (new SortKeysDelegate(this)); keyList->horizontalHeader()->setResizeMode(0, QHeaderView::Stretch); // Load choosen keys from registry QSettings reg; QStringList keysStr=reg.value( "Sort Keys").toStringList(); SortKey::clear(); for(QStringList::Iterator it=keysStr.begin();it!=keysStr.end();++it) { QString key=(*it).mid(1); if((*it)[0]=='-') SortKey::add(SortKey(MetaDataFactory::instance()->index(key), true)); else SortKey::add(SortKey(MetaDataFactory::instance()->index(key), false)); } int nKeys=SortKey::count(); keyList->setRowCount(nKeys); QTableWidgetItem * item; for(int i=0; i<nKeys;++i) { const SortKey& key=SortKey::at(i); item=new QTableWidgetItem(MetaDataFactory::instance()->baseName(key)); keyList->setItem(i, 0, item); item=new QTableWidgetItem(key.index()); setIndexState(item, key); keyList->setItem(i, 1, item); item=new QTableWidgetItem(); if(key.reversed()) item->setText(tr(sortKeyDescending)); else item->setText(tr(sortKeyAscending)); keyList->setItem(i, 2, item); keyList->resizeRowToContents(i); } if(keyList->rowCount() > 0) { keyList->setCurrentItem(keyList->item(0,0)); insertBut->setEnabled(true); deleteBut->setEnabled(true); } keyList->resizeColumnToContents (1); keyList->resizeColumnToContents (2); }
| void SortKeys::getKeys | ( | ) |
References GeopsyCore::SortKey::reversed(), GeopsyCore::MetaDataIndex::setIndex(), QGpCoreTools::tr(), and TRACE.
Referenced by GeopsyMainWindow::sort().
{
TRACE;
// Get choosen keys in Signal::_keys
int n=keyList->rowCount();
SortKey::clear();
for(int i=0;i < n;i++ ) {
QString key=keyList->item(i, 0)->text();
MetaDataIndex index(MetaDataFactory::instance()->index(key));
index.setIndex(keyList->item(i, 1)->text());
if(keyList->item(i, 2)->text()==tr(sortKeyDescending))
SortKey::add(SortKey(index, true));
else
SortKey::add(SortKey(index, false));
}
// Save choosen keys to registry
QStringList keysStr;
QSettings reg;
for(int i=0; i < n; i++ ) {
const SortKey& key=SortKey::at(i);
if(key.reversed())
keysStr.append("-"+MetaDataFactory::instance()->name(key));
else
keysStr.append("+"+MetaDataFactory::instance()->name(key));
}
reg.setValue( "Sort Keys", keysStr);
}
| void SortKeys::on_addBut_clicked | ( | ) | [slot] |
References TRACE.
{
TRACE;
int n=keyList->rowCount();
keyList->setRowCount(n + 1);
QTableWidgetItem * item;
item=new QTableWidgetItem(MetaDataFactory::instance()->name(MetaDataFactory::Name));
keyList->setItem(n, 0, item);
item=new QTableWidgetItem("0");
setIndexState (item, MetaDataFactory::Name);
keyList->setItem(n, 1, item);
item=new QTableWidgetItem(sortKeyAscending);
keyList->setItem(n, 2, item);
keyList->resizeRowToContents(n);
insertBut->setEnabled(true);
deleteBut->setEnabled(true);
keyList->clearSelection();
keyList->setCurrentItem(keyList->item(n, 0));
}
| void SortKeys::on_deleteBut_clicked | ( | ) | [slot] |
References TRACE.
{
TRACE;
int n=keyList->currentRow();
keyList->QTableWidget::removeRow(n);
if(keyList->rowCount()==0) {
insertBut->setEnabled(false);
deleteBut->setEnabled(false);
} else {
keyList->clearSelection();
if(n>=keyList->rowCount()) n=keyList->rowCount()-1;
keyList->setCurrentItem(keyList->item(n, 0));
}
}
| void SortKeys::on_insertBut_clicked | ( | ) | [slot] |
References TRACE.
{
TRACE;
int n=keyList->currentRow();
if(n >= 0) {
keyList->insertRow(n);
QTableWidgetItem * item;
item=new QTableWidgetItem(MetaDataFactory::instance()->name(MetaDataFactory::Name));
keyList->setItem(n, 0, item);
item=new QTableWidgetItem("0");
setIndexState (item, MetaDataFactory::Name);
keyList->setItem(n, 1, item);
item=new QTableWidgetItem(sortKeyAscending);
keyList->setItem(n, 2, item);
keyList->resizeRowToContents(n);
keyList->clearSelection();
keyList->setCurrentItem(keyList->item(n, 0));
}
}
| void SortKeys::on_keyList_cellChanged | ( | int | row, |
| int | column | ||
| ) | [slot] |