ohif-viewer/extensions/ohif-cornerstone-extension/src/toolbarModule.js

107 lines
2.3 KiB
JavaScript
Raw Normal View History

// TODO: A way to add Icons that don't already exist?
// - Register them and add
// - Include SVG Source/Inline?
// - By URL, or own component?
2019-05-30 05:46:42 +02:00
// TODO: `ohif-core` toolbar builder?
2019-04-16 18:00:06 +02:00
// What KINDS of toolbar buttons do we have...
// - One's that dispatch commands
// - One's that set tool's active
// - More custom, like CINE
// - Built in for one's like this, or custom components?
2019-04-16 18:00:06 +02:00
// Visible?
// Disabled?
// Based on contexts or misc. criteria?
// -- ACTIVE_ROUTE::VIEWER
// -- ACTIVE_VIEWPORT::CORNERSTONE
// setToolActive commands should receive the button event that triggered
// so we can do the "bind to this butyon" magic
2019-04-16 18:00:06 +02:00
const TOOLBAR_BUTTON_TYPES = {
COMMAND: 'command',
2019-06-21 02:30:12 +02:00
SET_TOOL_ACTIVE: 'setToolActive',
2019-06-21 04:57:14 +02:00
BUILT_IN: 'builtIn',
};
2019-04-16 18:00:06 +02:00
const definitions = [
{
id: 'StackScroll',
label: 'Stack Scroll',
icon: 'bars',
//
type: TOOLBAR_BUTTON_TYPES.SET_TOOL_ACTIVE,
commandName: 'setToolActive',
2019-06-21 04:57:14 +02:00
commandOptions: { toolName: 'StackScroll' },
},
{
id: 'Zoom',
label: 'Zoom',
icon: 'search-plus',
//
type: TOOLBAR_BUTTON_TYPES.SET_TOOL_ACTIVE,
commandName: 'setToolActive',
2019-06-21 04:57:14 +02:00
commandOptions: { toolName: 'Zoom' },
},
{
id: 'Wwwc',
label: 'Levels',
icon: 'level',
//
type: TOOLBAR_BUTTON_TYPES.SET_TOOL_ACTIVE,
commandName: 'setToolActive',
2019-06-21 04:57:14 +02:00
commandOptions: { toolName: 'Wwwc' },
},
{
id: 'Pan',
label: 'Pan',
icon: 'arrows',
//
type: TOOLBAR_BUTTON_TYPES.SET_TOOL_ACTIVE,
commandName: 'setToolActive',
2019-06-21 04:57:14 +02:00
commandOptions: { toolName: 'Pan' },
},
{
id: 'Length',
label: 'Length',
icon: 'measure-temp',
//
type: TOOLBAR_BUTTON_TYPES.SET_TOOL_ACTIVE,
commandName: 'setToolActive',
2019-06-21 04:57:14 +02:00
commandOptions: { toolName: 'Length' },
},
{
id: 'Angle',
label: 'Angle',
icon: 'angle-left',
//
type: TOOLBAR_BUTTON_TYPES.SET_TOOL_ACTIVE,
commandName: 'setToolActive',
2019-06-21 04:57:14 +02:00
commandOptions: { toolName: 'Angle' },
},
{
id: 'Reset',
label: 'Reset',
icon: 'reset',
//
type: TOOLBAR_BUTTON_TYPES.COMMAND,
2019-06-21 04:57:14 +02:00
commandName: 'resetViewport',
2019-06-21 02:30:12 +02:00
},
{
id: 'Cine',
label: 'CINE',
icon: 'youtube',
//
type: TOOLBAR_BUTTON_TYPES.BUILT_IN,
options: {
2019-06-21 04:57:14 +02:00
behavior: 'CINE',
},
},
];
2019-04-16 18:00:06 +02:00
export default {
definitions,
2019-06-21 04:57:14 +02:00
defaultContext: 'ACTIVE_VIEWPORT::CORNERSTONE',
};