Esempio n. 1
0
  private void optionsComboBoxActionPerformed(ActionEvent e) {
    try {
      final int rowNumber = relationNodesetTable.getSelectedRow();
      TableCellEditor cell = relationNodesetTable.getCellEditor(rowNumber, 2);

      if (cell.getCellEditorValue().equals("Base Node")) {
        String nodeName =
            (String)
                JOptionPane.showInputDialog(
                    getRootPane(),
                    "Enter the name of the node:",
                    "Create a Node",
                    JOptionPane.PLAIN_MESSAGE);
        if (nodeName != null) {
          String currentNodesetValue =
              relationNodesetTableModel.getValueAt(rowNumber, 1).toString();

          if (currentNodesetValue.isEmpty()) {
            relationNodesetTableModel.setValueAt(nodeName, rowNumber, 1);
          } else {
            relationNodesetTableModel.setValueAt(
                currentNodesetValue + ", " + nodeName, rowNumber, 1);
          }
        }

      } else if (cell.getCellEditorValue().equals("Variable Node")) {
        Node varNode = network.buildVariableNode();

        String currentNodesetValue = relationNodesetTableModel.getValueAt(rowNumber, 1).toString();

        if (currentNodesetValue.isEmpty()) {
          relationNodesetTableModel.setValueAt(varNode.getIdentifier(), rowNumber, 1);
        } else {
          relationNodesetTableModel.setValueAt(
              currentNodesetValue + ", " + varNode.getIdentifier(), rowNumber, 1);
        }
      } else if (cell.getCellEditorValue().equals("build")) {

        JFrame popupFrame = new JFrame("build");
        popupFrame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
        final cmdBuild buildPanel = new cmdBuild(network, frame, popupFrame);
        popupFrame.getContentPane().add(buildPanel);
        popupFrame.pack();
        popupFrame.setVisible(true);
        Point point = frame.getsNePSULPanel1().getMenuDrivenCommands().cascadePosition();
        popupFrame.setLocation(point);
        doneButton.setEnabled(false);
        popupFrame.addWindowListener(
            new WindowAdapter() {

              @Override
              public void windowClosed(WindowEvent e) {
                LinkedList<Node> nodes = buildPanel.getNodes();
                if (nodes.size() != 0) {
                  for (Node item : nodes) {

                    String currentNodesetValue =
                        relationNodesetTableModel.getValueAt(rowNumber, 1).toString();

                    if (currentNodesetValue.isEmpty()) {
                      relationNodesetTableModel.setValueAt(item.getIdentifier(), rowNumber, 1);
                    } else {
                      relationNodesetTableModel.setValueAt(
                          currentNodesetValue + ", " + item.getIdentifier(), rowNumber, 1);
                    }
                  }
                }

                frame.getsNePSULPanel1().getMenuDrivenCommands().cascadeBack();
                doneButton.setEnabled(true);
              }
            });

      } else if (cell.getCellEditorValue().equals("assert")) {
        JFrame popupFrame = new JFrame("assert");
        popupFrame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
        final cmdAssert assertPanel = new cmdAssert(network, frame, popupFrame);
        popupFrame.getContentPane().add(assertPanel);
        popupFrame.pack();
        popupFrame.setVisible(true);
        Point point = frame.getsNePSULPanel1().getMenuDrivenCommands().cascadePosition();
        popupFrame.setLocation(point);
        doneButton.setEnabled(false);
        popupFrame.addWindowListener(
            new WindowAdapter() {

              @Override
              public void windowClosed(WindowEvent e) {
                LinkedList<Node> nodes = assertPanel.getNodes();
                if (nodes.size() != 0) {
                  for (Node item : nodes) {

                    String currentNodesetValue =
                        relationNodesetTableModel.getValueAt(rowNumber, 1).toString();

                    if (currentNodesetValue.isEmpty()) {
                      relationNodesetTableModel.setValueAt(item.getIdentifier(), rowNumber, 1);
                    } else {
                      relationNodesetTableModel.setValueAt(
                          currentNodesetValue + ", " + item.getIdentifier(), rowNumber, 1);
                    }
                  }
                }

                frame.getsNePSULPanel1().getMenuDrivenCommands().cascadeBack();
                doneButton.setEnabled(true);
              }
            });

      } else if (cell.getCellEditorValue().equals("find")) {
        JFrame popupFrame = new JFrame("find");
        popupFrame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
        final cmdFind findPanel = new cmdFind(network, frame, popupFrame);
        popupFrame.getContentPane().add(findPanel);
        popupFrame.pack();
        popupFrame.setVisible(true);
        Point point = frame.getsNePSULPanel1().getMenuDrivenCommands().cascadePosition();
        popupFrame.setLocation(point);
        doneButton.setEnabled(false);
        popupFrame.addWindowListener(
            new WindowAdapter() {

              @Override
              public void windowClosed(WindowEvent e) {
                LinkedList<Node> nodes = findPanel.getNodes();
                if (nodes.size() != 0) {
                  for (Node item : nodes) {

                    String currentNodesetValue =
                        relationNodesetTableModel.getValueAt(rowNumber, 1).toString();

                    if (currentNodesetValue.isEmpty()) {
                      relationNodesetTableModel.setValueAt(item.getIdentifier(), rowNumber, 1);
                    } else {
                      relationNodesetTableModel.setValueAt(
                          currentNodesetValue + ", " + item.getIdentifier(), rowNumber, 1);
                    }
                  }
                }

                frame.getsNePSULPanel1().getMenuDrivenCommands().cascadeBack();
                doneButton.setEnabled(true);
              }
            });
      } else if (cell.getCellEditorValue().equals("Existing Node")) {
        Node node = frame.getsNePSULPanel1().getMenuDrivenCommands().existingNodes();
        if (node != null) {
          String currentNodesetValue =
              relationNodesetTableModel.getValueAt(rowNumber, 1).toString();

          if (currentNodesetValue.isEmpty()) {
            relationNodesetTableModel.setValueAt(node.getIdentifier(), rowNumber, 1);
          } else {
            relationNodesetTableModel.setValueAt(
                currentNodesetValue + ", " + node.getIdentifier(), rowNumber, 1);
          }
        }
      } else if (cell.getCellEditorValue().equals("Act Node")) {
        frame
            .getsNePSULPanel1()
            .getMenuDrivenCommands()
            .actNodes(this, relationNodesetTable, doneButton, relationNodesetTableModel);
      }
      relationNodesetTable.setValueAt(options.getItemAt(0), rowNumber, 2);
      validate();
    } catch (Exception e1) {
    }
  }