forked from KitwareMedical/SlicerVirtualReality
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
ENH: Initial VR home widget implementation
Squashed commits: ENH: Create framework for registering VR modules Adds registerModule function to qMRMLVRView which can be called to create a new button for that module on the Modules bar in the VR home widget KitwareMedical#43 ENH: Make VR home widget controls functional These changes make it so that changes in the module widget (viewable in Slicer) are reflected in the home widget (viewable in VR) and vice versa KitwareMedical#43 ENH: Add VR optimized Qt Style Sheet This style sheet makes the text in the VR menu widget bigger, and gives the buttons and slider handles different colors for unpressed, hover, and pressed statuses. KitwareMedical#43 ENH: Add VR home widget WIP Its UI is more or less complete but events are not handled and style sheet is needed ENH: Add virtual widget from arbitrary Qt Widget !WIP!
- Loading branch information
1 parent
173b1a8
commit 99fe76d
Showing
12 changed files
with
902 additions
and
4 deletions.
There are no files selected for viewing
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
50 changes: 50 additions & 0 deletions
50
VirtualReality/Widgets/Resources/StyleSheets/VrWidgetStyle.qss
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,50 @@ | ||
QWidget { | ||
font: 20px; | ||
} | ||
|
||
QAbstractButton { | ||
color: #3a3a3a; | ||
border-color: #3a3a3a; | ||
border-style: solid; | ||
border-width: 1px; | ||
border-radius: 10px; | ||
padding: 4px; | ||
} | ||
|
||
QAbstractButton:hover { | ||
background-color:#ABABAB; | ||
} | ||
|
||
QAbstractButton:pressed { | ||
background-color: #525252; | ||
} | ||
|
||
QSlider { | ||
min-height: 68px; | ||
max-height: 68px; | ||
background: white; | ||
} | ||
|
||
QSlider::groove:horizontal { | ||
border: 1px solid #262626; | ||
height: 5px; | ||
background: #399aef; | ||
margin: 0 12px; | ||
} | ||
|
||
QSlider::handle:horizontal { | ||
background: white; | ||
border: 2px solid black; | ||
border-radius: 10px; | ||
width: 23px; | ||
height: 100px; | ||
margin: -24px -12px; | ||
} | ||
|
||
QSlider::handle:horizontal:hover { | ||
background: #ABABAB; | ||
} | ||
|
||
QSlider::handle:horizontal:pressed { | ||
background: #525252; | ||
} |
206 changes: 206 additions & 0 deletions
206
VirtualReality/Widgets/Resources/UI/qMRMLVirtualRealityHomeWidget.ui
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,206 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<ui version="4.0"> | ||
<class>qMRMLVirtualRealityHomeWidget</class> | ||
<widget class="qMRMLWidget" name="qMRMLVirtualRealityHomeWidget"> | ||
<property name="geometry"> | ||
<rect> | ||
<x>0</x> | ||
<y>0</y> | ||
<width>532</width> | ||
<height>262</height> | ||
</rect> | ||
</property> | ||
<property name="windowTitle"> | ||
<string>VR Home</string> | ||
</property> | ||
<layout class="QVBoxLayout" name="verticalLayout"> | ||
<item> | ||
<widget class="QPushButton" name="backButton"> | ||
<property name="text"> | ||
<string>Back</string> | ||
</property> | ||
</widget> | ||
</item> | ||
<item> | ||
<widget class="QFrame" name="HomeWidgetFrame"> | ||
<property name="frameShape"> | ||
<enum>QFrame::NoFrame</enum> | ||
</property> | ||
<property name="frameShadow"> | ||
<enum>QFrame::Raised</enum> | ||
</property> | ||
<layout class="QFormLayout" name="formLayout"> | ||
<item row="0" column="0" colspan="2"> | ||
<widget class="QPushButton" name="SyncViewToReferenceViewButton"> | ||
<property name="text"> | ||
<string>Sync view to reference view</string> | ||
</property> | ||
</widget> | ||
</item> | ||
<item row="1" column="0"> | ||
<widget class="QLabel" name="label"> | ||
<property name="text"> | ||
<string>Fly speed:</string> | ||
</property> | ||
<property name="alignment"> | ||
<set>Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft</set> | ||
</property> | ||
</widget> | ||
</item> | ||
<item row="1" column="1"> | ||
<widget class="ctkSliderWidget" name="FlySpeedSliderWidget" native="true"> | ||
<property name="decimals" stdset="0"> | ||
<number>1</number> | ||
</property> | ||
<property name="singleStep" stdset="0"> | ||
<double>0.500000000000000</double> | ||
</property> | ||
<property name="pageStep" stdset="0"> | ||
<double>2.000000000000000</double> | ||
</property> | ||
<property name="minimum" stdset="0"> | ||
<double>0.100000000000000</double> | ||
</property> | ||
<property name="maximum" stdset="0"> | ||
<double>10.000000000000000</double> | ||
</property> | ||
<property name="value" stdset="0"> | ||
<double>1.660000000000000</double> | ||
</property> | ||
<property name="suffix" stdset="0"> | ||
<string>m/s</string> | ||
</property> | ||
</widget> | ||
</item> | ||
<item row="2" column="0"> | ||
<widget class="QLabel" name="label_2"> | ||
<property name="text"> | ||
<string>Magnification:</string> | ||
</property> | ||
<property name="alignment"> | ||
<set>Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft</set> | ||
</property> | ||
</widget> | ||
</item> | ||
<item row="2" column="1"> | ||
<layout class="QGridLayout" name="gridLayout_2"> | ||
<item row="0" column="3"> | ||
<widget class="QPushButton" name="Magnification10xButton"> | ||
<property name="text"> | ||
<string>10x</string> | ||
</property> | ||
</widget> | ||
</item> | ||
<item row="1" column="0" colspan="3"> | ||
<widget class="QCheckBox" name="LockMagnificationCheckBox"> | ||
<property name="text"> | ||
<string>Lock magnification</string> | ||
</property> | ||
</widget> | ||
</item> | ||
<item row="0" column="0"> | ||
<widget class="QPushButton" name="Magnification001xButton"> | ||
<property name="text"> | ||
<string>0.01x</string> | ||
</property> | ||
</widget> | ||
</item> | ||
<item row="0" column="2"> | ||
<widget class="QPushButton" name="Magnification1xButton"> | ||
<property name="text"> | ||
<string>1x</string> | ||
</property> | ||
</widget> | ||
</item> | ||
<item row="0" column="1"> | ||
<widget class="QPushButton" name="Magnification01xButton"> | ||
<property name="text"> | ||
<string>0.1x</string> | ||
</property> | ||
</widget> | ||
</item> | ||
<item row="0" column="4"> | ||
<widget class="QPushButton" name="Magnification100xButton"> | ||
<property name="text"> | ||
<string>100x</string> | ||
</property> | ||
</widget> | ||
</item> | ||
</layout> | ||
</item> | ||
<item row="3" column="0"> | ||
<widget class="QLabel" name="label_3"> | ||
<property name="minimumSize"> | ||
<size> | ||
<width>0</width> | ||
<height>13</height> | ||
</size> | ||
</property> | ||
<property name="text"> | ||
<string>Motion sensitivity:</string> | ||
</property> | ||
<property name="alignment"> | ||
<set>Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft</set> | ||
</property> | ||
</widget> | ||
</item> | ||
<item row="3" column="1"> | ||
<widget class="ctkSliderWidget" name="MotionSensitivitySliderWidget" native="true"> | ||
<property name="decimals" stdset="0"> | ||
<number>0</number> | ||
</property> | ||
<property name="maximum" stdset="0"> | ||
<double>100.000000000000000</double> | ||
</property> | ||
<property name="value" stdset="0"> | ||
<double>50.000000000000000</double> | ||
</property> | ||
<property name="suffix" stdset="0"> | ||
<string>%</string> | ||
</property> | ||
</widget> | ||
</item> | ||
</layout> | ||
</widget> | ||
</item> | ||
<item> | ||
<widget class="QFrame" name="ModuleWidgetFrame"> | ||
<property name="frameShape"> | ||
<enum>QFrame::NoFrame</enum> | ||
</property> | ||
<property name="frameShadow"> | ||
<enum>QFrame::Raised</enum> | ||
</property> | ||
<layout class="QFormLayout" name="formLayout_3"/> | ||
</widget> | ||
</item> | ||
<item> | ||
<widget class="QGroupBox" name="ModulesGroupBox"> | ||
<property name="title"> | ||
<string>Modules</string> | ||
</property> | ||
<layout class="QHBoxLayout" name="horizontalLayout"> | ||
<item> | ||
<layout class="QHBoxLayout" name="ModulesGroupBoxLayout"/> | ||
</item> | ||
</layout> | ||
</widget> | ||
</item> | ||
</layout> | ||
</widget> | ||
<customwidgets> | ||
<customwidget> | ||
<class>qMRMLWidget</class> | ||
<extends>QWidget</extends> | ||
<header>qMRMLWidget.h</header> | ||
<container>1</container> | ||
</customwidget> | ||
<customwidget> | ||
<class>ctkSliderWidget</class> | ||
<extends>QWidget</extends> | ||
<header>ctkSliderWidget.h</header> | ||
</customwidget> | ||
</customwidgets> | ||
<resources/> | ||
<connections/> | ||
</ui> |
5 changes: 5 additions & 0 deletions
5
VirtualReality/Widgets/Resources/qSlicerVirtualRealityModuleWidgets.qrc
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
<!DOCTYPE RCC><RCC version="1.0"> | ||
<qresource> | ||
<file>StyleSheets/VrWidgetStyle.qss</file> | ||
</qresource> | ||
</RCC> |
Oops, something went wrong.