From 7d1d8908dfcd222d45a1d980ba3cc09338244f63 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Anian=20B=C3=BChler?=
 <anian.buehler@reutlingen-university.de>
Date: Fri, 6 Aug 2021 14:55:31 +0200
Subject: [PATCH] added testfiles for block reference

---
 .../com/ardublock/ui/OpenblocksFrame.java     |  50 ++++++++++++------
 .../listener/SimulatorHelpButtonListener.java |   2 +-
 .../com/ardublock/block/ardublock.properties  |   1 +
 .../ardublock/block/ardublock_de.properties   |   5 +-
 .../com/ardublock/reference/loop.html         |   5 ++
 .../com/ardublock/reference/loop.jpg          | Bin 0 -> 13248 bytes
 .../com/ardublock/reference/loop.png          | Bin 0 -> 3820 bytes
 .../ardublock/reference/program_comment.html  |   5 ++
 .../ardublock/reference/program_comment.png   | Bin 0 -> 16512 bytes
 9 files changed, 48 insertions(+), 20 deletions(-)
 create mode 100644 src/main/resources/com/ardublock/reference/loop.html
 create mode 100644 src/main/resources/com/ardublock/reference/loop.jpg
 create mode 100644 src/main/resources/com/ardublock/reference/loop.png
 create mode 100644 src/main/resources/com/ardublock/reference/program_comment.html
 create mode 100644 src/main/resources/com/ardublock/reference/program_comment.png

diff --git a/src/main/java/com/ardublock/ui/OpenblocksFrame.java b/src/main/java/com/ardublock/ui/OpenblocksFrame.java
index 7994d7c..5687246 100644
--- a/src/main/java/com/ardublock/ui/OpenblocksFrame.java
+++ b/src/main/java/com/ardublock/ui/OpenblocksFrame.java
@@ -55,7 +55,7 @@ import com.ardublock.ui.listener.SimulatorHelpButtonListener;
 
 import edu.mit.blocks.controller.WorkspaceController;
 import edu.mit.blocks.workspace.Workspace;
-import edu.mit.blocks.workspace.ZoomSlider;
+//import edu.mit.blocks.workspace.ZoomSlider;
 
 
 public class OpenblocksFrame extends JFrame
@@ -280,8 +280,9 @@ public class OpenblocksFrame extends JFrame
 		
 		//ADD ZOOM 
 		//*****************************************
