Skip to content

Commit a38efeb

Browse files
author
Laurent Chauvin
committed
fix(Slice): Refactor code and set active view when mouse scrolling
1 parent 86d72bf commit a38efeb

File tree

2 files changed

+13
-13
lines changed

2 files changed

+13
-13
lines changed

src/components/vtk/VtkSliceViewSlicingManipulator.vue

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@ import vtkMouseRangeManipulator, {
1111
} from '@kitware/vtk.js/Interaction/Manipulators/MouseRangeManipulator';
1212
import vtkInteractorStyleManipulator from '@kitware/vtk.js/Interaction/Style/InteractorStyleManipulator';
1313
import { syncRef } from '@vueuse/core';
14-
import { inject, toRefs, computed } from 'vue';
14+
import { inject, toRefs, unref, watch, computed } from 'vue';
15+
import { useViewStore } from '@/src/store/views';
1516
1617
interface Props {
1718
viewId: string;
@@ -58,6 +59,13 @@ const scroll = useMouseRangeManipulatorListener(
5859
sliceConfig.slice.value
5960
);
6061
62+
watch(scroll, () => {
63+
const viewStore = useViewStore();
64+
if (unref(viewId) !== viewStore.activeViewID) {
65+
viewStore.setActiveViewID(unref(viewId));
66+
}
67+
});
68+
6169
syncRef(scroll, sliceConfig.slice, { immediate: true });
6270
</script>
6371

src/composables/actions.ts

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -39,20 +39,12 @@ const showKeyboardShortcuts = () => {
3939
keyboardStore.settingsOpen = !keyboardStore.settingsOpen;
4040
};
4141

42-
const nextSlice = () => () => {
42+
const changeSlice = (offset: number) => () => {
4343
const { currentImageID } = useCurrentImage();
4444
const { activeViewID } = useViewStore();
4545

4646
const { slice: currentSlice } = useSliceConfig(activeViewID, currentImageID);
47-
currentSlice.value += 1;
48-
};
49-
50-
const previousSlice = () => () => {
51-
const { currentImageID } = useCurrentImage();
52-
const { activeViewID } = useViewStore();
53-
54-
const { slice: currentSlice } = useSliceConfig(activeViewID, currentImageID);
55-
currentSlice.value -= 1;
47+
currentSlice.value += offset;
5648
};
5749

5850
export const ACTION_TO_FUNC = {
@@ -67,8 +59,8 @@ export const ACTION_TO_FUNC = {
6759
polygon: setTool(Tools.Polygon),
6860
select: setTool(Tools.Select),
6961

70-
nextSlice: nextSlice(),
71-
previousSlice: previousSlice(),
62+
nextSlice: changeSlice(1),
63+
previousSlice: changeSlice(-1),
7264

7365
decrementLabel: applyLabelOffset(-1),
7466
incrementLabel: applyLabelOffset(1),

0 commit comments

Comments
 (0)