Public Types | Public Slots | Signals | Public Member Functions | Protected Slots | Protected Member Functions | Protected Attributes

QmitkRenderWindowMenu Class Reference
[Renderer and RenderWindow Classes]

The QmitkRenderWindowMenu is a popup Widget which shows up when the mouse curser enter a QmitkRenderWindow. The Menu Widget is located in the right top corner of each RenderWindow. It includes different settings. For example the layout design can be changed with the setting button. Switching between full-screen mode and layout design can be done with the full-screen button. Splitting the Widget horizontal or vertical as well closing the Widget is not implemented yet. The popup Widget can be deactivated with ActivateMenuWidget(false) in QmitkRenderWindow. More...

#include <QmitkRenderWindowMenu.h>

List of all members.

Public Types

enum  { TRANSVERSAL, SAGITTAL, CORONAL, THREE_D }
enum  {
  LAYOUT_DEFAULT, LAYOUT_2DIMAGEUP, LAYOUT_2DIMAGELEFT, LAYOUT_BIG3D,
  LAYOUT_TRANSVERSAL, LAYOUT_SAGITTAL, LAYOUT_CORONAL, LAYOUT_2X2DAND3DWIDGET,
  LAYOUT_ROWWIDGET3AND4, LAYOUT_COLUMNWIDGET3AND4, LAYOUT_ROWWIDGETSMALL3ANDBIG4, LAYOUT_SMALLUPPERWIDGET2BIGAND4,
  LAYOUT_LEFT2DAND3DRIGHT2D
}

Public Slots

void SetCrossHairVisibility (bool state)
void DeferredHideMenu ()

Signals

void ResetView ()
void ChangeCrosshairRotationMode (int)
void SignalChangeLayoutDesign (int layoutDesign)

Public Member Functions

 QmitkRenderWindowMenu (QWidget *parent=0, Qt::WFlags f=0, mitk::BaseRenderer *b=0)
virtual ~QmitkRenderWindowMenu ()
bool GetSettingsMenuVisibilty ()
void SetLayoutIndex (unsigned int layoutIndex)
unsigned int GetLayoutIndex ()
void UpdateLayoutDesignList (int layoutDesignIndex)
void MoveWidgetToCorrectPos (float)
void ChangeFullScreenMode (bool state)
void NotifyNewWidgetPlanesMode (int mode)
void ShowMenu ()
void HideMenu ()

Protected Slots

void enterEvent (QEvent *)
void leaveEvent (QEvent *)
void OnTSNumChanged (int)
void OnCrosshairRotationModeSelected (QAction *)
void OnFullScreenButton (bool checked)
void OnSettingsButton (bool checked)
void OnChangeLayoutToDefault (bool)
void OnChangeLayoutTo2DImagesUp (bool)
void OnChangeLayoutTo2DImagesLeft (bool)
void OnChangeLayoutToBig3D (bool)
void OnChangeLayoutToWidget1 (bool)
void OnChangeLayoutToWidget2 (bool)
void OnChangeLayoutToWidget3 (bool)
void OnChangeLayoutToRowWidget3And4 (bool)
void OnChangeLayoutToColumnWidget3And4 (bool)
void OnChangeLayoutToSmallUpperWidget2Big3and4 (bool)
void OnChangeLayoutTo2x2Dand3DWidget (bool)
void OnChangeLayoutToLeft2Dand3DRight2D (bool)
void OnCrossHairMenuAboutToShow ()

Protected Member Functions

void CreateMenuWidget ()
void CreateSettingsWidget ()
void paintEvent (QPaintEvent *event)
void UpdateLayoutList ()
void ChangeFullScreenIcon ()

Protected Attributes

int currentCrosshairRotationMode
QPushButton * m_CrosshairModeButton
QPushButton * m_FullScreenButton
QPushButton * m_SettingsButton
QAction * m_DefaultLayoutAction
QAction * m_2DImagesUpLayoutAction
QAction * m_2DImagesLeftLayoutAction
QAction * m_Big3DLayoutAction
QAction * m_Widget1LayoutAction
QAction * m_Widget2LayoutAction
QAction * m_Widget3LayoutAction
QAction * m_RowWidget3And4LayoutAction
QAction * m_ColumnWidget3And4LayoutAction
QAction * m_SmallUpperWidget2Big3and4LayoutAction
QAction * m_2x2Dand3DWidgetLayoutAction
QAction * m_Left2Dand3DRight2DLayoutAction
QLabel * m_TSLabel
QMenu * m_Settings
QMenu * m_CrosshairMenu
unsigned int m_Layout
unsigned int m_LayoutDesign
unsigned int m_OldLayoutDesign
bool m_FullScreenMode
bool m_Entered
bool m_Hidden

Detailed Description

The QmitkRenderWindowMenu is a popup Widget which shows up when the mouse curser enter a QmitkRenderWindow. The Menu Widget is located in the right top corner of each RenderWindow. It includes different settings. For example the layout design can be changed with the setting button. Switching between full-screen mode and layout design can be done with the full-screen button. Splitting the Widget horizontal or vertical as well closing the Widget is not implemented yet. The popup Widget can be deactivated with ActivateMenuWidget(false) in QmitkRenderWindow.

See also:
QmitkRenderWindow
QmitkStdMultiWidget

Definition at line 50 of file QmitkRenderWindowMenu.h.


Member Enumeration Documentation

anonymous enum

enum for layout direction

Enumerator:
TRANSVERSAL 
SAGITTAL 
CORONAL 
THREE_D 

Definition at line 197 of file QmitkRenderWindowMenu.h.

anonymous enum

enum for layout design

Enumerator:
LAYOUT_DEFAULT 
LAYOUT_2DIMAGEUP 
LAYOUT_2DIMAGELEFT 
LAYOUT_BIG3D 
LAYOUT_TRANSVERSAL 
LAYOUT_SAGITTAL 
LAYOUT_CORONAL 
LAYOUT_2X2DAND3DWIDGET 
LAYOUT_ROWWIDGET3AND4 
LAYOUT_COLUMNWIDGET3AND4 
LAYOUT_ROWWIDGETSMALL3ANDBIG4 
LAYOUT_SMALLUPPERWIDGET2BIGAND4 
LAYOUT_LEFT2DAND3DRIGHT2D 

Definition at line 206 of file QmitkRenderWindowMenu.h.


Constructor & Destructor Documentation

QmitkRenderWindowMenu::QmitkRenderWindowMenu ( QWidget *  parent = 0,
Qt::WFlags  f = 0,
mitk::BaseRenderer b = 0 
)
QmitkRenderWindowMenu::~QmitkRenderWindowMenu (  ) [virtual]

Definition at line 98 of file QmitkRenderWindowMenu.cpp.

{}

Member Function Documentation

void QmitkRenderWindowMenu::ChangeCrosshairRotationMode ( int   ) [signal]
void QmitkRenderWindowMenu::ChangeFullScreenIcon (  ) [protected]
void QmitkRenderWindowMenu::ChangeFullScreenMode ( bool  state )

Definition at line 265 of file QmitkRenderWindowMenu.cpp.

References OnFullScreenButton().

Referenced by QmitkRenderWindow::FullScreenMode().

{
  this->OnFullScreenButton( state );
}
void QmitkRenderWindowMenu::CreateMenuWidget (  ) [protected]

Create menu widget. The menu contains five QPushButtons (hori-split, verti-split, full-screen, settings and close button) and their signal/slot connection for handling.

Definition at line 103 of file QmitkRenderWindowMenu.cpp.

References m_CrosshairMenu, m_CrosshairModeButton, m_FullScreenButton, m_SettingsButton, OnCrossHairMenuAboutToShow(), OnFullScreenButton(), and OnSettingsButton().

{
  QHBoxLayout* layout = new QHBoxLayout(this);
  layout->setAlignment( Qt::AlignRight );
  layout->setContentsMargins(1,1,1,1);

  QSize size( 13, 13 );

  m_CrosshairMenu = new QMenu(this);
  connect( m_CrosshairMenu, SIGNAL( aboutToShow() ), this, SLOT(OnCrossHairMenuAboutToShow()) );

  // button for changing rotation mode
  m_CrosshairModeButton = new QPushButton(this);
  m_CrosshairModeButton->setMaximumSize(15, 15);
  m_CrosshairModeButton->setIconSize(size);
  m_CrosshairModeButton->setFlat( true );
  m_CrosshairModeButton->setMenu( m_CrosshairMenu );
  m_CrosshairModeButton->setIcon( QIcon( iconCrosshairMode_xpm ) );
  layout->addWidget( m_CrosshairModeButton );

  //fullScreenButton
  m_FullScreenButton = new QPushButton(this);
  m_FullScreenButton->setMaximumSize(15, 15);
  m_FullScreenButton->setIconSize(size);
  m_FullScreenButton->setFlat( true );
  m_FullScreenButton->setIcon( QIcon( iconFullScreen_xpm ));
  layout->addWidget( m_FullScreenButton );

  //settingsButton
  m_SettingsButton = new QPushButton(this);
  m_SettingsButton->setMaximumSize(15, 15);
  m_SettingsButton->setIconSize(size);
  m_SettingsButton->setFlat( true );
  m_SettingsButton->setIcon( QIcon( iconSettings_xpm ));
  layout->addWidget( m_SettingsButton );

  //Create Connections -- coming soon?
  connect( m_FullScreenButton, SIGNAL( clicked(bool) ), this, SLOT(OnFullScreenButton(bool)) );
  connect( m_SettingsButton, SIGNAL( clicked(bool) ), this, SLOT(OnSettingsButton(bool)) );
}
void QmitkRenderWindowMenu::CreateSettingsWidget (  ) [protected]

Create settings menu which contains layout direction and the different layout designs.

Definition at line 144 of file QmitkRenderWindowMenu.cpp.

References m_2DImagesLeftLayoutAction, m_2DImagesUpLayoutAction, m_2x2Dand3DWidgetLayoutAction, m_Big3DLayoutAction, m_ColumnWidget3And4LayoutAction, m_DefaultLayoutAction, m_Left2Dand3DRight2DLayoutAction, m_RowWidget3And4LayoutAction, m_Settings, m_SmallUpperWidget2Big3and4LayoutAction, m_Widget1LayoutAction, m_Widget2LayoutAction, m_Widget3LayoutAction, OnChangeLayoutTo2DImagesLeft(), OnChangeLayoutTo2DImagesUp(), OnChangeLayoutTo2x2Dand3DWidget(), OnChangeLayoutToBig3D(), OnChangeLayoutToColumnWidget3And4(), OnChangeLayoutToDefault(), OnChangeLayoutToLeft2Dand3DRight2D(), OnChangeLayoutToRowWidget3And4(), OnChangeLayoutToSmallUpperWidget2Big3and4(), OnChangeLayoutToWidget1(), OnChangeLayoutToWidget2(), and OnChangeLayoutToWidget3().

Referenced by OnSettingsButton(), and UpdateLayoutDesignList().

{
  m_Settings = new QMenu(this);

  m_DefaultLayoutAction = new QAction( "standard layout", m_Settings );
  m_DefaultLayoutAction->setDisabled( true );

  m_2DImagesUpLayoutAction = new QAction( "2D images top, 3D bottom", m_Settings );
  m_2DImagesUpLayoutAction->setDisabled( false );

  m_2DImagesLeftLayoutAction = new QAction( "2D images left, 3D right", m_Settings );
  m_2DImagesLeftLayoutAction->setDisabled( false );

  m_Big3DLayoutAction = new QAction( "Big 3D", m_Settings );
  m_Big3DLayoutAction->setDisabled( false );

  m_Widget1LayoutAction = new QAction( "Transversal plane", m_Settings );
  m_Widget1LayoutAction->setDisabled( false );

  m_Widget2LayoutAction = new QAction( "Sagittal plane", m_Settings );
  m_Widget2LayoutAction->setDisabled( false );

  m_Widget3LayoutAction = new QAction( "Coronal plane", m_Settings );
  m_Widget3LayoutAction->setDisabled( false );

  m_RowWidget3And4LayoutAction = new QAction( "Coronal top, 3D bottom", m_Settings );
  m_RowWidget3And4LayoutAction->setDisabled( false );

  m_ColumnWidget3And4LayoutAction = new QAction( "Coronal left, 3D right", m_Settings );
  m_ColumnWidget3And4LayoutAction->setDisabled( false );

  m_SmallUpperWidget2Big3and4LayoutAction = new QAction( "Sagittal top, Coronal n 3D bottom", m_Settings );
  m_SmallUpperWidget2Big3and4LayoutAction->setDisabled( false );

  m_2x2Dand3DWidgetLayoutAction = new QAction( "Transversal n Sagittal left, 3D right", m_Settings );
  m_2x2Dand3DWidgetLayoutAction->setDisabled( false );

  m_Left2Dand3DRight2DLayoutAction = new QAction( "Transversal n 3D left, Sagittal right", m_Settings );
  m_Left2Dand3DRight2DLayoutAction->setDisabled( false );

  m_Settings->addAction(m_DefaultLayoutAction);
  m_Settings->addAction(m_2DImagesUpLayoutAction);
  m_Settings->addAction(m_2DImagesLeftLayoutAction);
  m_Settings->addAction(m_Big3DLayoutAction);
  m_Settings->addAction(m_Widget1LayoutAction);
  m_Settings->addAction(m_Widget2LayoutAction);
  m_Settings->addAction(m_Widget3LayoutAction);
  m_Settings->addAction(m_RowWidget3And4LayoutAction);
  m_Settings->addAction(m_ColumnWidget3And4LayoutAction);
  m_Settings->addAction(m_SmallUpperWidget2Big3and4LayoutAction);
  m_Settings->addAction(m_2x2Dand3DWidgetLayoutAction);
  m_Settings->addAction(m_Left2Dand3DRight2DLayoutAction);

  m_Settings->setVisible( false );

  connect( m_DefaultLayoutAction, SIGNAL( triggered(bool) ), this, SLOT(OnChangeLayoutToDefault(bool)) );
  connect( m_2DImagesUpLayoutAction, SIGNAL( triggered(bool) ), this, SLOT(OnChangeLayoutTo2DImagesUp(bool)) );
  connect( m_2DImagesLeftLayoutAction, SIGNAL( triggered(bool) ), this, SLOT(OnChangeLayoutTo2DImagesLeft(bool)) );
  connect( m_Big3DLayoutAction, SIGNAL( triggered(bool) ), this, SLOT(OnChangeLayoutToBig3D(bool)) );
  connect( m_Widget1LayoutAction, SIGNAL( triggered(bool) ), this, SLOT(OnChangeLayoutToWidget1(bool)) );
  connect( m_Widget2LayoutAction, SIGNAL( triggered(bool) ), this, SLOT(OnChangeLayoutToWidget2(bool)) );
  connect( m_Widget3LayoutAction, SIGNAL( triggered(bool) ), this, SLOT(OnChangeLayoutToWidget3(bool)) );
  connect( m_RowWidget3And4LayoutAction, SIGNAL( triggered(bool) ), this, SLOT(OnChangeLayoutToRowWidget3And4(bool)) );
  connect( m_ColumnWidget3And4LayoutAction, SIGNAL( triggered(bool) ), this, SLOT(OnChangeLayoutToColumnWidget3And4(bool)) );
  connect( m_SmallUpperWidget2Big3and4LayoutAction, SIGNAL( triggered(bool) ), this, SLOT(OnChangeLayoutToSmallUpperWidget2Big3and4(bool)) );
  connect( m_2x2Dand3DWidgetLayoutAction, SIGNAL( triggered(bool) ), this, SLOT(OnChangeLayoutTo2x2Dand3DWidget(bool)) );
  connect( m_Left2Dand3DRight2DLayoutAction, SIGNAL( triggered(bool) ), this, SLOT(OnChangeLayoutToLeft2Dand3DRight2D(bool)) );

}
void QmitkRenderWindowMenu::DeferredHideMenu (  ) [slot]

Definition at line 249 of file QmitkRenderWindowMenu.cpp.

References m_Hidden.

Referenced by leaveEvent().

{
  if(m_Hidden)
    hide();
}
void QmitkRenderWindowMenu::enterEvent ( QEvent *   ) [protected, slot]

Definition at line 243 of file QmitkRenderWindowMenu.cpp.

References m_Entered.

{
  m_Entered=true;
  setWindowOpacity(1.0f);
}
unsigned int QmitkRenderWindowMenu::GetLayoutIndex (  ) [inline]

Return layout direction of parent (transversal, coronal, sagital or threeD)

Definition at line 74 of file QmitkRenderWindowMenu.h.

Referenced by QmitkRenderWindow::GetLayoutIndex().

  {  return m_Layout;  }
bool QmitkRenderWindowMenu::GetSettingsMenuVisibilty (  ) [inline]

Return visibility of settings menu. The menu is connected with m_SettingsButton and includes layout direction (transversal, coronal .. ) and layout design (standard layout, 2D images top, 3D bottom ... ).

Definition at line 62 of file QmitkRenderWindowMenu.h.

Referenced by QmitkRenderWindow::AdjustRenderWindowMenuVisibility().

  { 
    if( m_Settings == NULL)
      return false;
    else
      return m_Settings->isVisible();  
  }
void QmitkRenderWindowMenu::HideMenu (  )

Definition at line 227 of file QmitkRenderWindowMenu.cpp.

References m_Entered, and m_Hidden.

Referenced by QmitkRenderWindow::DeferredHideMenu().

{
  m_Hidden = true;

  if( ! m_Entered )
    hide();

}
void QmitkRenderWindowMenu::leaveEvent ( QEvent *   ) [protected, slot]

Definition at line 255 of file QmitkRenderWindowMenu.cpp.

References DeferredHideMenu(), and m_Entered.

{
  m_Entered=false;

  QTimer::singleShot(0,this,SLOT( DeferredHideMenu( ) ) );


}
void QmitkRenderWindowMenu::MoveWidgetToCorrectPos ( float   )

Move menu widget to correct position (right upper corner). E.g. it is necessary when the full-screen mode is activated.

Definition at line 652 of file QmitkRenderWindowMenu.cpp.

Referenced by QmitkRenderWindow::AdjustRenderWindowMenuVisibility(), and OnFullScreenButton().

{
#ifdef QMITK_USE_EXTERNAL_RENDERWINDOW_MENU
  int X=floor( double(this->parentWidget()->width() - this->width() - 8.0) );
  int Y=7;

  QPoint pos = this->parentWidget()->mapToGlobal( QPoint(0,0) );

  this->move( X+pos.x(), Y+pos.y() );
  
  if(opacity<0) opacity=0;
  else if(opacity>1) opacity=1;

  this->setWindowOpacity(opacity);
#else
  int moveX= floor( double(this->parentWidget()->width() - this->width() - 4.0) );
  this->move( moveX, 3 );
  this->show();
#endif
}
void QmitkRenderWindowMenu::NotifyNewWidgetPlanesMode ( int  mode )
void QmitkRenderWindowMenu::OnChangeLayoutTo2DImagesLeft ( bool   ) [protected, slot]

Slot for changing layout design to 2D images left, 3D right layout. The slot is connected to the triggered() signal of m_2DImagesLeftLayoutAction.

Definition at line 343 of file QmitkRenderWindowMenu.cpp.

References ChangeFullScreenIcon(), LAYOUT_2DIMAGELEFT, m_FullScreenMode, m_LayoutDesign, and SignalChangeLayoutDesign().

Referenced by CreateSettingsWidget().

{
  //set Full Screen Mode to false, if Layout Design was changed by the LayoutDesign_List
  m_FullScreenMode = false;
  this->ChangeFullScreenIcon();

  m_LayoutDesign = LAYOUT_2DIMAGELEFT;
  emit SignalChangeLayoutDesign( LAYOUT_2DIMAGELEFT );
}
void QmitkRenderWindowMenu::OnChangeLayoutTo2DImagesUp ( bool   ) [protected, slot]

Slot for changing layout design to 2D images top, 3D bottom layout. The slot is connected to the triggered() signal of m_2DImagesUpLayoutAction.

Definition at line 334 of file QmitkRenderWindowMenu.cpp.

References ChangeFullScreenIcon(), LAYOUT_2DIMAGEUP, m_FullScreenMode, m_LayoutDesign, and SignalChangeLayoutDesign().

Referenced by CreateSettingsWidget().

{
  //set Full Screen Mode to false, if Layout Design was changed by the LayoutDesign_List
  m_FullScreenMode = false;
  this->ChangeFullScreenIcon();

  m_LayoutDesign = LAYOUT_2DIMAGEUP;
  emit SignalChangeLayoutDesign( LAYOUT_2DIMAGEUP );
}
void QmitkRenderWindowMenu::OnChangeLayoutTo2x2Dand3DWidget ( bool   ) [protected, slot]

Slot for changing layout design to Transversal n Sagittal left, 3D right layout. The slot is connected to the triggered() signal of m_2x2Dand3DWidgetLayoutAction.

Definition at line 425 of file QmitkRenderWindowMenu.cpp.

References ChangeFullScreenIcon(), LAYOUT_2X2DAND3DWIDGET, m_FullScreenMode, m_LayoutDesign, and SignalChangeLayoutDesign().

Referenced by CreateSettingsWidget().

{
  //set Full Screen Mode to false, if Layout Design was changed by the LayoutDesign_List
  m_FullScreenMode = false;
  this->ChangeFullScreenIcon();

  m_LayoutDesign = LAYOUT_2X2DAND3DWIDGET;
  emit SignalChangeLayoutDesign( LAYOUT_2X2DAND3DWIDGET );
}
void QmitkRenderWindowMenu::OnChangeLayoutToBig3D ( bool   ) [protected, slot]

Slot for changing layout to Big 3D layout. The slot is connected to the triggered() signal of m_Big3DLayoutAction.

Definition at line 361 of file QmitkRenderWindowMenu.cpp.

References ChangeFullScreenIcon(), LAYOUT_BIG3D, m_FullScreenMode, m_LayoutDesign, and SignalChangeLayoutDesign().

Referenced by CreateSettingsWidget().

{ 
  //set Full Screen Mode to false, if Layout Design was changed by the LayoutDesign_List
  m_FullScreenMode = false;
  this->ChangeFullScreenIcon();

  m_LayoutDesign = LAYOUT_BIG3D;
  emit SignalChangeLayoutDesign( LAYOUT_BIG3D );
}
void QmitkRenderWindowMenu::OnChangeLayoutToColumnWidget3And4 ( bool   ) [protected, slot]

Slot for changing layout design to Coronal left, 3D right layout. The slot is connected to the triggered() signal of m_ColumnWidget3And4LayoutAction.

Definition at line 406 of file QmitkRenderWindowMenu.cpp.

References ChangeFullScreenIcon(), LAYOUT_COLUMNWIDGET3AND4, m_FullScreenMode, m_LayoutDesign, and SignalChangeLayoutDesign().

Referenced by CreateSettingsWidget().

