#include <QmitkLevelWindowPresetDefinitionDialog.h>
Classes | |
class | PresetTableModel |
Public Member Functions | |
QmitkLevelWindowPresetDefinitionDialog (QWidget *parent=0, Qt::WindowFlags f=0) | |
~QmitkLevelWindowPresetDefinitionDialog () | |
void | setPresets (std::map< std::string, double > &level, std::map< std::string, double > &window, QString initLevel, QString initWindow) |
std::map< std::string, double > | getLevelPresets () |
std::map< std::string, double > | getWindowPresets () |
Protected Slots | |
void | addPreset () |
void | removePreset () |
void | changePreset () |
void | ListViewSelectionChanged (const QItemSelection &, const QItemSelection &) |
void | sortPresets (int index) |
Protected Member Functions | |
void | resizeEvent (QResizeEvent *event) |
void | showEvent (QShowEvent *event) |
void | resizeColumns () |
Protected Attributes | |
PresetTableModel * | m_TableModel |
QSortFilterProxyModel | m_SortModel |
Definition at line 31 of file QmitkLevelWindowPresetDefinitionDialog.h.
QmitkLevelWindowPresetDefinitionDialog::QmitkLevelWindowPresetDefinitionDialog | ( | QWidget * | parent = 0 , |
Qt::WindowFlags | f = 0 |
||
) |
Definition at line 24 of file QmitkLevelWindowPresetDefinitionDialog.cpp.
References Ui_QmitkLevelWindowPresetDefinition::addButton, addPreset(), Ui_QmitkLevelWindowPresetDefinition::changeButton, changePreset(), m_SortModel, Ui_QmitkLevelWindowPresetDefinition::presetView, Ui_QmitkLevelWindowPresetDefinition::removeButton, removePreset(), Ui_QmitkLevelWindowPresetDefinition::setupUi(), and sortPresets().
: QDialog(parent, f), m_TableModel(0), m_SortModel(this) { this->setupUi(this); QObject::connect(addButton, SIGNAL(clicked()), this, SLOT(addPreset())); QObject::connect(removeButton, SIGNAL(clicked()), this, SLOT(removePreset())); QObject::connect(changeButton, SIGNAL(clicked()), this, SLOT(changePreset())); QObject::connect(presetView->horizontalHeader(), SIGNAL(sectionClicked(int)), this, SLOT(sortPresets(int))); presetView->verticalHeader()->setVisible(false); presetView->horizontalHeader()->setResizeMode(QHeaderView::Fixed); //presetView->horizontalHeader()->setResizeMode(0, QHeaderView::Stretch); //presetView->horizontalHeader()->setResizeMode(1, QHeaderView::ResizeToContents); //presetView->horizontalHeader()->setResizeMode(2, QHeaderView::ResizeToContents); presetView->setModel(&m_SortModel); }
QmitkLevelWindowPresetDefinitionDialog::~QmitkLevelWindowPresetDefinitionDialog | ( | ) |
Definition at line 44 of file QmitkLevelWindowPresetDefinitionDialog.cpp.
References m_TableModel.
{ delete m_TableModel; }
void QmitkLevelWindowPresetDefinitionDialog::addPreset | ( | ) | [protected, slot] |
Definition at line 80 of file QmitkLevelWindowPresetDefinitionDialog.cpp.
References QmitkLevelWindowPresetDefinitionDialog::PresetTableModel::addPreset(), QmitkLevelWindowPresetDefinitionDialog::PresetTableModel::contains(), Ui_QmitkLevelWindowPresetDefinition::levelSpinBox, m_TableModel, Ui_QmitkLevelWindowPresetDefinition::presetnameLineEdit, and Ui_QmitkLevelWindowPresetDefinition::windowSpinBox.
Referenced by QmitkLevelWindowPresetDefinitionDialog().
{ std::string name(presetnameLineEdit->text().toStdString()); if (m_TableModel->contains(name)) { QMessageBox::critical( this, "Preset definition", "Presetname already exists.\n" "You have to enter another one." ); } else if (presetnameLineEdit->text() == "") { QMessageBox::critical( this, "Preset definition", "Presetname has to be set.\n" "You have to enter a Presetname." ); } else { m_TableModel->addPreset(name, levelSpinBox->value(), windowSpinBox->value()); } }
void QmitkLevelWindowPresetDefinitionDialog::changePreset | ( | ) | [protected, slot] |
Definition at line 111 of file QmitkLevelWindowPresetDefinitionDialog.cpp.
References QmitkLevelWindowPresetDefinitionDialog::PresetTableModel::changePreset(), QmitkLevelWindowPresetDefinitionDialog::PresetTableModel::contains(), QmitkLevelWindowPresetDefinitionDialog::PresetTableModel::getPreset(), Ui_QmitkLevelWindowPresetDefinition::levelSpinBox, m_TableModel, Ui_QmitkLevelWindowPresetDefinition::presetnameLineEdit, Ui_QmitkLevelWindowPresetDefinition::presetView, and Ui_QmitkLevelWindowPresetDefinition::windowSpinBox.
Referenced by QmitkLevelWindowPresetDefinitionDialog().
{ if (presetView->selectionModel()->hasSelection()) { std::string name(presetnameLineEdit->text().toStdString()); if (name == "") { QMessageBox::critical( this, "Preset definition", "Presetname has to be set.\n" "You have to enter a Presetname." ); } else if (m_TableModel->contains(name) && (m_TableModel->getPreset(presetView->selectionModel()->currentIndex()).name != name)) { QMessageBox::critical( this, "Preset definition", "Presetname already exists.\n" "You have to enter another one." ); } else { m_TableModel->changePreset(presetView->selectionModel()->currentIndex().row(), name, levelSpinBox->value(), windowSpinBox->value()); } } }
std::map< std::string, double > QmitkLevelWindowPresetDefinitionDialog::getLevelPresets | ( | ) |
Definition at line 157 of file QmitkLevelWindowPresetDefinitionDialog.cpp.
References QmitkLevelWindowPresetDefinitionDialog::PresetTableModel::getLevels(), and m_TableModel.
Referenced by QmitkLevelWindowWidgetContextMenu::addPreset().
{ std::map<std::string, double> levels; m_TableModel->getLevels(levels); return levels; }
std::map< std::string, double > QmitkLevelWindowPresetDefinitionDialog::getWindowPresets | ( | ) |
Definition at line 165 of file QmitkLevelWindowPresetDefinitionDialog.cpp.
References QmitkLevelWindowPresetDefinitionDialog::PresetTableModel::getWindows(), and m_TableModel.
Referenced by QmitkLevelWindowWidgetContextMenu::addPreset().
{ std::map<std::string, double> windows; m_TableModel->getWindows(windows); return windows; }
void QmitkLevelWindowPresetDefinitionDialog::ListViewSelectionChanged | ( | const QItemSelection & | selected, |
const QItemSelection & | |||
) | [protected, slot] |
Definition at line 173 of file QmitkLevelWindowPresetDefinitionDialog.cpp.
References QmitkLevelWindowPresetDefinitionDialog::PresetTableModel::getPreset(), QmitkLevelWindowPresetDefinitionDialog::PresetTableModel::Entry::level, Ui_QmitkLevelWindowPresetDefinition::levelSpinBox, m_TableModel, QmitkLevelWindowPresetDefinitionDialog::PresetTableModel::Entry::name, Ui_QmitkLevelWindowPresetDefinition::presetnameLineEdit, QmitkLevelWindowPresetDefinitionDialog::PresetTableModel::Entry::window, and Ui_QmitkLevelWindowPresetDefinition::windowSpinBox.
Referenced by setPresets().
{ QModelIndexList indexes(selected.indexes()); if (indexes.empty()) { presetnameLineEdit->setText(""); levelSpinBox->setValue(0); windowSpinBox->setValue(0); } else { PresetTableModel::Entry entry(m_TableModel->getPreset(indexes.first())); presetnameLineEdit->setText(QString(entry.name.c_str())); levelSpinBox->setValue((int)entry.level); windowSpinBox->setValue((int)entry.window); } }
void QmitkLevelWindowPresetDefinitionDialog::removePreset | ( | ) | [protected, slot] |
Definition at line 102 of file QmitkLevelWindowPresetDefinitionDialog.cpp.
References m_TableModel, Ui_QmitkLevelWindowPresetDefinition::presetView, and QmitkLevelWindowPresetDefinitionDialog::PresetTableModel::removePreset().
Referenced by QmitkLevelWindowPresetDefinitionDialog().
{ QModelIndex index(presetView->selectionModel()->currentIndex()); if (!index.isValid()) return; m_TableModel->removePreset(index); }
void QmitkLevelWindowPresetDefinitionDialog::resizeColumns | ( | ) | [protected] |
Definition at line 72 of file QmitkLevelWindowPresetDefinitionDialog.cpp.
References Ui_QmitkLevelWindowPresetDefinition::presetView.
Referenced by resizeEvent(), and showEvent().
{ int width = presetView->viewport()->size().width() - presetView->columnWidth(1) - presetView->columnWidth(2); if (width < 50) width = 50; presetView->setColumnWidth(0, width); }
void QmitkLevelWindowPresetDefinitionDialog::resizeEvent | ( | QResizeEvent * | event ) | [protected] |
Definition at line 58 of file QmitkLevelWindowPresetDefinitionDialog.cpp.
References resizeColumns().
{ QDialog::resizeEvent(event); this->resizeColumns(); }
void QmitkLevelWindowPresetDefinitionDialog::setPresets | ( | std::map< std::string, double > & | level, |
std::map< std::string, double > & | window, | ||
QString | initLevel, | ||
QString | initWindow | ||
) |
Definition at line 139 of file QmitkLevelWindowPresetDefinitionDialog.cpp.
References Ui_QmitkLevelWindowPresetDefinition::levelSpinBox, ListViewSelectionChanged(), m_SortModel, m_TableModel, Ui_QmitkLevelWindowPresetDefinition::presetView, sortPresets(), and Ui_QmitkLevelWindowPresetDefinition::windowSpinBox.
Referenced by QmitkLevelWindowWidgetContextMenu::addPreset().
{ levelSpinBox->setValue(initLevel.toInt()); windowSpinBox->setValue(initWindow.toInt()); delete m_TableModel; m_TableModel = new PresetTableModel(level, window, this); m_SortModel.setSourceModel(m_TableModel); QObject::connect(presetView->selectionModel(), SIGNAL(selectionChanged(const QItemSelection&, const QItemSelection&)), this, SLOT(ListViewSelectionChanged(const QItemSelection&, const QItemSelection&))); this->sortPresets(0); presetView->resizeColumnsToContents(); }
void QmitkLevelWindowPresetDefinitionDialog::showEvent | ( | QShowEvent * | event ) | [protected] |
Definition at line 65 of file QmitkLevelWindowPresetDefinitionDialog.cpp.
References resizeColumns().
{ this->resizeColumns(); QDialog::showEvent(event); }
void QmitkLevelWindowPresetDefinitionDialog::sortPresets | ( | int | index ) | [protected, slot] |
Definition at line 49 of file QmitkLevelWindowPresetDefinitionDialog.cpp.
References Ui_QmitkLevelWindowPresetDefinition::presetView.
Referenced by QmitkLevelWindowPresetDefinitionDialog(), and setPresets().
{ static Qt::SortOrder order[3] = {Qt::AscendingOrder}; presetView->sortByColumn(index, order[index]); if (order[index] == Qt::AscendingOrder) order[index] = Qt::DescendingOrder; else order[index] = Qt::AscendingOrder; }
QSortFilterProxyModel QmitkLevelWindowPresetDefinitionDialog::m_SortModel [protected] |
Definition at line 105 of file QmitkLevelWindowPresetDefinitionDialog.h.
Referenced by QmitkLevelWindowPresetDefinitionDialog(), and setPresets().
Definition at line 104 of file QmitkLevelWindowPresetDefinitionDialog.h.
Referenced by addPreset(), changePreset(), getLevelPresets(), getWindowPresets(), ListViewSelectionChanged(), removePreset(), setPresets(), and ~QmitkLevelWindowPresetDefinitionDialog().