Public Member Functions | Protected Slots | Protected Member Functions | Protected Attributes

QmitkPropertiesTableEditor Class Reference

Combines a QTableView along with a QmitkPropertiesTableModel to a reusable Property Editor component. More...

#include <QmitkPropertiesTableEditor.h>

Collaboration diagram for QmitkPropertiesTableEditor:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 QmitkPropertiesTableEditor (QWidget *parent=0, Qt::WindowFlags f=0, mitk::DataNode::Pointer _Node=0)
virtual ~QmitkPropertiesTableEditor ()
void SetPropertyList (mitk::PropertyList::Pointer _List)
QmitkPropertiesTableModelgetModel () const
QTableView * getTable () const

Protected Slots

void PropertyFilterKeyWordTextChanged (const QString &text)

Protected Member Functions

virtual void init ()

Protected Attributes

QTableView * m_NodePropertiesTableView
QLineEdit * m_TxtPropertyFilterKeyWord
QmitkPropertiesTableModelm_Model

Detailed Description

Combines a QTableView along with a QmitkPropertiesTableModel to a reusable Property Editor component.

See also:
QmitkPropertyDelegate

Definition at line 38 of file QmitkPropertiesTableEditor.h.


Constructor & Destructor Documentation

QmitkPropertiesTableEditor::QmitkPropertiesTableEditor ( QWidget *  parent = 0,
Qt::WindowFlags  f = 0,
mitk::DataNode::Pointer  _Node = 0 
)

Constructs a new QmitkDataStorageTableModel and sets the DataNode for this TableModel.

Definition at line 36 of file QmitkPropertiesTableEditor.cpp.

References init(), m_Model, and m_NodePropertiesTableView.

: QWidget(parent, f)
, m_NodePropertiesTableView(0)
, m_Model(0)
{
  // set up empty gui elements
  this->init();

  // set up model
  m_Model = new QmitkPropertiesTableModel(m_NodePropertiesTableView, 0);    
  m_NodePropertiesTableView->setModel(m_Model);
}
QmitkPropertiesTableEditor::~QmitkPropertiesTableEditor (  ) [virtual]

Standard dtor. Nothing to do here.

Definition at line 50 of file QmitkPropertiesTableEditor.cpp.

{
}

Member Function Documentation

QmitkPropertiesTableModel * QmitkPropertiesTableEditor::getModel (  ) const

Get the model.

Definition at line 108 of file QmitkPropertiesTableEditor.cpp.

References m_Model.

{
  return m_Model;
}
QTableView * QmitkPropertiesTableEditor::getTable (  ) const

Definition at line 156 of file QmitkPropertiesTableEditor.cpp.

References m_NodePropertiesTableView.

void QmitkPropertiesTableEditor::init (  ) [protected, virtual]

Initialise empty GUI.

Definition at line 113 of file QmitkPropertiesTableEditor.cpp.

References m_NodePropertiesTableView, m_TxtPropertyFilterKeyWord, and PropertyFilterKeyWordTextChanged().

Referenced by QmitkPropertiesTableEditor().

{
  // read/ dim
  QVBoxLayout* _NodePropertiesLayout = new QVBoxLayout;
  QWidget* _PropertyFilterKeyWordPane = new QWidget(QWidget::parentWidget());
  QHBoxLayout* _PropertyFilterKeyWordLayout = new QHBoxLayout;
  QLabel* _LabelPropertyFilterKeyWord = new QLabel("Filter: ",_PropertyFilterKeyWordPane);
  m_TxtPropertyFilterKeyWord = new QLineEdit(_PropertyFilterKeyWordPane);
  m_NodePropertiesTableView = new QTableView(QWidget::parentWidget());

  // write  
  setLayout(_NodePropertiesLayout);

  _PropertyFilterKeyWordPane->setLayout(_PropertyFilterKeyWordLayout);
  
  _PropertyFilterKeyWordLayout->setMargin(0);
  _PropertyFilterKeyWordLayout->addWidget(_LabelPropertyFilterKeyWord);
  _PropertyFilterKeyWordLayout->addWidget(m_TxtPropertyFilterKeyWord);

  _NodePropertiesLayout->setMargin(0);
  _NodePropertiesLayout->addWidget(_PropertyFilterKeyWordPane);
  _NodePropertiesLayout->addWidget(m_NodePropertiesTableView);

  m_NodePropertiesTableView->setSelectionMode( QAbstractItemView::SingleSelection );
  m_NodePropertiesTableView->setSelectionBehavior( QAbstractItemView::SelectItems );
  //m_NodePropertiesTableView->setEditTriggers(QAbstractItemView::DoubleClicked | QAbstractItemView::SelectedClicked | QAbstractItemView::EditKeyPressed);
  m_NodePropertiesTableView->verticalHeader()->hide();
  m_NodePropertiesTableView->setItemDelegate(new QmitkPropertyDelegate(this));
  m_NodePropertiesTableView->setAlternatingRowColors(true);
  //m_NodePropertiesTableView->horizontalHeader()->setStretchLastSection(true);
  m_NodePropertiesTableView->setSortingEnabled(true);
  m_NodePropertiesTableView->verticalHeader()->setResizeMode(QHeaderView::ResizeToContents);

  QObject::connect( m_TxtPropertyFilterKeyWord, SIGNAL( textChanged(const QString &) )
    , this, SLOT( PropertyFilterKeyWordTextChanged(const QString &) ) );

}
void QmitkPropertiesTableEditor::PropertyFilterKeyWordTextChanged ( const QString &  text ) [protected, slot]
void QmitkPropertiesTableEditor::SetPropertyList ( mitk::PropertyList::Pointer  _List )

Convenience method. Sets the property list in the model.

Definition at line 54 of file QmitkPropertiesTableEditor.cpp.

References m_Model, m_NodePropertiesTableView, and QmitkPropertiesTableModel::SetPropertyList().

Referenced by QmitkPropertyListView::OnSelectionChanged().

{
  if(_List.IsNotNull())
  {
    m_Model->SetPropertyList(_List);
    m_NodePropertiesTableView->resizeColumnsToContents();
    m_NodePropertiesTableView->resizeRowsToContents();
    m_NodePropertiesTableView->horizontalHeader()->setStretchLastSection(true);
    m_NodePropertiesTableView->setEditTriggers(QAbstractItemView::CurrentChanged);

/*
    // refill the combo boxes
    m_ComboRenderer->clear();

    for(mitk::BaseRenderer::BaseRendererMapType::iterator mapit = mitk::BaseRenderer::baseRendererMap.begin(); 
      mapit != mitk::BaseRenderer::baseRendererMap.end(); mapit++)
    {
      if((*mapit).second->GetName())
      {
        std::string winName((*mapit).second->GetName());
        //  winName.erase(0,winName.find("::")+2);
        m_ComboRenderer->insertItem(winName.c_str());
      }
    }

    // try to select focused RenderWindow
    vtkRenderWindow* focusedRenderWindow = NULL;

    mitk::FocusManager* fm =
      mitk::GlobalInteraction::GetInstance()->GetFocusManager();
    mitk::BaseRenderer::ConstPointer br = fm->GetFocused();
    if (br.IsNotNull())
    {
      focusedRenderWindow = br->GetRenderWindow();
    }

    if (focusedRenderWindow)
    {

      m_ComboRenderer->setCurrentText(mitk::BaseRenderer::GetInstance(focusedRenderWindow)->GetName());
    }
    else
    {
      m_ComboRenderer->setCurrentText("no focused window");
    }
*/

  }
  else
  {
    m_Model->SetPropertyList(0);
  }
}

Member Data Documentation

The property list table model.

Definition at line 86 of file QmitkPropertiesTableEditor.h.

Referenced by getModel(), PropertyFilterKeyWordTextChanged(), QmitkPropertiesTableEditor(), and SetPropertyList().

The table view that renders the property list.

Definition at line 77 of file QmitkPropertiesTableEditor.h.

Referenced by getTable(), init(), QmitkPropertiesTableEditor(), and SetPropertyList().

A text field in which the user can enter a filter keyword for the properties. Only properties containing with this keyword will be selected.

Definition at line 82 of file QmitkPropertiesTableEditor.h.

Referenced by init(), and PropertyFilterKeyWordTextChanged().


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