{
  //set Full Screen Mode to false, if Layout Design was changed by the LayoutDesign_List
  m_FullScreenMode = false;
  this->ChangeFullScreenIcon();

  m_LayoutDesign = LAYOUT_COLUMNWIDGET3AND4;
  emit SignalChangeLayoutDesign( LAYOUT_COLUMNWIDGET3AND4 );
}
void QmitkRenderWindowMenu::OnChangeLayoutToDefault ( bool   ) [protected, slot]

Slot for changing layout design to standard layout. The slot is connected to the triggered() signal of m_DefaultLayoutAction.

Definition at line 352 of file QmitkRenderWindowMenu.cpp.

References ChangeFullScreenIcon(), LAYOUT_DEFAULT, m_FullScreenMode, m_LayoutDesign, and SignalChangeLayoutDesign().

Referenced by CreateSettingsWidget().

{
  //set Full Screen Mode to false, if Layout Design was changed by the LayoutDesign_List
  m_FullScreenMode = false;
  this->ChangeFullScreenIcon();

  m_LayoutDesign = LAYOUT_DEFAULT;
  emit SignalChangeLayoutDesign( LAYOUT_DEFAULT );
}
void QmitkRenderWindowMenu::OnChangeLayoutToLeft2Dand3DRight2D ( bool   ) [protected, slot]

Slot for changing layout design to Transversal n 3D left, Sagittal right layout. The slot is connected to the triggered() signal of m_Left2Dand3DRight2DLayoutAction.

Definition at line 434 of file QmitkRenderWindowMenu.cpp.

References ChangeFullScreenIcon(), LAYOUT_LEFT2DAND3DRIGHT2D, m_FullScreenMode, m_LayoutDesign, and SignalChangeLayoutDesign().

Referenced by CreateSettingsWidget().

{
  //set Full Screen Mode to false, if Layout Design was changed by the LayoutDesign_List
  m_FullScreenMode = false;
  this->ChangeFullScreenIcon();

  m_LayoutDesign = LAYOUT_LEFT2DAND3DRIGHT2D;
  emit SignalChangeLayoutDesign( LAYOUT_LEFT2DAND3DRIGHT2D );
}
void QmitkRenderWindowMenu::OnChangeLayoutToRowWidget3And4 ( bool   ) [protected, slot]

Slot for changing layout design to Coronal top, 3D bottom layout. The slot is connected to the triggered() signal of m_RowWidget3And4LayoutAction.

Definition at line 397 of file QmitkRenderWindowMenu.cpp.

References ChangeFullScreenIcon(), LAYOUT_ROWWIDGET3AND4, m_FullScreenMode, m_LayoutDesign, and SignalChangeLayoutDesign().

Referenced by CreateSettingsWidget().

{
  //set Full Screen Mode to false, if Layout Design was changed by the LayoutDesign_List
  m_FullScreenMode = false;
  this->ChangeFullScreenIcon();

  m_LayoutDesign = LAYOUT_ROWWIDGET3AND4;
  emit SignalChangeLayoutDesign( LAYOUT_ROWWIDGET3AND4 );
}
void QmitkRenderWindowMenu::OnChangeLayoutToSmallUpperWidget2Big3and4 ( bool   ) [protected, slot]

Slot for changing layout design to Sagittal top, Coronal n 3D bottom layout. The slot is connected to the triggered() signal of m_SmallUpperWidget2Big3and4LayoutAction.

Definition at line 416 of file QmitkRenderWindowMenu.cpp.

References ChangeFullScreenIcon(), LAYOUT_SMALLUPPERWIDGET2BIGAND4, m_FullScreenMode, m_LayoutDesign, and SignalChangeLayoutDesign().

Referenced by CreateSettingsWidget().

{
  //set Full Screen Mode to false, if Layout Design was changed by the LayoutDesign_List
  m_FullScreenMode = false;
  this->ChangeFullScreenIcon();

  m_LayoutDesign = LAYOUT_SMALLUPPERWIDGET2BIGAND4;
  emit SignalChangeLayoutDesign( LAYOUT_SMALLUPPERWIDGET2BIGAND4 );
}
void QmitkRenderWindowMenu::OnChangeLayoutToWidget1 ( bool   ) [protected, slot]

Slot for changing layout design to Transversal plane layout. The slot is connected to the triggered() signal of m_Widget1LayoutAction.

Definition at line 370 of file QmitkRenderWindowMenu.cpp.

References ChangeFullScreenIcon(), LAYOUT_TRANSVERSAL, m_FullScreenMode, m_LayoutDesign, and SignalChangeLayoutDesign().

Referenced by CreateSettingsWidget().

{
  //set Full Screen Mode to false, if Layout Design was changed by the LayoutDesign_List
  m_FullScreenMode = false;
  this->ChangeFullScreenIcon();

  m_LayoutDesign = LAYOUT_TRANSVERSAL;
  emit SignalChangeLayoutDesign( LAYOUT_TRANSVERSAL );
}
void QmitkRenderWindowMenu::OnChangeLayoutToWidget2 ( bool   ) [protected, slot]

Slot for changing layout design to Sagittal plane layout. The slot is connected to the triggered() signal of m_Widget2LayoutAction.

Definition at line 379 of file QmitkRenderWindowMenu.cpp.

References ChangeFullScreenIcon(), LAYOUT_SAGITTAL, m_FullScreenMode, m_LayoutDesign, and SignalChangeLayoutDesign().

Referenced by CreateSettingsWidget().

{
  //set Full Screen Mode to false, if Layout Design was changed by the LayoutDesign_List
  m_FullScreenMode = false;
  this->ChangeFullScreenIcon();

  m_LayoutDesign = LAYOUT_SAGITTAL;
  emit SignalChangeLayoutDesign( LAYOUT_SAGITTAL );
}
void QmitkRenderWindowMenu::OnChangeLayoutToWidget3 ( bool   ) [protected, slot]

Slot for changing layout design to Coronal plane layout. The slot is connected to the triggered() signal of m_Widget3LayoutAction.

Definition at line 388 of file QmitkRenderWindowMenu.cpp.

References ChangeFullScreenIcon(), LAYOUT_CORONAL, m_FullScreenMode, m_LayoutDesign, and SignalChangeLayoutDesign().

Referenced by CreateSettingsWidget().

{
  //set Full Screen Mode to false, if Layout Design was changed by the LayoutDesign_List
  m_FullScreenMode = false;
  this->ChangeFullScreenIcon();

  m_LayoutDesign = LAYOUT_CORONAL;
  emit SignalChangeLayoutDesign( LAYOUT_CORONAL );
}
void QmitkRenderWindowMenu::OnCrossHairMenuAboutToShow (  ) [protected, slot]

Definition at line 734 of file QmitkRenderWindowMenu.cpp.

References currentCrosshairRotationMode, mitk::DataStorage::GetNamedNode(), mitk::GenericProperty< T >::GetValue(), mitk::EnumerationProperty::GetValueAsId(), mitk::DataNode::GetVisibility(), m_CrosshairMenu, m_TSLabel, OnCrosshairRotationModeSelected(), OnTSNumChanged(), ResetView(), SetCrossHairVisibility(), and mitk::BaseRenderer::Standard2D.

Referenced by CreateMenuWidget().

