rework menu system
This commit is contained in:
@@ -12,18 +12,19 @@ from typing import Any
|
||||
|
||||
|
||||
MENU_LAYOUT: dict[str, list[str]] = {
|
||||
"Add": [
|
||||
"Input": [
|
||||
"Image",
|
||||
"ImageDemo",
|
||||
"Folder",
|
||||
"ColorMap",
|
||||
"Number",
|
||||
"RangeSlider",
|
||||
"Coordinate",
|
||||
"CoordinatePair",
|
||||
"Font",
|
||||
],
|
||||
"Output": [
|
||||
"Display": [
|
||||
"ColorMap",
|
||||
"Font",
|
||||
"ColormapAdjust",
|
||||
"PreviewImage",
|
||||
"ValueDisplay",
|
||||
"View3D",
|
||||
@@ -36,11 +37,10 @@ MENU_LAYOUT: dict[str, list[str]] = {
|
||||
"Annotations",
|
||||
"AngleMeasure",
|
||||
],
|
||||
"Modify": [
|
||||
"Geometry": [
|
||||
"CropResizeField",
|
||||
"RotateField",
|
||||
"FlipField",
|
||||
"ColormapAdjust",
|
||||
],
|
||||
"Filter": [
|
||||
"GaussianFilter",
|
||||
@@ -50,25 +50,31 @@ MENU_LAYOUT: dict[str, list[str]] = {
|
||||
"FFTFilter2D",
|
||||
"ScarRemoval",
|
||||
],
|
||||
"Frequency": [
|
||||
"PSDF",
|
||||
"Spectral": [
|
||||
"FFT2D",
|
||||
"InverseFFT2D",
|
||||
"FFTFilter1D",
|
||||
"FFTFilter2D",
|
||||
"ACF",
|
||||
"PSDF",
|
||||
],
|
||||
"Flatten": [
|
||||
"Level & Correct": [
|
||||
"FixZero",
|
||||
"LineCorrection",
|
||||
"PlaneLevelField",
|
||||
"PolyLevelField",
|
||||
"FacetLevelField",
|
||||
"LineCorrection",
|
||||
"ScarRemoval",
|
||||
],
|
||||
"Measure": [
|
||||
"AngleMeasure",
|
||||
"CrossSection",
|
||||
"Histogram",
|
||||
"Cursors",
|
||||
"Curvature",
|
||||
"FractalDimension",
|
||||
"ACF",
|
||||
"PSDF",
|
||||
"Statistics",
|
||||
"Stats",
|
||||
],
|
||||
@@ -78,12 +84,14 @@ MENU_LAYOUT: dict[str, list[str]] = {
|
||||
"MaskMorphology",
|
||||
"MaskInvert",
|
||||
"MaskOperations",
|
||||
],
|
||||
"Grains": [
|
||||
"GrainAnalysis",
|
||||
"GrainDistanceTransform",
|
||||
"WatershedSegmentation",
|
||||
],
|
||||
"Grains": [
|
||||
"GrainDistanceTransform",
|
||||
"WatershedSegmentation",
|
||||
"GrainAnalysis",
|
||||
],
|
||||
}
|
||||
|
||||
|
||||
@@ -91,11 +99,17 @@ _CATEGORY_ORDER = {category: index for index, category in enumerate(MENU_LAYOUT)
|
||||
_NODE_METADATA: dict[str, dict[str, Any]] = {}
|
||||
for category, class_names in MENU_LAYOUT.items():
|
||||
for node_order, class_name in enumerate(class_names):
|
||||
_NODE_METADATA[class_name] = {
|
||||
metadata = _NODE_METADATA.setdefault(class_name, {
|
||||
"category": category,
|
||||
"category_order": _CATEGORY_ORDER[category],
|
||||
"menu_order": node_order,
|
||||
}
|
||||
"menu_categories": [],
|
||||
})
|
||||
metadata["menu_categories"].append({
|
||||
"category": category,
|
||||
"category_order": _CATEGORY_ORDER[category],
|
||||
"menu_order": node_order,
|
||||
})
|
||||
|
||||
|
||||
def get_menu_metadata(class_name: str) -> dict[str, Any]:
|
||||
@@ -107,4 +121,9 @@ def get_menu_metadata(class_name: str) -> dict[str, Any]:
|
||||
"category": "Unsorted",
|
||||
"category_order": len(_CATEGORY_ORDER),
|
||||
"menu_order": 10_000,
|
||||
"menu_categories": [{
|
||||
"category": "Unsorted",
|
||||
"category_order": len(_CATEGORY_ORDER),
|
||||
"menu_order": 10_000,
|
||||
}],
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user