#include <QmitkNodeTableViewKeyFilter.h>
Public Member Functions | |
| QmitkNodeTableViewKeyFilter (QObject *_DataManagerView=0) | |
Protected Member Functions | |
| bool | eventFilter (QObject *obj, QEvent *event) |
Protected Attributes | |
| berry::IPreferencesService::WeakPtr | m_PreferencesService |
A small class which "eats" all Del-Key-pressed events on the node table. When the Del Key is pressed selected nodes should be removed.
Definition at line 29 of file QmitkNodeTableViewKeyFilter.h.
| QmitkNodeTableViewKeyFilter::QmitkNodeTableViewKeyFilter | ( | QObject * | _DataManagerView = 0 ) |
Definition at line 24 of file QmitkNodeTableViewKeyFilter.cpp.
References berry::Platform::GetServiceRegistry(), ID, and m_PreferencesService.
: QObject(_DataManagerView)
{
m_PreferencesService =
berry::Platform::GetServiceRegistry().GetServiceById<berry::IPreferencesService>(berry::IPreferencesService::ID);
}
| bool QmitkNodeTableViewKeyFilter::eventFilter | ( | QObject * | obj, |
| QEvent * | event | ||
| ) | [protected] |
Definition at line 31 of file QmitkNodeTableViewKeyFilter.cpp.
References QmitkDataManagerView::GlobalReinit(), QmitkDataManagerView::Load(), berry::WeakPointer< TObjectType >::Lock(), m_PreferencesService, QmitkDataManagerView::MakeAllNodesInvisible(), QmitkDataManagerView::ReinitSelectedNodes(), QmitkDataManagerView::RemoveSelectedNodes(), QmitkDataManagerView::SaveSelectedNodes(), QmitkDataManagerView::ShowInfoDialogForSelectedNodes(), and QmitkDataManagerView::ToggleVisibilityOfSelectedNodes().
{
QmitkDataManagerView* _DataManagerView = qobject_cast<QmitkDataManagerView*>(this->parent());
if (event->type() == QEvent::KeyPress && _DataManagerView)
{
berry::IPreferencesService::Pointer prefService = m_PreferencesService.Lock();
berry::IPreferences::Pointer nodeTableKeyPrefs = prefService->GetSystemPreferences()->Node("/DataManager/Hotkeys");
QKeySequence _MakeAllInvisible = QKeySequence(QString::fromStdString(nodeTableKeyPrefs->Get("Make all nodes invisible", "Ctrl+, V")));
QKeySequence _ToggleVisibility = QKeySequence(QString::fromStdString(nodeTableKeyPrefs->Get("Toggle visibility of selected nodes", "V")));
QKeySequence _DeleteSelectedNodes = QKeySequence(QString::fromStdString(nodeTableKeyPrefs->Get("Delete selected nodes", "Del")));
QKeySequence _Reinit = QKeySequence(QString::fromStdString(nodeTableKeyPrefs->Get("Reinit selected nodes", "R")));
QKeySequence _GlobalReinit = QKeySequence(QString::fromStdString(nodeTableKeyPrefs->Get("Global Reinit", "Ctrl+, R")));
QKeySequence _Save = QKeySequence(QString::fromStdString(nodeTableKeyPrefs->Get("Save selected nodes", "Ctrl+, S")));
QKeySequence _Load = QKeySequence(QString::fromStdString(nodeTableKeyPrefs->Get("Load", "Ctrl+, L")));
QKeySequence _ShowInfo = QKeySequence(QString::fromStdString(nodeTableKeyPrefs->Get("Show Node Information", "Ctrl+, I")));
QKeyEvent *keyEvent = static_cast<QKeyEvent *>(event);
QKeySequence _KeySequence = QKeySequence(keyEvent->modifiers(), keyEvent->key());
// if no modifier was pressed the sequence is now empty
if(_KeySequence.isEmpty())
_KeySequence = QKeySequence(keyEvent->key());
if(_KeySequence == _MakeAllInvisible)
{
// trigger deletion of selected node(s)
_DataManagerView->MakeAllNodesInvisible(true);
// return true: this means the delete key event is not send to the table
return true;
}
else if(_KeySequence == _DeleteSelectedNodes)
{
// trigger deletion of selected node(s)
_DataManagerView->RemoveSelectedNodes(true);
// return true: this means the delete key event is not send to the table
return true;
}
else if(_KeySequence == _ToggleVisibility)
{
// trigger deletion of selected node(s)
_DataManagerView->ToggleVisibilityOfSelectedNodes(true);
// return true: this means the delete key event is not send to the table
return true;
}
else if(_KeySequence == _Reinit)
{
_DataManagerView->ReinitSelectedNodes(true);
return true;
}
else if(_KeySequence == _GlobalReinit)
{
_DataManagerView->GlobalReinit(true);
return true;
}
else if(_KeySequence == _Save)
{
_DataManagerView->SaveSelectedNodes(true);
return true;
}
else if(_KeySequence == _Load)
{
_DataManagerView->Load(true);
return true;
}
else if(_KeySequence == _ShowInfo)
{
_DataManagerView->ShowInfoDialogForSelectedNodes(true);
return true;
}
}
// standard event processing
return QObject::eventFilter(obj, event);
}
The Preferences Service to retrieve and store preferences.
Definition at line 40 of file QmitkNodeTableViewKeyFilter.h.
Referenced by eventFilter(), and QmitkNodeTableViewKeyFilter().
1.7.2