{
  QMenu *crosshairModesMenu = m_CrosshairMenu;
  
  crosshairModesMenu->clear();
  
  QAction* resetViewAction = new QAction(crosshairModesMenu);
  resetViewAction->setText("Reset view");
  crosshairModesMenu->addAction( resetViewAction );
  connect( resetViewAction, SIGNAL(triggered()), this, SIGNAL(ResetView()));
  
  // Show hide crosshairs
  {
    bool currentState = true;
    
    if(m_Renderer.IsNotNull())  
    {
      mitk::DataStorage *ds=m_Renderer->GetDataStorage();
      mitk::DataNode *n;
      if(ds)
      {
        n = ds->GetNamedNode("widget1Plane"); if(n) { bool v; if(n->GetVisibility(v,0)) currentState&=v; }
        n = ds->GetNamedNode("widget2Plane"); if(n) { bool v; if(n->GetVisibility(v,0)) currentState&=v; }
        n = ds->GetNamedNode("widget3Plane"); if(n) { bool v; if(n->GetVisibility(v,0)) currentState&=v; }
      }
    }

  
    QAction* showHideCrosshairVisibilityAction = new QAction(crosshairModesMenu);
    showHideCrosshairVisibilityAction->setText("Show crosshair");
    showHideCrosshairVisibilityAction->setCheckable(true);
    showHideCrosshairVisibilityAction->setChecked(currentState);
    crosshairModesMenu->addAction( showHideCrosshairVisibilityAction );
    connect( showHideCrosshairVisibilityAction, SIGNAL(toggled(bool)), this, SLOT(SetCrossHairVisibility(bool)));
  }

  // Rotation mode
  {
    QAction* rotationGroupSeparator = new QAction(crosshairModesMenu);
    rotationGroupSeparator->setSeparator(true);
    rotationGroupSeparator->setText("Rotation mode");
    crosshairModesMenu->addAction( rotationGroupSeparator );

    QActionGroup* rotationModeActionGroup = new QActionGroup(crosshairModesMenu);
    rotationModeActionGroup->setExclusive(true);

    QAction* noCrosshairRotation = new QAction(crosshairModesMenu);
    noCrosshairRotation->setActionGroup(rotationModeActionGroup);
    noCrosshairRotation->setText("No crosshair rotation");
    noCrosshairRotation->setCheckable(true);
    noCrosshairRotation->setChecked(currentCrosshairRotationMode==0);
    noCrosshairRotation->setData( 0 );
    crosshairModesMenu->addAction( noCrosshairRotation );

    QAction* singleCrosshairRotation = new QAction(crosshairModesMenu);
    singleCrosshairRotation->setActionGroup(rotationModeActionGroup);
    singleCrosshairRotation->setText("Crosshair rotation");
    singleCrosshairRotation->setCheckable(true);
    singleCrosshairRotation->setChecked(currentCrosshairRotationMode==1);
    singleCrosshairRotation->setData( 1  );
    crosshairModesMenu->addAction( singleCrosshairRotation );

    QAction* coupledCrosshairRotation = new QAction(crosshairModesMenu);
    coupledCrosshairRotation->setActionGroup(rotationModeActionGroup);
    coupledCrosshairRotation->setText("Coupled crosshair rotation");
    coupledCrosshairRotation->setCheckable(true);
    coupledCrosshairRotation->setChecked(currentCrosshairRotationMode==2);
    coupledCrosshairRotation->setData( 2 );
    crosshairModesMenu->addAction( coupledCrosshairRotation );

    QAction* swivelMode = new QAction(crosshairModesMenu);
    swivelMode->setActionGroup(rotationModeActionGroup);
    swivelMode->setText("Swivel mode");
    swivelMode->setCheckable(true);
    swivelMode->setChecked(currentCrosshairRotationMode==3);
    swivelMode->setData( 3 );
    crosshairModesMenu->addAction( swivelMode );

    connect( rotationModeActionGroup, SIGNAL(triggered(QAction*)), this, SLOT(OnCrosshairRotationModeSelected(QAction*)) ); 
  }
    
  // Thickslices support
  if( m_Renderer.IsNotNull() && m_Renderer->GetMapperID() == mitk::BaseRenderer::Standard2D )
  {
    QAction* thickSlicesGroupSeparator = new QAction(crosshairModesMenu);
    thickSlicesGroupSeparator->setSeparator(true);
    thickSlicesGroupSeparator->setText("ThickSlices mode");
    crosshairModesMenu->addAction( thickSlicesGroupSeparator );

    QActionGroup* thickSlicesActionGroup = new QActionGroup(crosshairModesMenu);
    thickSlicesActionGroup->setExclusive(true);

    int currentMode = 0;
    {
      mitk::ResliceMethodProperty::Pointer m = dynamic_cast<mitk::ResliceMethodProperty*>(m_Renderer->GetCurrentWorldGeometry2DNode()->GetProperty( "reslice.thickslices" ));
      if( m.IsNotNull() )
        currentMode = m->GetValueAsId();
    }
                            
    int currentNum = 1;
    {
      mitk::IntProperty::Pointer m = dynamic_cast<mitk::IntProperty*>(m_Renderer->GetCurrentWorldGeometry2DNode()->GetProperty( "reslice.thickslices.num" ));
      if( m.IsNotNull() )
      {
        currentNum = m->GetValue();
        if(currentNum < 1) currentNum = 1;
        if(currentNum > 10) currentNum = 10;
      }
    }
    
    if(currentMode==0)
      currentNum=0;
    
    QSlider *m_TSSlider = new QSlider(crosshairModesMenu);
    m_TSSlider->setMinimum(0);
    m_TSSlider->setMaximum(9);
    m_TSSlider->setValue(currentNum);
    
    m_TSSlider->setOrientation(Qt::Horizontal);

    connect( m_TSSlider, SIGNAL( valueChanged(int) ), this, SLOT( OnTSNumChanged(int) ) );

    QHBoxLayout* _TSLayout = new QHBoxLayout;
    _TSLayout->setContentsMargins(4,4,4,4);
    _TSLayout->addWidget(new QLabel("TS: "));
    _TSLayout->addWidget(m_TSSlider);
    _TSLayout->addWidget(m_TSLabel=new QLabel(QString::number(currentNum*2+1),this));

    QWidget* _TSWidget = new QWidget;
    _TSWidget->setLayout(_TSLayout);

    QWidgetAction *m_TSSliderAction = new QWidgetAction(crosshairModesMenu);
    m_TSSliderAction->setDefaultWidget(_TSWidget);
    crosshairModesMenu->addAction(m_TSSliderAction);
  }  
}
void QmitkRenderWindowMenu::OnCrosshairRotationModeSelected ( QAction *  action ) [protected, slot]

Definition at line 689 of file QmitkRenderWindowMenu.cpp.

References ChangeCrosshairRotationMode(), and MITK_DEBUG.

Referenced by OnCrossHairMenuAboutToShow().

{
  MITK_DEBUG << "selected crosshair mode " << action->data().toInt() ; 
  emit ChangeCrosshairRotationMode( action->data().toInt() );
}
void QmitkRenderWindowMenu::OnFullScreenButton ( bool  checked ) [protected, slot]

slot for activating/deactivating the full-screen mode. The slot is connected to the clicked() event of m_FullScreenButton. Activating the full-screen maximize the current widget, deactivating restore If layout design changed by the settings menu, the full-Screen mode is automatically switch to false.

Definition at line 270 of file QmitkRenderWindowMenu.cpp.

References ChangeFullScreenIcon(), CORONAL, LAYOUT_BIG3D, LAYOUT_CORONAL, LAYOUT_SAGITTAL, LAYOUT_TRANSVERSAL, m_FullScreenMode, m_Layout, m_LayoutDesign, m_OldLayoutDesign, MoveWidgetToCorrectPos(), SAGITTAL, SignalChangeLayoutDesign(), THREE_D, and TRANSVERSAL.

Referenced by ChangeFullScreenMode(), and CreateMenuWidget().

