Classes | Public Member Functions

QmitkLevelWindowPresetDefinitionDialog::PresetTableModel Class Reference

#include <QmitkLevelWindowPresetDefinitionDialog.h>

List of all members.

Classes

struct  Entry

Public Member Functions

 PresetTableModel (std::map< std::string, double > &levels, std::map< std::string, double > &windows, QObject *parent=0)
int rowCount (const QModelIndex &) const
int columnCount (const QModelIndex &) const
QVariant data (const QModelIndex &index, int) const
QVariant headerData (int section, Qt::Orientation orientation, int) const
void addPreset (std::string &name, double level, double window)
void removePreset (const QModelIndex &)
void changePreset (int row, std::string &name, double level, double window)
void getLevels (std::map< std::string, double > &levels)
void getWindows (std::map< std::string, double > &windows)
bool contains (std::string &name)
Entry getPreset (const QModelIndex &) const

Detailed Description

Definition at line 58 of file QmitkLevelWindowPresetDefinitionDialog.h.


Constructor & Destructor Documentation

QmitkLevelWindowPresetDefinitionDialog::PresetTableModel::PresetTableModel ( std::map< std::string, double > &  levels,
std::map< std::string, double > &  windows,
QObject *  parent = 0 
)

Definition at line 193 of file QmitkLevelWindowPresetDefinitionDialog.cpp.

 : QAbstractTableModel(parent)
{
  for(std::map<std::string, double>::iterator iter = levels.begin(); iter != levels.end(); ++iter )
  {
    m_Entries.push_back(Entry(iter->first, iter->second, windows[iter->first]));
  }
}

Member Function Documentation

void QmitkLevelWindowPresetDefinitionDialog::PresetTableModel::addPreset ( std::string &  name,
double  level,
double  window 
)

Definition at line 225 of file QmitkLevelWindowPresetDefinitionDialog.cpp.

References int().

Referenced by QmitkLevelWindowPresetDefinitionDialog::addPreset().

{

  this->beginInsertRows(QModelIndex(), (int) m_Entries.size(), (int) m_Entries.size());

  m_Entries.push_back(Entry(name, level, window));

  this->endInsertRows();
}
void QmitkLevelWindowPresetDefinitionDialog::PresetTableModel::changePreset ( int  row,
std::string &  name,
double  level,
double  window 
)

Definition at line 263 of file QmitkLevelWindowPresetDefinitionDialog.cpp.

Referenced by QmitkLevelWindowPresetDefinitionDialog::changePreset().

{  
  m_Entries[row].name = name;
  m_Entries[row].level = level;
  m_Entries[row].window = window;
  
  this->dataChanged(index(row, 0), index(row, 2));
}
int QmitkLevelWindowPresetDefinitionDialog::PresetTableModel::columnCount ( const QModelIndex &   ) const

Definition at line 293 of file QmitkLevelWindowPresetDefinitionDialog.cpp.

{
  return 3;
}
bool QmitkLevelWindowPresetDefinitionDialog::PresetTableModel::contains ( std::string &  name )

Definition at line 237 of file QmitkLevelWindowPresetDefinitionDialog.cpp.

Referenced by QmitkLevelWindowPresetDefinitionDialog::addPreset(), and QmitkLevelWindowPresetDefinitionDialog::changePreset().

{

  for (std::vector<Entry>::iterator iter = m_Entries.begin(); iter != m_Entries.end(); ++iter)
  {
    if (iter->name == name) return true;
  }
  
  return false;
}
QVariant QmitkLevelWindowPresetDefinitionDialog::PresetTableModel::data ( const QModelIndex &  index,
int  role 
) const

Definition at line 300 of file QmitkLevelWindowPresetDefinitionDialog.cpp.

{
  if (role == Qt::DisplayRole)
  {
    switch (index.column()) {
    case 0:
      return QVariant(QString(m_Entries[index.row()].name.c_str()));
    case 1:
    {
      return QVariant(m_Entries[index.row()].level);
    }
    case 2:
      return QVariant(m_Entries[index.row()].window);
    }
  }

  return QVariant();
}
void QmitkLevelWindowPresetDefinitionDialog::PresetTableModel::getLevels ( std::map< std::string, double > &  levels )

Definition at line 205 of file QmitkLevelWindowPresetDefinitionDialog.cpp.

Referenced by QmitkLevelWindowPresetDefinitionDialog::getLevelPresets().

{
  for (std::vector<Entry>::iterator iter = m_Entries.begin(); iter != m_Entries.end(); ++iter)
  {
    levels[iter->name] = iter->level;
  }
}
QmitkLevelWindowPresetDefinitionDialog::PresetTableModel::Entry QmitkLevelWindowPresetDefinitionDialog::PresetTableModel::getPreset ( const QModelIndex &  index ) const

Definition at line 275 of file QmitkLevelWindowPresetDefinitionDialog.cpp.

Referenced by QmitkLevelWindowPresetDefinitionDialog::changePreset(), and QmitkLevelWindowPresetDefinitionDialog::ListViewSelectionChanged().

{
  int row = index.row();
  
  if (row < 0 || (unsigned int)row >= m_Entries.size()) return Entry("", 0, 0);
  
  return m_Entries[row];
}
void QmitkLevelWindowPresetDefinitionDialog::PresetTableModel::getWindows ( std::map< std::string, double > &  windows )

Definition at line 215 of file QmitkLevelWindowPresetDefinitionDialog.cpp.

Referenced by QmitkLevelWindowPresetDefinitionDialog::getWindowPresets().

{
  for (std::vector<Entry>::iterator iter = m_Entries.begin(); iter != m_Entries.end(); ++iter)
  {
    windows[iter->name] = iter->window;
  }
}
QVariant QmitkLevelWindowPresetDefinitionDialog::PresetTableModel::headerData ( int  section,
Qt::Orientation  orientation,
int  role 
) const

Definition at line 321 of file QmitkLevelWindowPresetDefinitionDialog.cpp.

{
  if (role == Qt::DisplayRole && orientation == Qt::Horizontal)
  {
    switch (section) {
    case 0: return QVariant("Preset");
    case 1: return QVariant("Level");
    case 2: return QVariant("Window");
    }
  }

  return QVariant();
}
void QmitkLevelWindowPresetDefinitionDialog::PresetTableModel::removePreset ( const QModelIndex &  index )

Definition at line 250 of file QmitkLevelWindowPresetDefinitionDialog.cpp.

Referenced by QmitkLevelWindowPresetDefinitionDialog::removePreset().

{  
  int row = index.row();
  
  this->beginRemoveRows(QModelIndex(), row, row);

  m_Entries.erase(m_Entries.begin()+row);

  this->endRemoveRows();
}
int QmitkLevelWindowPresetDefinitionDialog::PresetTableModel::rowCount ( const QModelIndex &   ) const

Definition at line 286 of file QmitkLevelWindowPresetDefinitionDialog.cpp.

{
  return (int) m_Entries.size();
}

The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines