Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #include <Fl/Fl.h>
00019 #include "FLmitkComfortWidget.h"
00020
00021
00022 FLmitkComfortWidget::FLmitkComfortWidget(int x,int y,int w,int h,const char* label) : FLmitkRenderWindow(x,y,w,h,label) {
00023
00024 }
00025 int FLmitkComfortWidget::handle(int event) {
00026 switch(event) {
00027 case FL_MOUSEWHEEL:
00028 if (Fl::event_dy() > 0) {
00029 sliceCtrl->GetSlice()->Next();
00030 } else {
00031 sliceCtrl->GetSlice()->Previous();
00032 }
00033 GetRenderer()->Render();
00034 draw();
00035 return 1;
00036 break;
00037 case FL_PUSH:
00038 m_LastX = Fl::event_x();
00039 m_LastY = Fl::event_y();
00040 return 1;
00041 break;
00042 case FL_DRAG:
00043 int dx = Fl::event_x() - m_LastX;
00044 int dy = Fl::event_y() - m_LastY;
00045 m_LastX = Fl::event_x();
00046 m_LastY = Fl::event_y();
00047 mitk::LevelWindow lvlWin;
00048 if (m_Node.IsNotNull() && m_Node->GetLevelWindow(lvlWin,GetRenderer())) {
00049 lvlWin.SetLevelWindow(lvlWin.GetLevel() + dy, lvlWin.GetWindow() + dx);
00050 m_Node->SetLevelWindow(lvlWin,GetRenderer());
00051 m_Node->SetLevelWindow(lvlWin,NULL);
00052 GetRenderer()->Render();
00053 draw();
00054 }
00055 return 1;
00056 }
00057 return FLmitkRenderWindow::handle(event);
00058 }
00059