{
  if( !m_FullScreenMode )
  {
    m_FullScreenMode = true;
    m_OldLayoutDesign = m_LayoutDesign;

    switch( m_Layout )
    {
    case TRANSVERSAL:
      {
        emit SignalChangeLayoutDesign( LAYOUT_TRANSVERSAL );
        break;
      }

    case SAGITTAL:
      {
        emit SignalChangeLayoutDesign( LAYOUT_SAGITTAL );
        break;
      }
    case CORONAL:
      {
        emit SignalChangeLayoutDesign( LAYOUT_CORONAL );
        break;
      }
    case THREE_D:
      {
        emit SignalChangeLayoutDesign( LAYOUT_BIG3D );
        break;
      }
    }

    //Move Widget and show again
    this->MoveWidgetToCorrectPos(1.0f);

    //change icon
    this->ChangeFullScreenIcon();

  }
  else
  {
    m_FullScreenMode = false;
    emit SignalChangeLayoutDesign( m_OldLayoutDesign );

    //Move Widget and show again
    this->MoveWidgetToCorrectPos(1.0f);

    //change icon
    this->ChangeFullScreenIcon();
  }
}
void QmitkRenderWindowMenu::OnSettingsButton ( bool  checked ) [protected, slot]

Slot for opening setting menu. The slot is connected to the clicked() event of m_SettingsButton. The settings menu includes differen layout directions (transversal, coronal, saggital and 3D) as well all layout design (standard layout, 2D images top, 3D bottom ..)

Definition at line 324 of file QmitkRenderWindowMenu.cpp.

References CreateSettingsWidget(), m_Settings, and m_SettingsButton.

Referenced by CreateMenuWidget().

{
  if( m_Settings == NULL )
    this->CreateSettingsWidget();

  QPoint point = this->mapToGlobal( m_SettingsButton->geometry().topLeft() );
  m_Settings->setVisible( true );
  m_Settings->exec( point );
}
void QmitkRenderWindowMenu::OnTSNumChanged ( int  num ) [protected, slot]

Definition at line 711 of file QmitkRenderWindowMenu.cpp.

References m_TSLabel, MITK_DEBUG, mitk::IntProperty::New(), and mitk::ResliceMethodProperty::New().

Referenced by OnCrossHairMenuAboutToShow().

{
  MITK_DEBUG << "Thickslices num: " << num << " on renderer " << m_Renderer.GetPointer();

  if(m_Renderer.IsNotNull())  
  {
    if(num==0)
    {
      m_Renderer->GetCurrentWorldGeometry2DNode()->SetProperty( "reslice.thickslices", mitk::ResliceMethodProperty::New( 0 ) );
    }
    else
    {
      m_Renderer->GetCurrentWorldGeometry2DNode()->SetProperty( "reslice.thickslices", mitk::ResliceMethodProperty::New( 1 ) );
      m_Renderer->GetCurrentWorldGeometry2DNode()->SetProperty( "reslice.thickslices.num", mitk::IntProperty::New( num ) );
    }
    m_TSLabel->setText(QString::number(num*2+1));
    m_Renderer->SendUpdateSlice();
    m_Renderer->GetRenderingManager()->RequestUpdateAll();
  }
}
void QmitkRenderWindowMenu::paintEvent ( QPaintEvent *  event ) [protected]

Reimplemented from QWidget. The paint event is a request to repaint all or part of a widget.

Definition at line 214 of file QmitkRenderWindowMenu.cpp.

{
  QPainter painter(this);
  QColor semiTransparentColor = Qt::black;
  semiTransparentColor.setAlpha(255);
  painter.fillRect(rect(), semiTransparentColor);
}
void QmitkRenderWindowMenu::ResetView (  ) [signal]
void QmitkRenderWindowMenu::SetCrossHairVisibility ( bool  state ) [slot]

Definition at line 695 of file QmitkRenderWindowMenu.cpp.

References mitk::DataStorage::GetNamedNode(), and mitk::DataNode::SetVisibility().

Referenced by OnCrossHairMenuAboutToShow().

{
  if(m_Renderer.IsNotNull())  
  {
    mitk::DataStorage *ds=m_Renderer->GetDataStorage();
    mitk::DataNode *n;
    if(ds)
    {
      n = ds->GetNamedNode("widget1Plane"); if(n) n->SetVisibility(state);
      n = ds->GetNamedNode("widget2Plane"); if(n) n->SetVisibility(state);
      n = ds->GetNamedNode("widget3Plane"); if(n) n->SetVisibility(state);
      m_Renderer->GetRenderingManager()->RequestUpdateAll();
    }
  }
}
void QmitkRenderWindowMenu::SetLayoutIndex ( unsigned int  layoutIndex )

Set layout index. Defines layout direction (transversal, coronal, sagital or threeD) of the parent.

Definition at line 222 of file QmitkRenderWindowMenu.cpp.

References m_Layout.

Referenced by QmitkRenderWindow::SetLayoutIndex().

{
  m_Layout = layoutIndex;
}
void QmitkRenderWindowMenu::ShowMenu (  )

Definition at line 236 of file QmitkRenderWindowMenu.cpp.

References m_Hidden.

Referenced by QmitkRenderWindow::AdjustRenderWindowMenuVisibility().

{
  m_Hidden = false;
  show();
}
void QmitkRenderWindowMenu::SignalChangeLayoutDesign ( int  layoutDesign ) [signal]
void QmitkRenderWindowMenu::UpdateLayoutDesignList ( int  layoutDesignIndex )

Update list of layout design (standard layout, 2D images top, 3D bottom ..). Set action of current layout design to disable and all other to enable.

Definition at line 444 of file QmitkRenderWindowMenu.cpp.

References CreateSettingsWidget(), LAYOUT_2DIMAGELEFT, LAYOUT_2DIMAGEUP, LAYOUT_2X2DAND3DWIDGET, LAYOUT_BIG3D, LAYOUT_COLUMNWIDGET3AND4, LAYOUT_CORONAL, LAYOUT_DEFAULT, LAYOUT_LEFT2DAND3DRIGHT2D, LAYOUT_ROWWIDGET3AND4, LAYOUT_SAGITTAL, LAYOUT_SMALLUPPERWIDGET2BIGAND4, LAYOUT_TRANSVERSAL, m_2DImagesLeftLayoutAction, m_2DImagesUpLayoutAction, m_2x2Dand3DWidgetLayoutAction, m_Big3DLayoutAction, m_ColumnWidget3And4LayoutAction, m_DefaultLayoutAction, m_LayoutDesign, m_Left2Dand3DRight2DLayoutAction, m_RowWidget3And4LayoutAction, m_Settings, m_SmallUpperWidget2Big3and4LayoutAction, m_Widget1LayoutAction, m_Widget2LayoutAction, and m_Widget3LayoutAction.

Referenced by QmitkRenderWindow::LayoutDesignListChanged().

