15 #include <QApplication> 19 class QmitkCallbackEvent :
public QEvent
22 QmitkCallbackEvent(itk::Command *cmd, itk::EventObject *e) : QEvent(QEvent::User), m_Command(cmd), m_Event(e) {}
23 ~QmitkCallbackEvent()
override {
delete m_Event; }
24 itk::Command *command() {
return m_Command; }
25 itk::EventObject *itkevent() {
return m_Event; }
27 itk::Command::Pointer m_Command;
28 itk::EventObject *m_Event;
42 QApplication::instance()->postEvent(
this,
new QmitkCallbackEvent(cmd, e));
47 QmitkCallbackEvent *event(dynamic_cast<QmitkCallbackEvent *>(e));
52 itk::Command *cmd(event->command());
56 if (event->itkevent())
58 cmd->Execute((
const itk::Object *)
nullptr,
59 *(event->itkevent()));
63 const itk::NoEvent dummyEvent;
64 cmd->Execute((
const itk::Object *)
nullptr,
QmitkCallbackFromGUIThread()
static void RegisterImplementation(CallbackFromGUIThreadImplementation *implementation)
To be called by a toolkit specific CallbackFromGUIThreadImplementation.
~QmitkCallbackFromGUIThread() override
void CallThisFromGUIThread(itk::Command *, itk::EventObject *) override
Change the current application cursor.
bool event(QEvent *e) override