paraq's multiview framework ● multiview objects ● multiview with server manager ●...

9
ParaQ's MultiView Framework MultiView objects MultiView with Server Manager Bringing it all together Improvements

Upload: tyrone-boyd

Post on 21-Jan-2016

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ParaQ's MultiView Framework ● MultiView objects ● MultiView with Server Manager ● Bringing it all together ● Improvements

ParaQ's MultiView Framework

● MultiView objects● MultiView with Server Manager● Bringing it all together● Improvements

Page 2: ParaQ's MultiView Framework ● MultiView objects ● MultiView with Server Manager ● Bringing it all together ● Improvements

MultiView objects

● pqMultiView– Generic QSplitter based widget container

for managing multiple widgets.– Provides methods for splitting a view in

half horizontally or vertically, and removing views.

– Provides handles for referencing managed widgets.

Page 3: ParaQ's MultiView Framework ● MultiView objects ● MultiView with Server Manager ● Bringing it all together ● Improvements

MultiView objects

● pqMultiView is really nothing more than an interface for dynamic manipulation of QSplitters

Page 4: ParaQ's MultiView Framework ● MultiView objects ● MultiView with Server Manager ● Bringing it all together ● Improvements

MultiView objects

● pqMultiViewManager– Specialization of pqMultiView which uses

pqMultiViewFrame for the views.– pqMultiViewFrame provides GUI buttons for

manipulating the view.– Provides signals for receivers to put their

own widgets in the view.– Provides functionality for saving/restoring

state.

Page 5: ParaQ's MultiView Framework ● MultiView objects ● MultiView with Server Manager ● Bringing it all together ● Improvements

MultiView objects

● A lone pqMultiViewManager allows creation and deletion of blank views.

Page 6: ParaQ's MultiView Framework ● MultiView objects ● MultiView with Server Manager ● Bringing it all together ● Improvements

MultiView & Server Manager

– MultiView Render Module wants locations and sizes for all render windows.

– pqMultiViewRenderModuleUpdater latches onto all QVTKWidgets and watches for when windows resize and move.

QVTKWidget

QVTKWidget

MultiView RenderModule

RenderModule

RenderModule

Page 7: ParaQ's MultiView Framework ● MultiView objects ● MultiView with Server Manager ● Bringing it all together ● Improvements

Bringing it all together● When signaled ParaQ places

QVTKWidgets in the views.● Helper routine creates a QVTKWidget

and keeps render modules updated.

View Manipulation

MultiView Framework

QVTKWidget Factory & Render Modules

Page 8: ParaQ's MultiView Framework ● MultiView objects ● MultiView with Server Manager ● Bringing it all together ● Improvements

● ParaQ will all MultiView components working together

Page 9: ParaQ's MultiView Framework ● MultiView objects ● MultiView with Server Manager ● Bringing it all together ● Improvements

Improvements

● Support easier customization:– Move functionality from pqMultiViewManager

to pqMultiView.● Move signals and slots down.● Move save/restore down.

– Change pqMultiViewManager to not inherit from pqMultiView. Signals/slots are easier to customize than deriving from pqMultiView.

– Example: easily allows for a Prism-like single view manipulation toolbar for all views.