{
  m_LayoutDesign = layoutDesignIndex;

  if( m_Settings == NULL )
    this->CreateSettingsWidget();

  switch( m_LayoutDesign )
  {
  case LAYOUT_DEFAULT:
    {
      m_DefaultLayoutAction->setEnabled(false);
      m_2DImagesUpLayoutAction->setEnabled(true);
      m_2DImagesLeftLayoutAction->setEnabled(true);
      m_Big3DLayoutAction->setEnabled(true);
      m_Widget1LayoutAction->setEnabled(true);
      m_Widget2LayoutAction->setEnabled(true);
      m_Widget3LayoutAction->setEnabled(true);
      m_RowWidget3And4LayoutAction->setEnabled(true);
      m_ColumnWidget3And4LayoutAction->setEnabled(true);
      m_SmallUpperWidget2Big3and4LayoutAction->setEnabled(true);
      m_2x2Dand3DWidgetLayoutAction->setEnabled(true);
      m_Left2Dand3DRight2DLayoutAction->setEnabled(true);
      break;
    }

  case LAYOUT_2DIMAGEUP:
    {
      m_DefaultLayoutAction->setEnabled(true);
      m_2DImagesUpLayoutAction->setEnabled(false);
      m_2DImagesLeftLayoutAction->setEnabled(true);
      m_Big3DLayoutAction->setEnabled(true);
      m_Widget1LayoutAction->setEnabled(true);
      m_Widget2LayoutAction->setEnabled(true);
      m_Widget3LayoutAction->setEnabled(true);
      m_RowWidget3And4LayoutAction->setEnabled(true);
      m_ColumnWidget3And4LayoutAction->setEnabled(true);
      m_SmallUpperWidget2Big3and4LayoutAction->setEnabled(true);
      m_2x2Dand3DWidgetLayoutAction->setEnabled(true);
      m_Left2Dand3DRight2DLayoutAction->setEnabled(true);
      break;
    }
  case LAYOUT_2DIMAGELEFT:
    {
      m_DefaultLayoutAction->setEnabled(true);
      m_2DImagesUpLayoutAction->setEnabled(true);
      m_2DImagesLeftLayoutAction->setEnabled(false);
      m_Big3DLayoutAction->setEnabled(true);
      m_Widget1LayoutAction->setEnabled(true);
      m_Widget2LayoutAction->setEnabled(true);
      m_Widget3LayoutAction->setEnabled(true);
      m_RowWidget3And4LayoutAction->setEnabled(true);
      m_ColumnWidget3And4LayoutAction->setEnabled(true);
      m_SmallUpperWidget2Big3and4LayoutAction->setEnabled(true);
      m_2x2Dand3DWidgetLayoutAction->setEnabled(true);
      m_Left2Dand3DRight2DLayoutAction->setEnabled(true);
      break;
    }
  case LAYOUT_BIG3D:
    {
      m_DefaultLayoutAction->setEnabled(true);
      m_2DImagesUpLayoutAction->setEnabled(true);
      m_2DImagesLeftLayoutAction->setEnabled(true);
      m_Big3DLayoutAction->setEnabled(false);
      m_Widget1LayoutAction->setEnabled(true);
      m_Widget2LayoutAction->setEnabled(true);
      m_Widget3LayoutAction->setEnabled(true);
      m_RowWidget3And4LayoutAction->setEnabled(true);
      m_ColumnWidget3And4LayoutAction->setEnabled(true);
      m_SmallUpperWidget2Big3and4LayoutAction->setEnabled(true);
      m_2x2Dand3DWidgetLayoutAction->setEnabled(true);
      m_Left2Dand3DRight2DLayoutAction->setEnabled(true);
      break;
    }
  case LAYOUT_TRANSVERSAL:
    {
      m_DefaultLayoutAction->setEnabled(true);
      m_2DImagesUpLayoutAction->setEnabled(true);
      m_2DImagesLeftLayoutAction->setEnabled(true);
      m_Big3DLayoutAction->setEnabled(true);
      m_Widget1LayoutAction->setEnabled(false);
      m_Widget2LayoutAction->setEnabled(true);
      m_Widget3LayoutAction->setEnabled(true);
      m_RowWidget3And4LayoutAction->setEnabled(true);
      m_ColumnWidget3And4LayoutAction->setEnabled(true);
      m_SmallUpperWidget2Big3and4LayoutAction->setEnabled(true);
      m_2x2Dand3DWidgetLayoutAction->setEnabled(true);
      m_Left2Dand3DRight2DLayoutAction->setEnabled(true);
      break;
    }
  case LAYOUT_SAGITTAL:
    {
      m_DefaultLayoutAction->setEnabled(true);
      m_2DImagesUpLayoutAction->setEnabled(true);
      m_2DImagesLeftLayoutAction->setEnabled(true);
      m_Big3DLayoutAction->setEnabled(true);
      m_Widget1LayoutAction->setEnabled(true);
      m_Widget2LayoutAction->setEnabled(false);
      m_Widget3LayoutAction->setEnabled(true);
      m_RowWidget3And4LayoutAction->setEnabled(true);
      m_ColumnWidget3And4LayoutAction->setEnabled(true);
      m_SmallUpperWidget2Big3and4LayoutAction->setEnabled(true);
      m_2x2Dand3DWidgetLayoutAction->setEnabled(true);
      m_Left2Dand3DRight2DLayoutAction->setEnabled(true);
      break;
    }
  case LAYOUT_CORONAL:
    {
      m_DefaultLayoutAction->setEnabled(true);
      m_2DImagesUpLayoutAction->setEnabled(true);
      m_2DImagesLeftLayoutAction->setEnabled(true);
      m_Big3DLayoutAction->setEnabled(true);
      m_Widget1LayoutAction->setEnabled(true);
      m_Widget2LayoutAction->setEnabled(true);
      m_Widget3LayoutAction->setEnabled(false);
      m_RowWidget3And4LayoutAction->setEnabled(true);
      m_ColumnWidget3And4LayoutAction->setEnabled(true);
      m_SmallUpperWidget2Big3and4LayoutAction->setEnabled(true);
      m_2x2Dand3DWidgetLayoutAction->setEnabled(true);
      m_Left2Dand3DRight2DLayoutAction->setEnabled(true);
      break;
    }
  case LAYOUT_2X2DAND3DWIDGET:
    { 
      m_DefaultLayoutAction->setEnabled(true);
      m_2DImagesUpLayoutAction->setEnabled(true);
      m_2DImagesLeftLayoutAction->setEnabled(true);
      m_Big3DLayoutAction->setEnabled(true);
      m_Widget1LayoutAction->setEnabled(true);
      m_Widget2LayoutAction->setEnabled(true);
      m_Widget3LayoutAction->setEnabled(true);
      m_RowWidget3And4LayoutAction->setEnabled(true);
      m_ColumnWidget3And4LayoutAction->setEnabled(true);
      m_SmallUpperWidget2Big3and4LayoutAction->setEnabled(true);
      m_2x2Dand3DWidgetLayoutAction->setEnabled(false);
      m_Left2Dand3DRight2DLayoutAction->setEnabled(true);
      break;
    }
  case LAYOUT_ROWWIDGET3AND4:
    {
      m_DefaultLayoutAction->setEnabled(true);
      m_2DImagesUpLayoutAction->setEnabled(true);
      m_2DImagesLeftLayoutAction->setEnabled(true);
      m_Big3DLayoutAction->setEnabled(true);
      m_Widget1LayoutAction->setEnabled(true);
      m_Widget2LayoutAction->setEnabled(true);
      m_Widget3LayoutAction->setEnabled(true);
      m_RowWidget3And4LayoutAction->setEnabled(false);
      m_ColumnWidget3And4LayoutAction->setEnabled(true);
      m_SmallUpperWidget2Big3and4LayoutAction->setEnabled(true);
      m_2x2Dand3DWidgetLayoutAction->setEnabled(true);
      m_Left2Dand3DRight2DLayoutAction->setEnabled(true);
      break;
    }
  case LAYOUT_COLUMNWIDGET3AND4:
    {
      m_DefaultLayoutAction->setEnabled(true);
      m_2DImagesUpLayoutAction->setEnabled(true);
      m_2DImagesLeftLayoutAction->setEnabled(true);
      m_Big3DLayoutAction->setEnabled(true);
      m_Widget1LayoutAction->setEnabled(true);
      m_Widget2LayoutAction->setEnabled(true);
      m_Widget3LayoutAction->setEnabled(true);
      m_RowWidget3And4LayoutAction->setEnabled(true);
      m_ColumnWidget3And4LayoutAction->setEnabled(false);
      m_SmallUpperWidget2Big3and4LayoutAction->setEnabled(true);
      m_2x2Dand3DWidgetLayoutAction->setEnabled(true);
      m_Left2Dand3DRight2DLayoutAction->setEnabled(true);
      break;
    }
  case LAYOUT_SMALLUPPERWIDGET2BIGAND4:
    {
      m_DefaultLayoutAction->setEnabled(true);
      m_2DImagesUpLayoutAction->setEnabled(true);
      m_2DImagesLeftLayoutAction->setEnabled(true);
      m_Big3DLayoutAction->setEnabled(true);
      m_Widget1LayoutAction->setEnabled(true);
      m_Widget2LayoutAction->setEnabled(true);
      m_Widget3LayoutAction->setEnabled(true);
      m_RowWidget3And4LayoutAction->setEnabled(true);
      m_ColumnWidget3And4LayoutAction->setEnabled(true);
      m_SmallUpperWidget2Big3and4LayoutAction->setEnabled(false);
      m_2x2Dand3DWidgetLayoutAction->setEnabled(true);
      m_Left2Dand3DRight2DLayoutAction->setEnabled(true);
      break;
    }
  case LAYOUT_LEFT2DAND3DRIGHT2D:
    {
      m_DefaultLayoutAction->setEnabled(true);
      m_2DImagesUpLayoutAction->setEnabled(true);
      m_2DImagesLeftLayoutAction->setEnabled(true);
      m_Big3DLayoutAction->setEnabled(true);
      m_Widget1LayoutAction->setEnabled(true);
      m_Widget2LayoutAction->setEnabled(true);
      m_Widget3LayoutAction->setEnabled(true);
      m_RowWidget3And4LayoutAction->setEnabled(true);
      m_ColumnWidget3And4LayoutAction->setEnabled(true);
      m_SmallUpperWidget2Big3and4LayoutAction->setEnabled(true);
      m_2x2Dand3DWidgetLayoutAction->setEnabled(true);
      m_Left2Dand3DRight2DLayoutAction->setEnabled(false);
      break;
    }
  }
}
void QmitkRenderWindowMenu::UpdateLayoutList (  ) [protected]

