Documentation/Nightly/Developers/Layouts
From Slicer Wiki
Home < Documentation < Nightly < Developers < Layouts
For the latest Slicer documentation, visit the read-the-docs. |
Contents
Layout
Main classes
- vtkMRMLLayoutNode: Node that describes the layout of the views. There is only one layout node in the scene (singleton)
- vtkMRMLLayoutLogic: Control/observe the layout node. Automatically create the view nodes if needed (referenced in the layout node description but not in the scene).
- vtkMRMLAbstractViewNode: Abstract class for all the view nodes (such as vtkMRMLSliceNode, vtkMRMLViewNode, vtkMRMLChartViewNode) that can be into a layout.
ctkLayoutManager
: Mechanism to convert the layout description (xml) into a Qt layout with Qt widgets.- qMRMLLayoutManager: Specialized version of ctkLayoutManager to handle MRML only views and properties.
- qSlicerLayoutManager: Specialized version of qMRMLLayoutManager to handle Slicer specific behaviors. The Slicer layout manager is accessible from the qSlicerApplication singleton.
Layout mechanism
How to change the layout ?
How to register a new layout ?
qMRMLLayoutSliceViewFactory* mrmlSliceViewFactory = qobject_cast<qMRMLLayoutSliceViewFactory*>( d->app->layoutManager()->mrmlViewFactory("vtkMRMLSliceNode")); qSlicerCustomLayoutSliceViewFactory* customSliceViewFactory = new qSlicerCustomLayoutSliceViewFactory(d->app->layoutManager()); customSliceViewFactory->setSliceLogics(mrmlSliceViewFactory->sliceLogics()); d->app->layoutManager()->unregisterViewFactory(mrmlSliceViewFactory); d->app->layoutManager()->registerViewFactory(customSliceViewFactory);