From 7aa2585d4faf02c619818a4c42d80c344ab499b3 Mon Sep 17 00:00:00 2001 From: Max Kasperowski Date: Mon, 9 Dec 2024 15:38:24 +0100 Subject: [PATCH 1/3] replace region surrounding spacing by ELK nodeNodeSpacing This makes is possible to control the spacing directly through layout options, which is convenient, but the spacing on the outside of the layout i.e. the spacing between the border of the state and the regions is slightly different than before. --- .../de/cau/cs/kieler/sccharts/ui/synthesis/StateSynthesis.xtend | 2 +- .../sccharts/ui/synthesis/styles/ControlflowRegionStyles.xtend | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/de.cau.cs.kieler.sccharts.ui/src/de/cau/cs/kieler/sccharts/ui/synthesis/StateSynthesis.xtend b/plugins/de.cau.cs.kieler.sccharts.ui/src/de/cau/cs/kieler/sccharts/ui/synthesis/StateSynthesis.xtend index f9f654ec9b..7f426e9830 100644 --- a/plugins/de.cau.cs.kieler.sccharts.ui/src/de/cau/cs/kieler/sccharts/ui/synthesis/StateSynthesis.xtend +++ b/plugins/de.cau.cs.kieler.sccharts.ui/src/de/cau/cs/kieler/sccharts/ui/synthesis/StateSynthesis.xtend @@ -491,7 +491,7 @@ class StateSynthesis extends SubSynthesis { node.setLayoutOption(RectPackingOptions.WHITE_SPACE_ELIMINATION_STRATEGY, WhiteSpaceEliminationStrategy.EQUAL_BETWEEN_STRUCTURES) node.setLayoutOption(RectPackingOptions.OMIT_NODE_MICRO_LAYOUT, true) node.setLayoutOption(CoreOptions::PADDING, new ElkPadding(0)) - node.setLayoutOption(CoreOptions::SPACING_NODE_NODE, 1.0) + node.setLayoutOption(CoreOptions::SPACING_NODE_NODE, 5.0) } def static void configureLayoutRegionDependencies(KNode node) { diff --git a/plugins/de.cau.cs.kieler.sccharts.ui/src/de/cau/cs/kieler/sccharts/ui/synthesis/styles/ControlflowRegionStyles.xtend b/plugins/de.cau.cs.kieler.sccharts.ui/src/de/cau/cs/kieler/sccharts/ui/synthesis/styles/ControlflowRegionStyles.xtend index 5e68ab9050..fe179f6427 100644 --- a/plugins/de.cau.cs.kieler.sccharts.ui/src/de/cau/cs/kieler/sccharts/ui/synthesis/styles/ControlflowRegionStyles.xtend +++ b/plugins/de.cau.cs.kieler.sccharts.ui/src/de/cau/cs/kieler/sccharts/ui/synthesis/styles/ControlflowRegionStyles.xtend @@ -76,7 +76,7 @@ class ControlflowRegionStyles { background = REGION_BACKGROUND.color; foreground = REGION_FOREGROUND.color; lineWidth = 1; - setSurroundingSpace(2, 0); +// setSurroundingSpace(2, 0); ] } From 639daa60edc1fd8a23d9d3d7a45a3c207e06aeb4 Mon Sep 17 00:00:00 2001 From: Max Kasperowski Date: Mon, 9 Dec 2024 15:43:59 +0100 Subject: [PATCH 2/3] Update ControlflowRegionStyles.xtend --- .../sccharts/ui/synthesis/styles/ControlflowRegionStyles.xtend | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/plugins/de.cau.cs.kieler.sccharts.ui/src/de/cau/cs/kieler/sccharts/ui/synthesis/styles/ControlflowRegionStyles.xtend b/plugins/de.cau.cs.kieler.sccharts.ui/src/de/cau/cs/kieler/sccharts/ui/synthesis/styles/ControlflowRegionStyles.xtend index fe179f6427..5522cca762 100644 --- a/plugins/de.cau.cs.kieler.sccharts.ui/src/de/cau/cs/kieler/sccharts/ui/synthesis/styles/ControlflowRegionStyles.xtend +++ b/plugins/de.cau.cs.kieler.sccharts.ui/src/de/cau/cs/kieler/sccharts/ui/synthesis/styles/ControlflowRegionStyles.xtend @@ -76,7 +76,6 @@ class ControlflowRegionStyles { background = REGION_BACKGROUND.color; foreground = REGION_FOREGROUND.color; lineWidth = 1; -// setSurroundingSpace(2, 0); ] } @@ -337,4 +336,4 @@ class ControlflowRegionStyles { def KRectangle setUserScheduleStyle(KRectangle krendering) { krendering.foreground = USER_SCHEDULE_COLOR.color } -} \ No newline at end of file +} From 5c8850e97ec5fd3b1fc93e8bb8bbfae803852281 Mon Sep 17 00:00:00 2001 From: Max Kasperowski Date: Mon, 9 Dec 2024 16:11:17 +0100 Subject: [PATCH 3/3] resolve conflict --- .../cau/cs/kieler/sccharts/ui/synthesis/StateSynthesis.xtend | 2 +- .../sccharts/ui/synthesis/hooks/ActionsAsDataflowHook.xtend | 2 +- .../cs/kieler/sccharts/ui/synthesis/styles/StateStyles.xtend | 5 +++-- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/plugins/de.cau.cs.kieler.sccharts.ui/src/de/cau/cs/kieler/sccharts/ui/synthesis/StateSynthesis.xtend b/plugins/de.cau.cs.kieler.sccharts.ui/src/de/cau/cs/kieler/sccharts/ui/synthesis/StateSynthesis.xtend index 7f426e9830..7a6158a614 100644 --- a/plugins/de.cau.cs.kieler.sccharts.ui/src/de/cau/cs/kieler/sccharts/ui/synthesis/StateSynthesis.xtend +++ b/plugins/de.cau.cs.kieler.sccharts.ui/src/de/cau/cs/kieler/sccharts/ui/synthesis/StateSynthesis.xtend @@ -375,7 +375,7 @@ class StateSynthesis extends SubSynthesis { || (SHOW_INHERITANCE.booleanValue && !state.allVisibleInheritedRegions.empty) || !state.declarations.filter(MethodImplementationDeclaration).empty ) { - node.addRegionsArea + node.addRegionsArea(state) node.setLayoutOption(CoreOptions.NODE_SIZE_CONSTRAINTS, EnumSet.of(SizeConstraint.MINIMUM_SIZE)) } } diff --git a/plugins/de.cau.cs.kieler.sccharts.ui/src/de/cau/cs/kieler/sccharts/ui/synthesis/hooks/ActionsAsDataflowHook.xtend b/plugins/de.cau.cs.kieler.sccharts.ui/src/de/cau/cs/kieler/sccharts/ui/synthesis/hooks/ActionsAsDataflowHook.xtend index aa0d67c82f..981ac68a3f 100644 --- a/plugins/de.cau.cs.kieler.sccharts.ui/src/de/cau/cs/kieler/sccharts/ui/synthesis/hooks/ActionsAsDataflowHook.xtend +++ b/plugins/de.cau.cs.kieler.sccharts.ui/src/de/cau/cs/kieler/sccharts/ui/synthesis/hooks/ActionsAsDataflowHook.xtend @@ -77,7 +77,7 @@ class ActionsAsDataflowHook extends SynthesisHook { if (SHOW_ACTIONS_AS_DATAFLOW.booleanValue) { container.children.remove(actionContainer) - node.addRegionsArea + node.addRegionsArea(state) val actions = newArrayList(state.actions) diff --git a/plugins/de.cau.cs.kieler.sccharts.ui/src/de/cau/cs/kieler/sccharts/ui/synthesis/styles/StateStyles.xtend b/plugins/de.cau.cs.kieler.sccharts.ui/src/de/cau/cs/kieler/sccharts/ui/synthesis/styles/StateStyles.xtend index afd8910176..8855cc614f 100644 --- a/plugins/de.cau.cs.kieler.sccharts.ui/src/de/cau/cs/kieler/sccharts/ui/synthesis/styles/StateStyles.xtend +++ b/plugins/de.cau.cs.kieler.sccharts.ui/src/de/cau/cs/kieler/sccharts/ui/synthesis/styles/StateStyles.xtend @@ -377,9 +377,10 @@ class StateStyles { /** * Add a child area to a macro state */ - def addRegionsArea(KNode node) { + def addRegionsArea(KNode node, State state) { node.contentContainer.addChildArea().setGridPlacementData() => [ - from(LEFT, 5, 0, TOP, -4, 0).to(RIGHT, 5, 0, BOTTOM, 5, 0) + val spacing = state.isInitial ? 9 : 7; + from(LEFT, spacing, 0, TOP, -4, 0).to(RIGHT, spacing, 0, BOTTOM, spacing, 0) minCellHeight = 5; minCellWidth = 5; ]