-		ZoomSlider zoomSlider = new ZoomSlider(workspace);
-		zoomSlider.reset();
+		//ZoomSlider zoomSlider = new ZoomSlider(workspace);
+		//zoomSlider.reset();
+		
 		/*
 		JButton zoomOutButton = new JButton(uiMessageBundle.getString("ardublock.ui.zoomOut"));
 		ActionListener zoomOutButtonListener = new ZoomOutButtonListener(workspace);
@@ -379,7 +380,11 @@ public class OpenblocksFrame extends JFrame
 				//remove highlights
 				context.resetHightlightBlock();
 				
-				int currentWorkspaceZoom = zoomSlider.getValue();
+				//int currentWorkspaceZoom = zoomSlider.getValue();
+					
+				//get current zoomLevel
+				//TODO: check why blocks are rearanged while changing WS
+				double currentWorkspaceZoom = workspace.getCurrentWorkspaceZoom();
 		        try {
 		        	WorkspaceController workspaceController = context.getWorkspaceController();
 			        workspaceController.loadProject(getArduBlockString(), null , "default");	
@@ -393,10 +398,10 @@ public class OpenblocksFrame extends JFrame
 			        modeBasicButton.setFont(new Font("Sans", Font.BOLD, 12));
 			        modeProButton.setFont(new Font("Sans", Font.PLAIN, 12));
 			        modeSimButton.setFont(new Font("Sans", Font.PLAIN, 12));
-			        zoomSlider.reset();
-			        zoomSlider.setValue(currentWorkspaceZoom);
-			        workspaceModeState=false;
-			        
+			        //zoomSlider.reset();
+			        //zoomSlider.setValue(currentWorkspaceZoom);
+			        workspace.setWorkspaceZoom(currentWorkspaceZoom);
+			        workspaceModeState=false;			        
 		        } catch (Exception e1) {
 		            //e1.printStackTrace();
 		        }
@@ -416,9 +421,12 @@ public class OpenblocksFrame extends JFrame
 				
 				//remove highlights
 				context.resetHightlightBlock();
+
+				//int currentWorkspaceZoom = zoomSlider.getValue();
 				
 				//get current zoomLevel
-				int currentWorkspaceZoom = zoomSlider.getValue();
+				//TODO: check why blocks are rearanged while changing WS
+				double currentWorkspaceZoom = workspace.getCurrentWorkspaceZoom();
 		        try {
 		        	WorkspaceController workspaceController = context.getWorkspaceController();
 		        	workspaceController.loadProject(getArduBlockString(), null , "custom");
@@ -433,8 +441,9 @@ public class OpenblocksFrame extends JFrame
 			        appPrefix = uiMessageBundle.getString("ardublock.ui.appprefix.pro");
 			        setTitle(makeFrameTitle());
 			        
-			        zoomSlider.reset();
-			        zoomSlider.setValue(currentWorkspaceZoom);
+			        //zoomSlider.reset();
+			        //zoomSlider.setValue(currentWorkspaceZoom);
+			        workspace.setWorkspaceZoom(currentWorkspaceZoom);
 			        workspaceModeState=true;
 			        
 		        } catch (Exception e1) {
@@ -456,8 +465,13 @@ public class OpenblocksFrame extends JFrame
 				
 				//remove highlights
 				context.resetHightlightBlock();
+				
+				//int currentWorkspaceZoom = zoomSlider.getValue();
+				
 				//get current zoomLevel
-				int currentWorkspaceZoom = zoomSlider.getValue();
+				//TODO: check why blocks are rearanged while changing WS
+				double currentWorkspaceZoom = workspace.getCurrentWorkspaceZoom();
+				
 				try {
 				  	WorkspaceController workspaceController = context.getWorkspaceController();
 				  	//TODO check if reduced sim-blockset is necessary
@@ -473,8 +487,9 @@ public class OpenblocksFrame extends JFrame
 				    appPrefix = uiMessageBundle.getString("ardublock.ui.appprefix.sim");
 				    setTitle(makeFrameTitle());
 			        
-				    zoomSlider.reset();
-				    zoomSlider.setValue(currentWorkspaceZoom);
+				    //zoomSlider.reset();
+				    //zoomSlider.setValue(currentWorkspaceZoom);
+				    workspace.setWorkspaceZoom(currentWorkspaceZoom); 
 				    workspaceModeState=false;
 			      
 		        } catch (Exception e1) {
@@ -495,7 +510,7 @@ public class OpenblocksFrame extends JFrame
 		copyButton.addActionListener(copyButtonListener);
 		//KeyStroke ctrlcKeyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_C, ActionEvent.CTRL_MASK);
 		//copyButton.registerKeyboardAction(copyButtonListener, ctrlcKeyStroke, JComponent.WHEN_IN_FOCUSED_WINDOW);
-		//copyButton.setToolTipText(uiMessageBundle.getString("ardublock.ui.copy.tooltip"));
+		copyButton.setToolTipText(uiMessageBundle.getString("ardublock.ui.copy.tooltip"));
 		
 		
 		JButton pasteButton = new JButton(uiMessageBundle.getString("ardublock.ui.paste"));
@@ -503,7 +518,7 @@ public class OpenblocksFrame extends JFrame
 		pasteButton.addActionListener(pasteButtonListener);
 		//KeyStroke ctrlvKeyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_V, ActionEvent.CTRL_MASK);
 		//pasteButton.registerKeyboardAction(pasteButtonListener, ctrlvKeyStroke, JComponent.WHEN_IN_FOCUSED_WINDOW);
-		//pasteButton.setToolTipText(uiMessageBundle.getString("ardublock.ui.paste.tooltip"));
+		pasteButton.setToolTipText(uiMessageBundle.getString("ardublock.ui.paste.tooltip"));
 		//*****************************************
 		
 		//WEBSITE BUTTON
@@ -533,7 +548,7 @@ public class OpenblocksFrame extends JFrame
 		bottomPanel.add(modeSimButton);
 		
 		bottomPanel.add(Box.createRigidArea(new Dimension(10, 0))); //std value 30,0
-		bottomPanel.add(zoomSlider);
+		//bottomPanel.add(zoomSlider);
 		//bottomPanel.add(zoomInButton);
 		//bottomPanel.add(zoomResetButton);
 		//bottomPanel.add(zoomOutButton);
@@ -898,4 +913,5 @@ public class OpenblocksFrame extends JFrame
 	public boolean getModeState(){ //letsgoING
 		return workspaceModeState; 
 	}
+
 }
diff --git a/src/main/java/com/ardublock/ui/listener/SimulatorHelpButtonListener.java b/src/main/java/com/ardublock/ui/listener/SimulatorHelpButtonListener.java
index ba295ae..9c92fce 100644
--- a/src/main/java/com/ardublock/ui/listener/SimulatorHelpButtonListener.java
+++ b/src/main/java/com/ardublock/ui/listener/SimulatorHelpButtonListener.java
@@ -25,7 +25,7 @@ public class SimulatorHelpButtonListener implements ActionListener
 	
 	public void actionPerformed(ActionEvent e) {
 	
-		System.out.println("Help is pressed");
+		//System.out.println("Help is pressed");
 		ImageIcon icon = new ImageIcon(openBlocksFrame.getToolkit().getImage(GUI.class.getResource("/com/ardublock/block/SimHelp.png")));
         JOptionPane.showMessageDialog(
                 null,
diff --git a/src/main/resources/com/ardublock/block/ardublock.properties b/src/main/resources/com/ardublock/block/ardublock.properties
index ef3b42d..abd08dd 100644
--- a/src/main/resources/com/ardublock/block/ardublock.properties
+++ b/src/main/resources/com/ardublock/block/ardublock.properties
@@ -21,6 +21,7 @@ ardublock.ui.upload=Upload
 ardublock.ui.upload.tooltip=Upload to Arduino Ctrl-U
 ardublock.ui.clone=Clone (rightclick-Ctrl)
 ardublock.ui.clone_all=Clone following (rightclick-Shift-Ctrl)
+ardublock.ui.reference=open block reference
 ardublock.ui.add_comment=Add Comment
 ardublock.ui.delete_comment=Delete Comment
 ardublock.ui.organize_blocks=Organize all blocks
diff --git a/src/main/resources/com/ardublock/block/ardublock_de.properties b/src/main/resources/com/ardublock/block/ardublock_de.properties
index 89a2bb4..f92324f 100644
--- a/src/main/resources/com/ardublock/block/ardublock_de.properties
+++ b/src/main/resources/com/ardublock/block/ardublock_de.properties
@@ -21,6 +21,7 @@ ardublock.ui.upload=Hochladen auf den Arduino
 ardublock.ui.upload.tooltip=Programm auf Arduino laden Strg-U
 ardublock.ui.clone=klonen (Strg-Rechtsklick)
 ardublock.ui.clone_all=folgende klonen (Strg-Shift-Rechtsklick)
+ardublock.ui.reference=Block-Referenz öffnen 
 ardublock.ui.add_comment=Kommentar hinzufügen
 ardublock.ui.delete_comment=Kommentar löschen
 ardublock.ui.organize_blocks=Alle Blöcke neu anordnen
@@ -61,9 +62,9 @@ ardublock.ui.zoomOut.tooltip=verkleinere Programm Strg-Minus
 ardublock.ui.zoomReset=0
 ardublock.ui.zoomReset.tooltip=zurücksetzen Strg-0
 ardublock.ui.copy=kopieren
-ardublock.ui.copy.tooltip=kopiere Programm in Zwischenablage Strg-C
+ardublock.ui.copy.tooltip=kopiere gesamtes Programm in Zwischenablage Strg-C
 ardublock.ui.paste=einfügen
-ardublock.ui.paste.tooltip=füge Programm aus Zwischenablage ein Strg-V
+ardublock.ui.paste.tooltip=füge gesamtes Programm aus Zwischenablage ein Strg-V
 ardublock.ui.simulation=Hochladen auf den Simulator
 ardublock.ui.simulation.tooltip=Starte den Simulator fuer die letsgoING-GrundlagenModule
 ardublock.ui.simulatorHelp=Hilfe
diff --git a/src/main/resources/com/ardublock/reference/loop.html b/src/main/resources/com/ardublock/reference/loop.html
new file mode 100644
index 0000000..126a689
--- /dev/null
+++ b/src/main/resources/com/ardublock/reference/loop.html
@@ -0,0 +1,5 @@
+<html>
+<img style="-webkit-user-select: none"  src="loop.png" alt="image" ></br>
+<font size=+2>loop</font></br>
+<font color=red>info Text</font><font color=blue>Bild</font>
+<font size=-2>Troubleshooting</font></html>
diff --git a/src/main/resources/com/ardublock/reference/loop.jpg b/src/main/resources/com/ardublock/reference/loop.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..d176f9a2bb1f3607db3eaa8c8a6ade687c251133
GIT binary patch
literal 13248
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
Fe*n5xG++P#

literal 0
HcmV?d00001

diff --git a/src/main/resources/com/ardublock/reference/loop.png b/src/main/resources/com/ardublock/reference/loop.png
new file mode 100644
index 0000000000000000000000000000000000000000..557e15745689ff62d67732c87d2310aaedc5dcf0
GIT binary patch
literal 3820
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
I#WDW>0KwT$E&u=k

literal 0
HcmV?d00001

diff --git a/src/main/resources/com/ardublock/reference/program_comment.html b/src/main/resources/com/ardublock/reference/program_comment.html
new file mode 100644
index 0000000..3b3607e
--- /dev/null
+++ b/src/main/resources/com/ardublock/reference/program_comment.html
@@ -0,0 +1,5 @@
+<html>
+<img style="-webkit-user-select: none"  src="program_comment.png" alt="image" ></br>
+<font size=+2>loop</font></br>
+<font color=red>info Text</font><font color=blue>Bild</font>
+<font size=-2>Troubleshooting</font></html>
diff --git a/src/main/resources/com/ardublock/reference/program_comment.png b/src/main/resources/com/ardublock/reference/program_comment.png
new file mode 100644
index 0000000000000000000000000000000000000000..0124bd608c1edcddead3f9c1c348036e8fe2828e
GIT binary patch
literal 16512
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%0D4Vhqm3n1AWHq?RplV$mrJx7
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
Sfd4Fjqonv+p+fF$*#85i=2lk#

literal 0
HcmV?d00001

-- 
GitLab