|
@@ -34,9 +34,11 @@ public class searchPopUp extends JDialog {
|
|
|
private JRadioButton rdbtnBackward;
|
|
|
private JRadioButton rdbtnAll;
|
|
|
private JRadioButton rdbtnSingle;
|
|
|
+ private int idx;
|
|
|
|
|
|
searchPopUp(Control contr, MyCanvas can) {
|
|
|
super((java.awt.Frame) null, true);
|
|
|
+ idx = -1;
|
|
|
setModalityType(java.awt.Dialog.ModalityType.APPLICATION_MODAL);
|
|
|
this.setTitle("Search for Objects");
|
|
|
setBounds(100, 100, 238, 360);
|
|
@@ -115,17 +117,25 @@ public class searchPopUp extends JDialog {
|
|
|
}
|
|
|
|
|
|
}
|
|
|
- canvas.repaint();
|
|
|
+
|
|
|
}
|
|
|
if (rdbtnSingle.isSelected()) {
|
|
|
+ controller.getModel().getSelectedCpsObjects().clear();
|
|
|
|
|
|
- if (rdbtnForward.isSelected()) {
|
|
|
+ if (!controller.getModel().getObjectsOnCanvas().isEmpty() && !findTextField.getText().isEmpty()) {
|
|
|
|
|
|
+ if (rdbtnForward.isSelected()) {
|
|
|
+ if ((idx = getNext(++idx)) != -1)
|
|
|
+ controller.getModel().getSelectedCpsObjects().add(getObj(idx));
|
|
|
+ } else if (rdbtnBackward.isSelected()) {
|
|
|
+ if ((idx = getPrev(--idx)) != -1)
|
|
|
+ controller.getModel().getSelectedCpsObjects().add(getObj(idx));
|
|
|
+ }
|
|
|
}
|
|
|
- if (rdbtnBackward.isSelected()) {
|
|
|
|
|
|
- }
|
|
|
}
|
|
|
+
|
|
|
+ canvas.repaint();
|
|
|
}
|
|
|
});
|
|
|
btnFind.setFont(new Font("Tahoma", Font.PLAIN, 13));
|
|
@@ -136,12 +146,10 @@ public class searchPopUp extends JDialog {
|
|
|
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());
|
|
|
-
|
|
|
-
|
|
|
+
|
|
|
+ if (controller.getModel().getSelectedCpsObjects().size() == 1 && controller.getModel()
|
|
|
+ .getSelectedCpsObjects().get(0).getName().equals(findTextField.getText()))
|
|
|
+ controller.getModel().getSelectedCpsObjects().get(0).setName(replaceTextField.getText());
|
|
|
canvas.repaint();
|
|
|
}
|
|
|
});
|
|
@@ -156,7 +164,7 @@ public class searchPopUp extends JDialog {
|
|
|
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))
|
|
@@ -195,11 +203,67 @@ public class searchPopUp extends JDialog {
|
|
|
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+ *
|
|
|
+ * @param obj
|
|
|
+ */
|
|
|
public void selectObj(CpsObject obj) {
|
|
|
controller.getModel().getSelectedCpsObjects().add(obj);
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+ *
|
|
|
+ * @param obj
|
|
|
+ * @param name
|
|
|
+ */
|
|
|
public void renameObj(CpsObject obj, String name) {
|
|
|
obj.setName(name);
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+ *
|
|
|
+ * @param idx
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public CpsObject getObj(int idx) {
|
|
|
+ return controller.getModel().getObjectsOnCanvas().get(idx);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ *
|
|
|
+ * @param idx
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public int getNext(int idx) {
|
|
|
+ for (int i = idx; i < controller.getModel().getObjectsOnCanvas().size(); i++) {
|
|
|
+ if (getObj(i).getName().equals(findTextField.getText())
|
|
|
+ && !controller.getModel().getSelectedCpsObjects().contains(getObj(i)))
|
|
|
+ return i;
|
|
|
+ }
|
|
|
+ for (int i = 0; i < idx; i++) {
|
|
|
+ if (getObj(i).getName().equals(findTextField.getText())
|
|
|
+ && !controller.getModel().getSelectedCpsObjects().contains(getObj(i)))
|
|
|
+ return i;
|
|
|
+ }
|
|
|
+ return -1;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ *
|
|
|
+ * @param idx
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public int getPrev(int idx) {
|
|
|
+ for (int i = idx; i >= 0; i--) {
|
|
|
+ if (getObj(i).getName().equals(findTextField.getText())
|
|
|
+ && !controller.getModel().getSelectedCpsObjects().contains(getObj(i)))
|
|
|
+ return i;
|
|
|
+ }
|
|
|
+ for (int i = controller.getModel().getObjectsOnCanvas().size() - 1; i > idx; i--) {
|
|
|
+ if (getObj(i).getName().equals(findTextField.getText())
|
|
|
+ && !controller.getModel().getSelectedCpsObjects().contains(getObj(i)))
|
|
|
+ return i;
|
|
|
+ }
|
|
|
+ return -1;
|
|
|
+ }
|
|
|
}
|