Update list of layout direction (transversal, coronal, sagital or threeD). Set action of currect layout direction to disable and all other to enable. Normaly the user can switch here between the different layout direction, but this is not supported yet.


Member Data Documentation

QAction for 2D images left layout design

Definition at line 244 of file QmitkRenderWindowMenu.h.

Referenced by CreateSettingsWidget(), and UpdateLayoutDesignList().

QAction for 2D images up layout design

Definition at line 241 of file QmitkRenderWindowMenu.h.

Referenced by CreateSettingsWidget(), and UpdateLayoutDesignList().

QAction for transversal n sagittal left, 3D right layout design

Definition at line 268 of file QmitkRenderWindowMenu.h.

Referenced by CreateSettingsWidget(), and UpdateLayoutDesignList().

QAction for big 3D layout design

Definition at line 247 of file QmitkRenderWindowMenu.h.

Referenced by CreateSettingsWidget(), and UpdateLayoutDesignList().

QAction for coronal left, 3D right layout design

Definition at line 262 of file QmitkRenderWindowMenu.h.

Referenced by CreateSettingsWidget(), and UpdateLayoutDesignList().

Definition at line 279 of file QmitkRenderWindowMenu.h.

Referenced by CreateMenuWidget(), and OnCrossHairMenuAboutToShow().

Definition at line 227 of file QmitkRenderWindowMenu.h.

Referenced by CreateMenuWidget().

QAction for Default layout design

Definition at line 238 of file QmitkRenderWindowMenu.h.

Referenced by CreateSettingsWidget(), and UpdateLayoutDesignList().

Definition at line 295 of file QmitkRenderWindowMenu.h.

Referenced by enterEvent(), HideMenu(), and leaveEvent().

QPushButton for activating/deactivating full-screen mode

Definition at line 232 of file QmitkRenderWindowMenu.h.

Referenced by ChangeFullScreenIcon(), and CreateMenuWidget().

Definition at line 297 of file QmitkRenderWindowMenu.h.

Referenced by DeferredHideMenu(), HideMenu(), and ShowMenu().

unsigned int QmitkRenderWindowMenu::m_Layout [protected]

Index of layout direction. 0: transversal; 1: saggital; 2: coronal; 3: threeD

Definition at line 282 of file QmitkRenderWindowMenu.h.

Referenced by OnFullScreenButton(), and SetLayoutIndex().

unsigned int QmitkRenderWindowMenu::m_LayoutDesign [protected]

Index of layout design. 0: LAYOUT_DEFAULT; 1: LAYOUT_2DIMAGEUP; 2: LAYOUT_2DIMAGELEFT; 3: LAYOUT_BIG3D 4: LAYOUT_TRANSVERSAL; 5: LAYOUT_SAGITTAL; 6: LAYOUT_CORONAL; 7: LAYOUT_2X2DAND3DWIDGET; 8: LAYOUT_ROWWIDGET3AND4; 9: LAYOUT_COLUMNWIDGET3AND4; 10: LAYOUT_ROWWIDGETSMALL3ANDBIG4; 11: LAYOUT_SMALLUPPERWIDGET2BIGAND4; 12: LAYOUT_LEFT2DAND3DRIGHT2D

Definition at line 287 of file QmitkRenderWindowMenu.h.

Referenced by OnChangeLayoutTo2DImagesLeft(), OnChangeLayoutTo2DImagesUp(), OnChangeLayoutTo2x2Dand3DWidget(), OnChangeLayoutToBig3D(), OnChangeLayoutToColumnWidget3And4(), OnChangeLayoutToDefault(), OnChangeLayoutToLeft2Dand3DRight2D(), OnChangeLayoutToRowWidget3And4(), OnChangeLayoutToSmallUpperWidget2Big3and4(), OnChangeLayoutToWidget1(), OnChangeLayoutToWidget2(), OnChangeLayoutToWidget3(), OnFullScreenButton(), and UpdateLayoutDesignList().

QAction for transversal n 3D left, sagittal right layout design

Definition at line 271 of file QmitkRenderWindowMenu.h.

Referenced by CreateSettingsWidget(), and UpdateLayoutDesignList().

unsigned int QmitkRenderWindowMenu::m_OldLayoutDesign [protected]

Store index of old layout design. It is used e.g. for the full-screen mode, when deactivating the mode the former layout design will restore.

Definition at line 290 of file QmitkRenderWindowMenu.h.

Referenced by OnFullScreenButton().

QAction for coronal top, 3D bottom layout design

Definition at line 259 of file QmitkRenderWindowMenu.h.

Referenced by CreateSettingsWidget(), and UpdateLayoutDesignList().

QMenu containg all layout direction and layout design settings.

Definition at line 277 of file QmitkRenderWindowMenu.h.

Referenced by CreateSettingsWidget(), OnSettingsButton(), and UpdateLayoutDesignList().

QPushButton* QmitkRenderWindowMenu::m_SettingsButton [protected]

QPushButton for open the settings menu

Definition at line 235 of file QmitkRenderWindowMenu.h.

Referenced by CreateMenuWidget(), and OnSettingsButton().

QAction for sagittal top, coronal n 3D bottom layout design

Definition at line 265 of file QmitkRenderWindowMenu.h.

Referenced by CreateSettingsWidget(), and UpdateLayoutDesignList().

QLabel* QmitkRenderWindowMenu::m_TSLabel [protected]

Definition at line 273 of file QmitkRenderWindowMenu.h.

Referenced by OnCrossHairMenuAboutToShow(), and OnTSNumChanged().

QAction for big transversal layout design

Definition at line 250 of file QmitkRenderWindowMenu.h.

Referenced by CreateSettingsWidget(), and UpdateLayoutDesignList().

QAction for big saggital layout design

Definition at line 253 of file QmitkRenderWindowMenu.h.

Referenced by CreateSettingsWidget(), and UpdateLayoutDesignList().

QAction for big coronal layout design

Definition at line 256 of file QmitkRenderWindowMenu.h.

Referenced by CreateSettingsWidget(), and UpdateLayoutDesignList().


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