Browse Source

search popup

Teh-Hai Julian Zheng 8 years ago
parent
commit
8faa0a39dd
2 changed files with 71 additions and 37 deletions
  1. 1 1
      src/ui/view/MyCanvas.java
  2. 70 36
      src/ui/view/searchPopUp.java

+ 1 - 1
src/ui/view/MyCanvas.java

@@ -72,7 +72,7 @@ public class MyCanvas extends JPanel implements MouseListener, MouseMotionListen
 	// contains the value of the Capacity for new created Edges
 	private float edgeCapacity;
 
-	public MyCanvas(final Model model, Control control) {
+	public MyCanvas(Model model, Control control) {
 		this.add(objectTT);
 		this.controller = control;
 		this.model = model;

+ 70 - 36
src/ui/view/searchPopUp.java

@@ -21,6 +21,7 @@ import ui.controller.Control;
 import ui.controller.MultiPurposeController;
 
 import java.awt.event.ActionListener;
+import java.util.ArrayList;
 import java.awt.event.ActionEvent;
 
 public class searchPopUp extends JDialog {
@@ -29,8 +30,8 @@ public class searchPopUp extends JDialog {
 	private JTextField findTextField;
 	private Control controller;
 	private MyCanvas canvas;
-	
-	searchPopUp(Control controller, MyCanvas canvas){
+
+	searchPopUp(Control controller, MyCanvas canvas) {
 		super((java.awt.Frame) null, true);
 		setModalityType(java.awt.Dialog.ModalityType.APPLICATION_MODAL);
 		this.setTitle("Search for Objects");
@@ -39,79 +40,86 @@ public class searchPopUp extends JDialog {
 		contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5));
 		getContentPane().add(contentPanel, BorderLayout.CENTER);
 		contentPanel.setLayout(null);
-		
+
 		this.controller = controller;
 		this.canvas = canvas;
-		
+
 		JLabel lblFind = new JLabel("Find:");
 		lblFind.setFont(new Font("Tahoma", Font.PLAIN, 13));
 		lblFind.setBounds(10, 11, 46, 19);
 		contentPanel.add(lblFind);
-		
+
 		JLabel lblReplace = new JLabel("Replace:");
 		lblReplace.setFont(new Font("Tahoma", Font.PLAIN, 13));
 		lblReplace.setBounds(10, 41, 56, 14);
 		contentPanel.add(lblReplace);
-		
-		//ReplaceTest
+
+		// ReplaceTest
 		replaceTextField = new JTextField();
 		replaceTextField.setBounds(76, 39, 101, 20);
 		contentPanel.add(replaceTextField);
 		replaceTextField.setColumns(10);
-		
-		//FindText
+
+		// FindText
 		findTextField = new JTextField();
 		findTextField.setBounds(76, 11, 101, 20);
 		contentPanel.add(findTextField);
 		findTextField.setColumns(10);
-		
+
 		JLabel lblNewLabel = new JLabel("Direction");
 		lblNewLabel.setFont(new Font("Tahoma", Font.BOLD, 13));
 		lblNewLabel.setBounds(10, 90, 82, 14);
 		contentPanel.add(lblNewLabel);
-		
+
 		JRadioButton rdbtnForward = new JRadioButton("Forward");
 		rdbtnForward.setFont(new Font("Tahoma", Font.PLAIN, 13));
 		rdbtnForward.setBounds(10, 111, 109, 23);
 		contentPanel.add(rdbtnForward);
 		rdbtnForward.setSelected(true);
-		
+
 		JRadioButton rdbtnBackward = new JRadioButton("Backward");
 		rdbtnBackward.setFont(new Font("Tahoma", Font.PLAIN, 13));
 		rdbtnBackward.setBounds(10, 137, 109, 23);
 		contentPanel.add(rdbtnBackward);
-		
+
 		JLabel lblScope = new JLabel("Scope");
 		lblScope.setFont(new Font("Tahoma", Font.BOLD, 13));
 		lblScope.setBounds(122, 90, 46, 14);
 		contentPanel.add(lblScope);
-		
+
 		JRadioButton rdbtnAll = new JRadioButton("All");
 		rdbtnAll.setFont(new Font("Tahoma", Font.PLAIN, 13));
 		rdbtnAll.setBounds(121, 112, 109, 23);
 		contentPanel.add(rdbtnAll);
 		rdbtnAll.setSelected(true);
-		
+
 		JRadioButton rdbtnSingle = new JRadioButton("Single");
 		rdbtnSingle.setFont(new Font("Tahoma", Font.PLAIN, 13));
 		rdbtnSingle.setBounds(121, 138, 109, 23);
 		contentPanel.add(rdbtnSingle);
-		
-		//FindButton
+
+		// FindButton
 		JButton btnFind = new JButton("Find");
 		btnFind.addActionListener(new ActionListener() {
 			public void actionPerformed(ActionEvent e) {
-				CpsObject cps = null;
-				if(rdbtnAll.isSelected()) {
-					
+				if (rdbtnAll.isSelected()) {
+					for (CpsObject cps : controller.getModel().getObjectsOnCanvas()) {
+
+						if (cps.getName().equals(findTextField.getText())
+								&& !controller.getModel().getSelectedCpsObjects().contains(cps)) {
+							controller.getModel().getSelectedCpsObjects().add(cps);
+						}
+
+					}
+					canvas.repaint();
 				}
-				if(rdbtnSingle.isSelected()) {
-					
-					if(rdbtnForward.isSelected()) {
-						
+				if (rdbtnSingle.isSelected()) {
+
+					if (rdbtnForward.isSelected()) {
+
 					}
-					if(rdbtnBackward.isSelected()) {
-						
+					if (rdbtnBackward.isSelected()) {
+
 					}
 				}
 			}
@@ -119,51 +127,77 @@ public class searchPopUp extends JDialog {
 		btnFind.setFont(new Font("Tahoma", Font.PLAIN, 13));
 		btnFind.setBounds(10, 186, 89, 23);
 		contentPanel.add(btnFind);
-		
-		//ReplaceButton
+
+		// ReplaceButton
 		JButton btnReplace = new JButton("Replace");
 		btnReplace.addActionListener(new ActionListener() {
 			public void actionPerformed(ActionEvent e) {
+				System.out.println("ID:" + controller.getModel().getSelectedObjectID());
+				System.out.println("SIZE:" + controller.getModel().getSelectedCpsObjects().size());
+				System.out.println(controller.searchByID(controller.getModel().getSelectedObjectID()).getName());
+				System.out.println(controller.getModel().getObjectsOnCanvas().get(0).getName());
+				
+				// controller.searchByID(controller.getModel().getSelectedObjectID()).setName(replaceTextField.getText());
+				canvas.repaint();
 			}
 		});
 		btnReplace.setFont(new Font("Tahoma", Font.PLAIN, 13));
 		btnReplace.setBounds(110, 187, 89, 23);
 		contentPanel.add(btnReplace);
-		
-		//ReplaceAllButton
+
+		// ReplaceAllButton
 		JButton btnReplaceAll = new JButton("Replace All");
 		btnReplaceAll.addActionListener(new ActionListener() {
 			public void actionPerformed(ActionEvent e) {
+				canvas.tempCps = null;
+				canvas.TempSelected = new ArrayList<>();
+				controller.getModel().getSelectedCpsObjects().clear();
+				
 				for (CpsObject cps : controller.getModel().getObjectsOnCanvas()) {
+					if (cps.getName().equals(findTextField.getText())
+							&& !controller.getModel().getSelectedCpsObjects().contains(cps))
+						selectObj(cps);
+				}
 
-					if(cps.getName().equals(findTextField.getText())) 
-						cps.setName(replaceTextField.getText());
+				for (CpsObject cps : controller.getModel().getSelectedCpsObjects()) {
+					renameObj(cps, replaceTextField.getText());
 				}
+
 				canvas.repaint();
 			}
 		});
 		btnReplaceAll.setFont(new Font("Tahoma", Font.PLAIN, 11));
 		btnReplaceAll.setBounds(110, 218, 89, 23);
 		contentPanel.add(btnReplaceAll);
-		
-		//CloseButton
+
+		// CloseButton
 		JButton btnClose = new JButton("Close");
 		btnClose.addActionListener(new ActionListener() {
 			public void actionPerformed(ActionEvent arg0) {
+
+
 				dispose();
 			}
 		});
 		btnClose.setFont(new Font("Tahoma", Font.PLAIN, 13));
 		btnClose.setBounds(110, 287, 89, 23);
 		contentPanel.add(btnClose);
-		
+
 		ButtonGroup directionbtns = new ButtonGroup();
 		ButtonGroup scopebtns = new ButtonGroup();
-		
+
 		directionbtns.add(rdbtnBackward);
 		directionbtns.add(rdbtnForward);
 		scopebtns.add(rdbtnSingle);
 		scopebtns.add(rdbtnAll);
 
 	}
+
+	public void selectObj(CpsObject obj) {
+		controller.getModel().getSelectedCpsObjects().add(obj);
+	}
+
+	public void renameObj(CpsObject obj, String name) {
+		obj.setName(name);
+	}
 }