From a6b05cc0f57ac96a3c82d8c9ce76fdcf65f575f0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Anian=20B=C3=BChler?=
 <anian.buehler@reutlingen-university.de>
Date: Mon, 11 Oct 2021 17:40:17 +0200
Subject: [PATCH] redesigned frontend

---
 .../mit/blocks/codeblockutil/CQueryField.java | 22 +++++++------
 .../mit/blocks/codeblockutil/GlassCard.java   |  3 +-
 .../blocks/codeblockutil/GlassExplorer.java   |  1 +
 .../edu/mit/blocks/workspace/BlockCanvas.java |  3 +-
 .../mit/blocks/workspace/FactoryManager.java  |  4 ++-
 .../edu/mit/blocks/workspace/SearchBar.java   |  9 +++--
 .../edu/mit/blocks/workspace/Workspace.java   | 33 ++++++++++++++++++-
 7 files changed, 58 insertions(+), 17 deletions(-)

diff --git a/src/main/java/edu/mit/blocks/codeblockutil/CQueryField.java b/src/main/java/edu/mit/blocks/codeblockutil/CQueryField.java
index 7e22d3e..488d2d0 100644
--- a/src/main/java/edu/mit/blocks/codeblockutil/CQueryField.java
+++ b/src/main/java/edu/mit/blocks/codeblockutil/CQueryField.java
@@ -25,19 +25,20 @@ public class CQueryField extends JPanel implements MouseListener, MouseMotionLis
     private JTextField field;
     private boolean pressed = false;
     private boolean mouseover = false;
+    private Color backgroundColor = new Color(40, 74, 102);//new Color(32, 34, 43);
 
     public CQueryField() {
         this(null);
     }
 
     public CQueryField(String text) {
-        super(new BorderLayout());
+    	super(new BorderLayout());
         field = new JTextField(text);
         field.setBorder(null);
-        field.setFont(new Font("Ariel", Font.PLAIN, 13));
-
-        this.setBounds(0, 0, 200, 20);
-        this.setPreferredSize(new Dimension(200, 20));
+        field.setFont(new Font("Sans", Font.BOLD, 18));  
+        
+        this.setBounds(0, 0, 300, 40);
+        this.setPreferredSize(new Dimension(300, 40));
 
         this.setOpaque(false);
         this.add(field, BorderLayout.CENTER);
@@ -46,6 +47,7 @@ public class CQueryField extends JPanel implements MouseListener, MouseMotionLis
         this.revalidate();
         this.repaint();
     }
+    
 
     @Override
     public Insets getInsets() {
@@ -91,11 +93,11 @@ public class CQueryField extends JPanel implements MouseListener, MouseMotionLis
                 RenderingHints.VALUE_ANTIALIAS_ON);
 
 
-        g2.setColor(Color.white);
+        g2.setColor(backgroundColor);
         g2.fillRoundRect(0, 0, w, h, h, h);
 
-        g2.setStroke(new BasicStroke(3));
-        g2.setColor(Color.darkGray.brighter());
+        g2.setStroke(new BasicStroke(4));
+        g2.setColor(Color.lightGray);
         g2.draw(this.getMag(w, h));
 
         if (mouseover) {
@@ -109,8 +111,8 @@ public class CQueryField extends JPanel implements MouseListener, MouseMotionLis
         }
         g2.fill(this.getXBox(w, h));
 
-        g2.setColor(Color.white);
-        g2.setStroke(new BasicStroke(2));
+        g2.setColor(backgroundColor);
+        g2.setStroke(new BasicStroke(5));
         g2.draw(this.getXCross(w, h));
 
         super.paint(g);
diff --git a/src/main/java/edu/mit/blocks/codeblockutil/GlassCard.java b/src/main/java/edu/mit/blocks/codeblockutil/GlassCard.java
index 502d875..f4dc3fc 100644
--- a/src/main/java/edu/mit/blocks/codeblockutil/GlassCard.java
+++ b/src/main/java/edu/mit/blocks/codeblockutil/GlassCard.java
@@ -244,7 +244,8 @@ public class GlassCard implements ActionListener, PropertyChangeListener {
             if (canvas.getHighlight() != null) {
                 g2.setStroke(new BasicStroke(3));
                 g2.setColor(canvas.getHighlight());
-                g2.drawRoundRect(INSET + 1, INSET + 1, buttonWidth - 2, buttonHeight - 2, arc, arc);
+                //g2.drawRoundRect(INSET + 1, INSET + 1, buttonWidth - 2, buttonHeight - 2, arc, arc); 
+                g2.drawRect(INSET + 1, INSET + 1, buttonWidth - 2, buttonHeight - 2); //changed from RoundRect to Rect by letsgoING
                 g2.setStroke(new BasicStroke(1));
             }
         }
