Skip to content

Commit 01db3eb

Browse files
committed
fix(ui): refine paint process and sidebar controls
Group process-control layout cleanup with annotation sidebar alignment and panel tab width fixes.
1 parent aaced9e commit 01db3eb

23 files changed

Lines changed: 1153 additions & 373 deletions

package-lock.json

Lines changed: 649 additions & 25 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@
9292
"ts-node": "^10.9.2",
9393
"typescript": "~5.9.3",
9494
"typescript-eslint": "^8.32.1",
95-
"vite": "^7.3.6",
95+
"vite": "^8.1.1",
9696
"vite-plugin-html": "^3.2.2",
9797
"vite-plugin-static-copy": "^3.1.4",
9898
"vite-plugin-vuetify": "^2.1.2",

src/components/AnnotationsModule.vue

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -54,10 +54,9 @@ watch(
5454
</script>
5555

5656
<template>
57-
<div class="overflow-y-auto mx-2 fill-height">
57+
<div>
5858
<tool-controls />
59-
<v-divider thickness="4" />
60-
<v-tabs v-model="tab" align-tabs="center" density="compact" class="my-1">
59+
<v-tabs v-model="tab" density="compact" grow class="annotation-tabs my-1">
6160
<v-tab value="segmentGroups" class="tab-header">Segment Groups</v-tab>
6261
<v-tab value="measurements" class="tab-header">Measurements</v-tab>
6362
</v-tabs>
@@ -73,6 +72,11 @@ watch(
7372
</template>
7473

7574
<style scoped>
75+
.annotation-tabs :deep(.v-tab.v-tab) {
76+
flex: 1 1 0;
77+
min-width: 0;
78+
}
79+
7680
.tab-header {
7781
font-size: 0.8rem;
7882
}

src/components/DataBrowser.vue

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ export default defineComponent({
117117
</script>
118118

119119
<template>
120-
<div id="data-module" class="mx-1 fill-height">
120+
<div id="data-module">
121121
<div id="data-panels">
122122
<v-expansion-panels
123123
v-model="panels"
@@ -209,7 +209,6 @@ export default defineComponent({
209209
210210
#data-panels {
211211
flex: 2;
212-
overflow-y: auto;
213212
}
214213
215214
.collection-header-icon {

src/components/FillBetweenParameterControls.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<template>
2-
<div class="d-flex align-center">
2+
<div class="d-flex align-start w-100">
33
<mini-expansion-panel>
44
<template #title> Interpolate segmentation between slices. </template>
55
<ul>

src/components/FillHolesParameterControls.vue

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<template>
2-
<div class="d-flex align-center">
2+
<div class="d-flex align-start w-100">
33
<mini-expansion-panel>
44
<template #title
55
>Fill enclosed holes in the segmentation on the axis of the selected
@@ -22,11 +22,11 @@
2222
<div
2323
v-for="scope in scopes"
2424
:key="scope.label"
25-
class="w-100 px-4 mb-4 d-flex flex-column align-center"
25+
class="w-100 mb-4 d-flex flex-column align-start"
2626
>
27-
<div class="text-caption mb-1">{{ scope.label }}</div>
2827
<v-btn-toggle
2928
:model-value="scope.value"
29+
:aria-label="scope.label"
3030
density="compact"
3131
variant="outlined"
3232
divided

src/components/GaussianSmoothParameterControls.vue

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<template>
2-
<div class="d-flex align-center">
2+
<div class="d-flex align-start w-100">
33
<mini-expansion-panel>
44
<template #title>Gaussian smooth selected segment.</template>
55
<ul>
@@ -17,7 +17,6 @@
1717

1818
<div class="w-100 mb-4">
1919
<v-slider
20-
class="mx-4"
2120
label="Smoothing Strength (σ)"
2221
:min="MIN_SIGMA"
2322
:max="MAX_SIGMA"

src/components/MiniExpansionPanel.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<template>
2-
<div>
2+
<div class="w-100 mb-4">
33
<div class="d-flex align-center justify-space-between">
44
<div class="d-flex">
55
<slot name="title"> </slot>

src/components/ModulePanel.vue

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
<v-tabs
55
id="module-switcher-tabs"
66
v-model="selectedModuleIndex"
7+
grow
78
icons-and-text
89
show-arrows
910
>
@@ -21,11 +22,11 @@
2122
</v-tabs>
2223
</div>
2324
<div id="module-container">
24-
<v-window v-model="selectedModuleIndex" touchless class="fill-height">
25+
<v-window v-model="selectedModuleIndex" touchless class="module-window">
2526
<v-window-item
2627
v-for="mod in modules"
2728
:key="mod.name"
28-
class="fill-height"
29+
class="module-window-item"
2930
>
3031
<component
3132
:key="mod.name"
@@ -148,8 +149,14 @@ export default defineComponent({
148149
#module-container {
149150
position: relative;
150151
flex: 2;
151-
overflow: auto;
152-
scrollbar-gutter: stable;
152+
min-height: 0;
153+
overflow-x: hidden;
154+
overflow-y: auto;
155+
}
156+
157+
.module-window,
158+
.module-window-item {
159+
min-height: 100%;
153160
}
154161
155162
.module-text {
@@ -165,8 +172,9 @@ export default defineComponent({
165172
align-items: center;
166173
}
167174
168-
#module-switcher-tabs :deep(.v-slide-group__content) {
169-
justify-content: center;
175+
#module-switcher-tabs :deep(.v-tab.v-tab) {
176+
flex: 1 1 0;
177+
min-width: 0;
170178
}
171179
172180
#module-switcher-tabs

0 commit comments

Comments
 (0)