Skip to content
Snippets Groups Projects
Commit 4c717e5d authored by Paul McCarthy's avatar Paul McCarthy
Browse files

Ortho/lightbox toolbar tooltips.

parent 5155eb5c
No related branches found
No related tags found
No related merge requests found
......@@ -10,10 +10,11 @@ import wx
import props
import fsl.fsleyes.toolbar as fsltoolbar
import fsl.fsleyes.actions as actions
import fsl.fsleyes.icons as icons
import fsl.data.strings as strings
import fsl.fsleyes.toolbar as fsltoolbar
import fsl.fsleyes.actions as actions
import fsl.fsleyes.icons as fslicons
import fsl.fsleyes.tooltips as fsltooltips
import fsl.data.strings as strings
class LightBoxToolBar(fsltoolbar.FSLEyesToolBar):
......@@ -26,46 +27,64 @@ class LightBoxToolBar(fsltoolbar.FSLEyesToolBar):
self, parent, overlayList, displayCtx, 24, actionz)
self.lightBoxPanel = lb
icns = {
'screenshot' : icons.findImageFile('camera24'),
'more' : icons.findImageFile('gear24'),
lbOpts = lb.getSceneOptions()
icons = {
'screenshot' : fslicons.findImageFile('camera24'),
'more' : fslicons.findImageFile('gear24'),
'zax' : {
0 : icons.findImageFile('sagittalSlice24'),
1 : icons.findImageFile('coronalSlice24'),
2 : icons.findImageFile('axialSlice24'),
0 : fslicons.findImageFile('sagittalSlice24'),
1 : fslicons.findImageFile('coronalSlice24'),
2 : fslicons.findImageFile('axialSlice24'),
}
}
sceneOpts = lb.getSceneOptions()
tooltips = {
'more' : fsltooltips.actions[ self, 'more'],
'screenshot' : fsltooltips.actions[ lb, 'screenshot'],
'zax' : fsltooltips.properties[lbOpts, 'zax'],
'sliceSpacing' : fsltooltips.properties[lbOpts, 'sliceSpacing'],
'zrange' : fsltooltips.properties[lbOpts, 'zrange'],
'zoom' : fsltooltips.properties[lbOpts, 'zoom'],
}
specs = {
'more' : actions.ActionButton('more',
icon=icns['more']),
'screenshot' : actions.ActionButton('screenshot',
icon=icns['screenshot']),
'more' : actions.ActionButton(
'more',
icon=icons['more'],
tooltip=tooltips['more']),
'screenshot' : actions.ActionButton(
'screenshot',
icon=icons['screenshot'],
tooltip=tooltips['screenshot']),
'zax' : props.Widget(
'zax',
icons=icns['zax']),
icons=icons['zax'],
tooltip=tooltips['zax']),
'sliceSpacing' : props.Widget(
'sliceSpacing',
spin=False,
showLimits=False),
showLimits=False,
tooltip=tooltips['sliceSpacing']),
'zrange' : props.Widget(
'zrange',
spin=False,
showLimits=False,
labels=[strings.choices[sceneOpts, 'zrange', 'min'],
strings.choices[sceneOpts, 'zrange', 'max']]),
tooltip=tooltips['zrange'],
labels=[strings.choices[lbOpts, 'zrange', 'min'],
strings.choices[lbOpts, 'zrange', 'max']]),
'zoom' : props.Widget(
'zoom',
spin=False,
showLimits=False),
showLimits=False,
tooltip=tooltips['zoom']),
}
# Slice spacing and zoom go on a single panel
......@@ -73,17 +92,17 @@ class LightBoxToolBar(fsltoolbar.FSLEyesToolBar):
sizer = wx.FlexGridSizer(2, 2)
panel.SetSizer(sizer)
more = props.buildGUI(self, self, specs['more'])
screenshot = props.buildGUI(self, lb, specs['screenshot'])
zax = props.buildGUI(self, sceneOpts, specs['zax'])
zrange = props.buildGUI(self, sceneOpts, specs['zrange'])
zoom = props.buildGUI(panel, sceneOpts, specs['zoom'])
spacing = props.buildGUI(panel, sceneOpts, specs['sliceSpacing'])
more = props.buildGUI(self, self, specs['more'])
screenshot = props.buildGUI(self, lb, specs['screenshot'])
zax = props.buildGUI(self, lbOpts, specs['zax'])
zrange = props.buildGUI(self, lbOpts, specs['zrange'])
zoom = props.buildGUI(panel, lbOpts, specs['zoom'])
spacing = props.buildGUI(panel, lbOpts, specs['sliceSpacing'])
zoomLabel = wx.StaticText(panel)
spacingLabel = wx.StaticText(panel)
zoomLabel .SetLabel(strings.properties[sceneOpts, 'zoom'])
spacingLabel.SetLabel(strings.properties[sceneOpts, 'sliceSpacing'])
zoomLabel .SetLabel(strings.properties[lbOpts, 'zoom'])
spacingLabel.SetLabel(strings.properties[lbOpts, 'sliceSpacing'])
sizer.Add(zoomLabel)
sizer.Add(zoom, flag=wx.EXPAND)
......
......@@ -8,10 +8,11 @@
import props
import fsl.fsleyes.toolbar as fsltoolbar
import fsl.fsleyes.icons as icons
import fsl.fsleyes.actions as actions
import fsl.data.strings as strings
import fsl.fsleyes.toolbar as fsltoolbar
import fsl.fsleyes.icons as fslicons
import fsl.fsleyes.tooltips as fsltooltips
import fsl.fsleyes.actions as actions
import fsl.data.strings as strings
class OrthoToolBar(fsltoolbar.FSLEyesToolBar):
......@@ -43,36 +44,34 @@ class OrthoToolBar(fsltoolbar.FSLEyesToolBar):
orthoOpts = ortho.getSceneOptions()
profile = ortho.getCurrentProfile()
icns = {
'screenshot' : icons.findImageFile('camera24'),
'showXCanvas' : icons.findImageFile('sagittalSlice24'),
'showYCanvas' : icons.findImageFile('coronalSlice24'),
'showZCanvas' : icons.findImageFile('axialSlice24'),
'more' : icons.findImageFile('gear24'),
icons = {
'screenshot' : fslicons.findImageFile('camera24'),
'showXCanvas' : fslicons.findImageFile('sagittalSlice24'),
'showYCanvas' : fslicons.findImageFile('coronalSlice24'),
'showZCanvas' : fslicons.findImageFile('axialSlice24'),
'more' : fslicons.findImageFile('gear24'),
'resetZoom' : icons.findImageFile('resetZoom24'),
'centreCursor' : icons.findImageFile('centre24'),
'resetZoom' : fslicons.findImageFile('resetZoom24'),
'centreCursor' : fslicons.findImageFile('centre24'),
'layout' : {
'horizontal' : icons.findImageFile('horizontalLayout24'),
'vertical' : icons.findImageFile('verticalLayout24'),
'grid' : icons.findImageFile('gridLayout24'),
'horizontal' : fslicons.findImageFile('horizontalLayout24'),
'vertical' : fslicons.findImageFile('verticalLayout24'),
'grid' : fslicons.findImageFile('gridLayout24'),
}
}
toolSpecs = [
actions.ActionButton('more', icon=icns['more']),
actions.ActionButton('screenshot', icon=icns['screenshot']),
props .Widget( 'showXCanvas', icon=icns['showXCanvas']),
props .Widget( 'showYCanvas', icon=icns['showYCanvas']),
props .Widget( 'showZCanvas', icon=icns['showZCanvas']),
props .Widget( 'layout', icons=icns['layout']),
actions.ActionButton('resetZoom', icon=icns['resetZoom']),
actions.ActionButton('centreCursor', icon=icns['centreCursor']),
props.Widget('zoom', spin=False, showLimits=False),
]
tooltips = {
'screenshot' : fsltooltips.actions[ ortho, 'screenshot'],
'zoom' : fsltooltips.properties[orthoOpts, 'zoom'],
'layout' : fsltooltips.properties[orthoOpts, 'layout'],
'showXCanvas' : fsltooltips.properties[orthoOpts, 'showXCanvas'],
'showYCanvas' : fsltooltips.properties[orthoOpts, 'showYCanvas'],
'showZCanvas' : fsltooltips.properties[orthoOpts, 'showZCanvas'],
'resetZoom' : fsltooltips.actions[ profile, 'resetZoom'],
'centreCursor' : fsltooltips.actions[ profile, 'centreCursor'],
'more' : fsltooltips.actions[ self, 'more'],
}
targets = {'screenshot' : ortho,
'zoom' : orthoOpts,
......@@ -84,6 +83,40 @@ class OrthoToolBar(fsltoolbar.FSLEyesToolBar):
'centreCursor' : profile,
'more' : self}
toolSpecs = [
actions.ActionButton('more',
icon=icons['more'],
tooltip=tooltips['more']),
actions.ActionButton('screenshot',
icon=icons['screenshot'],
tooltip=tooltips['screenshot']),
props .Widget( 'showXCanvas',
icon=icons['showXCanvas'],
tooltip=tooltips['showXCanvas']),
props .Widget( 'showYCanvas',
icon=icons['showYCanvas'],
tooltip=tooltips['showYCanvas']),
props .Widget( 'showZCanvas',
icon=icons['showZCanvas'],
tooltip=tooltips['showZCanvas']),
props .Widget( 'layout',
icons=icons['layout'],
tooltip=tooltips['layout']),
actions.ActionButton('resetZoom',
icon=icons['resetZoom'],
tooltip=tooltips['resetZoom']),
actions.ActionButton('centreCursor',
icon=icons['centreCursor'],
tooltip=tooltips['centreCursor']),
props.Widget( 'zoom',
spin=False,
showLimits=False,
tooltip=tooltips['zoom']),
]
tools = []
for spec in toolSpecs:
......
......@@ -167,8 +167,8 @@ properties = TypeDict({
'some older systems.',
'OrthoOpts.showXCanvas' : 'Show / hide the X canvas.',
'OrthoOpts.showYCanvas' : 'Show / hide the X canvas.',
'OrthoOpts.showZCanvas' : 'Show / hide the X canvas.',
'OrthoOpts.showYCanvas' : 'Show / hide the Y canvas.',
'OrthoOpts.showZCanvas' : 'Show / hide the Z canvas.',
'OrthoOpts.showLabels' : 'If the currently selected overlay is a NIFTI1 '
'image, show / hide anatomical orientation '
'labels.',
......@@ -341,8 +341,13 @@ properties = TypeDict({
actions = TypeDict({
'CanvasPanel.screenshot' : 'Take a screenshot of the current scene',
'OrthoToolBar.more' : 'Show more view control settings',
'LightBoxToolBar.more' : 'Show more view control settings',
'OrthoViewProfile.resetZoom' : 'Reset zoom level to 100%',
'OrthoViewProfile.centreCursor' : 'Reset location to centre of scene',
})
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment