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