Browse Source

more copy paste bugs and repaint on nodeofnode when pasted

Kevin Trometer 7 years ago
parent
commit
2103031a08
2 changed files with 28 additions and 4 deletions
  1. 8 0
      src/ui/view/Console.java
  2. 20 4
      src/ui/view/GUI.java

+ 8 - 0
src/ui/view/Console.java

@@ -147,4 +147,12 @@ public class Console extends JScrollPane {
 	public void clearConsole() {
 		consoleText.setText("");
 	}
+	
+	/**
+	 * get the Console TextPane
+	 * @return 
+	 */
+	public JTextPane getConsoleText(){
+		return this.consoleText;
+	}
 }

+ 20 - 4
src/ui/view/GUI.java

@@ -578,16 +578,20 @@ public class GUI<E> implements CategoryListener {
 										.getComponent(0)).upperNode,
 								((UpperNodeCanvas) ((JScrollPane) tabTemp.getSelectedComponent()).getViewport()
 										.getComponent(0)).getMousePosition());
+						unitGraph.update(model.getSelectedCpsObjects());
+						((UpperNodeCanvas) ((JScrollPane) tabTemp.getSelectedComponent()).getViewport().getComponent(0))
+								.repaint();
 					} else {
 						controller.paste(null, canvas.getMousePosition());
 						unitGraph.update(model.getSelectedCpsObjects());
+						canvas.repaint();
 					}
 				} catch (HeadlessException | JsonParseException | UnsupportedFlavorException | IOException e1) {
 					// TODO Auto-generated catch block
 					JLabel message = new JLabel("The Clipboard information cannot be pasted into Application.");
 					JOptionPane.showMessageDialog(null, message, "", JOptionPane.ERROR_MESSAGE);
 				}
-				canvas.repaint();
+
 			}
 		};
 		actionMap.put(cntrlVDown, controlV);
@@ -1322,14 +1326,14 @@ public class GUI<E> implements CategoryListener {
 		/****************
 		 * Tree Stuff
 		 ****************/
-		
-		//Override Key Actions
+
+		// Override Key Actions
 		inputMap = tree.getInputMap();
 		inputMap.put(KeyStroke.getKeyStroke("control C"), cntrlCDown);
 		inputMap.put(KeyStroke.getKeyStroke("control V"), cntrlVDown);
 		inputMap.put(KeyStroke.getKeyStroke("control X"), cntrlXDown);
 		inputMap.put(KeyStroke.getKeyStroke("control A"), cntrlADown);
-		
+
 		TreeCellRenderer customRenderer = new TreeCellRenderer() {
 			@Override
 			public Component getTreeCellRendererComponent(JTree tree, Object value, boolean selected, boolean expanded,
@@ -1982,6 +1986,18 @@ public class GUI<E> implements CategoryListener {
 
 		frmCyberPhysical.getContentPane().add(timePanel, BorderLayout.SOUTH);
 
+		//focus canvas so copy/paste/cut and select all works
+		MouseAdapter focusCanvas = new MouseAdapter() {
+			@Override
+			public void mouseExited(MouseEvent e) {
+				canvas.requestFocus();
+			}
+		};
+		
+		model.getTableHolonElement().addMouseListener(focusCanvas);
+		tableProperties.addMouseListener(focusCanvas);
+		console.getConsoleText().addMouseListener(focusCanvas);
+		
 		try {
 			controller.loadAutoSave(System.getProperty("user.home") + "/.config/HolonGUI/Category/Category.json");
 		} catch (IOException e1) {