diff --git a/alice-ide/src/main/resources/org/alice/stageide/themes/FlatLaf.properties b/alice-ide/src/main/resources/org/alice/stageide/themes/FlatLaf.properties index c5be6cf5ea..8de4eb9d0c 100644 --- a/alice-ide/src/main/resources/org/alice/stageide/themes/FlatLaf.properties +++ b/alice-ide/src/main/resources/org/alice/stageide/themes/FlatLaf.properties @@ -88,4 +88,7 @@ Alice.Block.knurlForeground = #D9D9D9 # contrasting text/backgrounds Alice.Block.contrastForeground = #3E3E41 -Alice.Block.contrastBackground = #D9D9D9 \ No newline at end of file +Alice.Block.contrastBackground = #D9D9D9 + +Alice.ControlFlow.knurlActive = #000000 +Alice.ControlFlow.knurlInactive = #333333 \ No newline at end of file diff --git a/core/ide/src/main/java/org/alice/ide/common/DefaultStatementPane.java b/core/ide/src/main/java/org/alice/ide/common/DefaultStatementPane.java index da61ba5d36..202ec38b3d 100644 --- a/core/ide/src/main/java/org/alice/ide/common/DefaultStatementPane.java +++ b/core/ide/src/main/java/org/alice/ide/common/DefaultStatementPane.java @@ -54,6 +54,7 @@ import org.lgna.project.ast.StatementListProperty; import javax.swing.SwingUtilities; +import javax.swing.UIManager; import java.awt.*; /** @@ -75,6 +76,10 @@ public void setMaxYForIfBlock(int maxYForIfBlock) { this.maxYForIfBlock = maxYForIfBlock; } + protected Color getKnurlColor() { + return isActive() ? UIManager.getColor("Alice.ControlFlow.knurlActive") : UIManager.getColor("Alice.ControlFlow.knurlInactive"); + } + @Override protected void paintEpilogue(Graphics2D g2, int x, int y, int width, int height) { super.paintEpilogue(g2, x, y, width, height); diff --git a/core/ide/src/main/java/org/alice/ide/controlflow/components/ControlFlowPanel.java b/core/ide/src/main/java/org/alice/ide/controlflow/components/ControlFlowPanel.java index 10a4527848..efd0906442 100644 --- a/core/ide/src/main/java/org/alice/ide/controlflow/components/ControlFlowPanel.java +++ b/core/ide/src/main/java/org/alice/ide/controlflow/components/ControlFlowPanel.java @@ -67,7 +67,7 @@ public ControlFlowPanel(ControlFlowComposite composite) { this.internalAddComponent(BoxUtilities.createHorizontalSliver(8)); } } - this.setBorder(BorderFactory.createEmptyBorder(4, 0, 0, 0)); + this.setBorder(BorderFactory.createEmptyBorder(0, 4, 4, 0)); } @Override diff --git a/core/ide/src/main/java/org/alice/ide/controlflow/components/MiniControlFlowStatementTemplate.java b/core/ide/src/main/java/org/alice/ide/controlflow/components/MiniControlFlowStatementTemplate.java index 16ea9860c8..552ed84c22 100644 --- a/core/ide/src/main/java/org/alice/ide/controlflow/components/MiniControlFlowStatementTemplate.java +++ b/core/ide/src/main/java/org/alice/ide/controlflow/components/MiniControlFlowStatementTemplate.java @@ -56,6 +56,7 @@ import org.lgna.project.ast.Statement; import javax.swing.UIManager; +import java.awt.Color; import java.awt.Point; import java.awt.event.MouseEvent; @@ -146,4 +147,16 @@ protected void handleUndisplayable() { // this.removeAllComponents(); super.handleUndisplayable(); } + + @Override + protected int getInsetRight() { + return 6; + } + + protected Color getKnurlColor() { + if (getModel() instanceof ExpressionStatementTemplateDragModel) { + return super.getKnurlColor(); + } + return this.isActive() ? UIManager.getColor("Alice.ControlFlow.knurlActive") : UIManager.getColor("Alice.ControlFlow.knurlInactive"); + } } diff --git a/core/ide/src/main/java/org/alice/ide/croquet/components/KnurlDragComponent.java b/core/ide/src/main/java/org/alice/ide/croquet/components/KnurlDragComponent.java index e06cd46aec..0c654720ef 100644 --- a/core/ide/src/main/java/org/alice/ide/croquet/components/KnurlDragComponent.java +++ b/core/ide/src/main/java/org/alice/ide/croquet/components/KnurlDragComponent.java @@ -238,12 +238,15 @@ protected void paintEpilogue(Graphics2D g2, int x, int y, int width, int height) Shape shape = this.createShape(x, y, width, height); this.paintOutline(g2, shape); if (isKnurlDesired()) { - Color c = this.isActive() ? getOutlineColor() : UIManager.getColor("Alice.Block.knurlForeground"); - g2.setColor(c); + g2.setColor(getKnurlColor()); KnurlUtilities.paintKnurl5(g2, x + this.getDockInsetLeft(), y + 2, KNURL_WIDTH, height - 5); } } + protected Color getKnurlColor() { + return this.isActive() ? getOutlineColor() : UIManager.getColor("Alice.Block.knurlForeground"); + } + public void addComponent(AwtComponentView component) { this.internalAddComponent(component); }