diff --git a/src/main/java/edu/mit/blocks/codeblockutil/GlassExplorer.java b/src/main/java/edu/mit/blocks/codeblockutil/GlassExplorer.java
index a27b0cb..f584bf3 100644
--- a/src/main/java/edu/mit/blocks/codeblockutil/GlassExplorer.java
+++ b/src/main/java/edu/mit/blocks/codeblockutil/GlassExplorer.java
@@ -21,6 +21,7 @@ import javax.swing.JComponent;
 import javax.swing.JPanel;
 import javax.swing.Timer;
 
+import edu.mit.blocks.workspace.SearchBar;
 import edu.mit.blocks.workspace.Workspace;
 
 /**
diff --git a/src/main/java/edu/mit/blocks/workspace/BlockCanvas.java b/src/main/java/edu/mit/blocks/workspace/BlockCanvas.java
index f4a72d3..c17bdcb 100644
--- a/src/main/java/edu/mit/blocks/workspace/BlockCanvas.java
+++ b/src/main/java/edu/mit/blocks/workspace/BlockCanvas.java
@@ -24,7 +24,6 @@ import org.w3c.dom.Element;
 import org.w3c.dom.Node;
 import org.w3c.dom.NodeList;
 
-import edu.mit.blocks.codeblockutil.CGraphite;
 import edu.mit.blocks.codeblockutil.CHoverScrollPane;
 import edu.mit.blocks.codeblockutil.CScrollPane;
 import edu.mit.blocks.codeblockutil.CScrollPane.ScrollPolicy;
@@ -78,7 +77,7 @@ public class BlockCanvas implements PageChangeListener, ISupportMemento {
         this.scrollPane = new CHoverScrollPane(canvas,
                 ScrollPolicy.VERTICAL_BAR_ALWAYS,
                 ScrollPolicy.HORIZONTAL_BAR_ALWAYS,
-                18, CGraphite.blue, null, workspace);
+                18, new Color(40, 74, 102),null,workspace);//CGraphite.blue, null, workspace);
         scrollPane.setScrollingUnit(5);
         canvas.setLayout(null);
         canvas.setBackground(Color.gray);
diff --git a/src/main/java/edu/mit/blocks/workspace/FactoryManager.java b/src/main/java/edu/mit/blocks/workspace/FactoryManager.java
index 5d1a934..9cb4f0d 100644
--- a/src/main/java/edu/mit/blocks/workspace/FactoryManager.java
+++ b/src/main/java/edu/mit/blocks/workspace/FactoryManager.java
@@ -870,9 +870,11 @@ public class FactoryManager implements WorkspaceWidget, ComponentListener, Works
                 }
                 this.relayoutBlocks();
             }
-
+            
         } else if (event.getEventType() == WorkspaceEvent.PAGE_RENAMED) {
             //this.relayoutBlocks();
+        } else if(event.getEventType() == WorkspaceEvent.PAGE_RESIZED) { //TEST by letsgoING Zoom Drawer
+        	this.relayoutBlocks();
         }
     }
 
diff --git a/src/main/java/edu/mit/blocks/workspace/SearchBar.java b/src/main/java/edu/mit/blocks/workspace/SearchBar.java
index f467cc4..5bd344c 100644
--- a/src/main/java/edu/mit/blocks/workspace/SearchBar.java
+++ b/src/main/java/edu/mit/blocks/workspace/SearchBar.java
@@ -38,6 +38,9 @@ public class SearchBar {
     private static final int SEARCH_UPDATER_DELAY = 5000;
     private Timer searchThrottle;
     private static final int SEARCH_THROTTLE_DELAY = 250;
+    
+    private Color textColor =  new Color(40, 74, 102);
+    private Color backgroundColor =  new Color(169, 184, 188);
 
     private enum SearchRange {
 
@@ -60,7 +63,8 @@ public class SearchBar {
         this.searchBar = this.searchPanel.getQueryField();
         searchBar.setToolTipText(tooltip);
         searchBar.setColumns(12);
-
+        searchBar.setBackground(backgroundColor);
+        
         resetSearchBar();
         searchBar.addFocusListener(new FocusListener() {
 
@@ -215,7 +219,8 @@ public class SearchBar {
             searchBar.setText("");
             Font font = searchBar.getFont();
             searchBar.setFont(new Font(font.getName(), Font.PLAIN, font.getSize()));
-            searchBar.setForeground(Color.BLACK);
+            //searchBar.setForeground(Color.BLACK);
+            searchBar.setForeground(textColor);
         } else {
             searchBar.selectAll();
         }
diff --git a/src/main/java/edu/mit/blocks/workspace/Workspace.java b/src/main/java/edu/mit/blocks/workspace/Workspace.java
index f088461..dcac350 100644
--- a/src/main/java/edu/mit/blocks/workspace/Workspace.java
+++ b/src/main/java/edu/mit/blocks/workspace/Workspace.java
@@ -4,6 +4,7 @@ import java.awt.Color;
 import java.awt.Component;
 import java.awt.Container;
 import java.awt.Dimension;
+import java.awt.Graphics;
 import java.awt.Point;
 import java.awt.event.ComponentAdapter;
 import java.awt.event.ComponentEvent;
@@ -23,8 +24,11 @@ import javax.swing.JComponent;
 import javax.swing.JLayeredPane;
 import javax.swing.JSplitPane;
 import javax.swing.SwingUtilities;
+import javax.swing.border.Border;
 import javax.swing.event.ChangeEvent;
 import javax.swing.event.ChangeListener;
+import javax.swing.plaf.basic.BasicSplitPaneDivider;
+import javax.swing.plaf.basic.BasicSplitPaneUI;
 import javax.xml.xpath.XPathFactory;
 import javax.xml.xpath.XPath;
 import javax.xml.xpath.XPathExpression;
@@ -167,7 +171,31 @@ public class Workspace extends JLayeredPane implements ISupportMemento, RBParent
         blockCanvasLayer = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, true,
                 factory.getJComponent(), blockCanvas.getJComponent());
         blockCanvasLayer.setOneTouchExpandable(false);
-        blockCanvasLayer.setDividerSize(6);
+        blockCanvasLayer.setDividerSize(8);
+        
+        //added to change divider color by letsgoING
+        blockCanvasLayer.setUI(new BasicSplitPaneUI() 
+        {
+        	@Override
+            public BasicSplitPaneDivider createDefaultDivider() 
+            {
+                return new BasicSplitPaneDivider(this) 
+                {                
+					private static final long serialVersionUID = 1L;
+					public void setBorder(Border b) {}
+					
+                    @Override
+                    public void paint(Graphics g) 
+                    {
+                        g.setColor(Color.GRAY.darker().darker());
+                        g.fillRect(0, 0, getSize().width, getSize().height);
+                        super.paint(g);
+                    }
+                };
+            }
+        });
+        blockCanvasLayer.setBorder(null);
+        
         add(blockCanvasLayer, BLOCK_LAYER);
         validate();
         addPageAt(Page.getBlankPage(this), 0, false);
@@ -542,6 +570,7 @@ public class Workspace extends JLayeredPane implements ISupportMemento, RBParent
         int cDX = 0, cDY = 0;
 
         this.zoom = newZoom;
+        
 
         BlockUtilities.setZoomLevel(newZoom);
         for (RenderableBlock block : getRenderableBlocks()) {
@@ -549,6 +578,8 @@ public class Workspace extends JLayeredPane implements ISupportMemento, RBParent
         }
         for (RenderableBlock block : getFactoryManager().getBlocks()) {
             block.setZoomLevel(newZoom);
+            block.redrawFromTop();
+            //block.repaint();
         }
         for (Page p : getBlockCanvas().getPages()) {
             for (RenderableBlock block : p.getTopLevelBlocks()) {
-- 
GitLab