Search in sources :

Example 1 with Point

use of org.opentcs.data.model.Point in project opentcs-integration-example by openTCS.

the class ControlPanel method initComponents.

/**
 * This method is called from within the constructor to
 * initialize the form.
 * WARNING: Do NOT modify this code. The content of this method is
 * always regenerated by the Form Editor.
 */
@SuppressWarnings("unchecked")
private // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
void initComponents() {
    java.awt.GridBagConstraints gridBagConstraints;
    connectionSettingsPanel = new javax.swing.JPanel();
    enableAdapterCheckBox = new javax.swing.JCheckBox();
    hostLabel = new javax.swing.JLabel();
    hostTextField = new javax.swing.JTextField();
    connectedButton = new javax.swing.JButton();
    portLabel = new javax.swing.JLabel();
    portTextField = new javax.swing.JTextField();
    activeButton = new javax.swing.JButton();
    aliveTimeoutLable = new javax.swing.JLabel();
    aliveTimeoutTextField = new javax.swing.JTextField();
    disconnectOnTimeoutChkBox = new javax.swing.JCheckBox();
    reconnectOnConnectionLossChkBox = new javax.swing.JCheckBox();
    enableLoggingChkBox = new javax.swing.JCheckBox();
    connectionSettingsPanelFiller = new javax.swing.Box.Filler(new java.awt.Dimension(0, 0), new java.awt.Dimension(0, 0), new java.awt.Dimension(32767, 32767));
    setOrderPanel = new javax.swing.JPanel();
    destinationLabel = new javax.swing.JLabel();
    destinationComboBox = new javax.swing.JComboBox<>();
    actionLabel = new javax.swing.JLabel();
    actionComboBox = new javax.swing.JComboBox<>();
    orderIdLabel = new javax.swing.JLabel();
    orderIdTextField = new javax.swing.JTextField();
    sendOrderButton = new javax.swing.JButton();
    setOrderPanelFiller = new javax.swing.Box.Filler(new java.awt.Dimension(0, 0), new java.awt.Dimension(0, 0), new java.awt.Dimension(32767, 32767));
    repeatOrderPanel = new javax.swing.JPanel();
    lastOrdersScrollPane = new javax.swing.JScrollPane();
    lastOrdersList = new javax.swing.JList<>();
    lastOrderDetailsPanel = new javax.swing.JPanel();
    destinationLabel1 = new javax.swing.JLabel();
    lastDestinationTextField = new javax.swing.JTextField();
    actionLabel1 = new javax.swing.JLabel();
    lastActionTextField = new javax.swing.JTextField();
    lastOrderIdLabel = new javax.swing.JLabel();
    lastOrderIdTextField = new javax.swing.JTextField();
    repeatLastOrderButton = new javax.swing.JButton();
    // NOI18N
    java.util.ResourceBundle bundle = java.util.ResourceBundle.getBundle("com/example/commadapter/vehicle/Bundle");
    // NOI18N
    connectionSettingsPanel.setBorder(javax.swing.BorderFactory.createTitledBorder(null, bundle.getString("VehicleConnectionTitle"), javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Tahoma", 1, 11)));
    connectionSettingsPanel.setLayout(new java.awt.GridBagLayout());
    // NOI18N
    enableAdapterCheckBox.setText(bundle.getString("EnableAdapter"));
    enableAdapterCheckBox.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            enableAdapterCheckBoxActionPerformed(evt);
        }
    });
    connectionSettingsPanel.add(enableAdapterCheckBox, new java.awt.GridBagConstraints());
    // NOI18N
    hostLabel.setText(bundle.getString("VehicleIpAddress"));
    gridBagConstraints = new java.awt.GridBagConstraints();
    gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST;
    gridBagConstraints.insets = new java.awt.Insets(0, 3, 0, 3);
    connectionSettingsPanel.add(hostLabel, gridBagConstraints);
    hostTextField.setColumns(12);
    hostTextField.setText("XXX.XXX.XXX.XXX");
    gridBagConstraints = new java.awt.GridBagConstraints();
    gridBagConstraints.gridx = 2;
    gridBagConstraints.gridy = 0;
    gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
    gridBagConstraints.insets = new java.awt.Insets(0, 0, 3, 3);
    connectionSettingsPanel.add(hostTextField, gridBagConstraints);
    // NOI18N
    connectedButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/example/commadapter/vehicle/res/symbols/LEDGray.gif")));
    // NOI18N
    connectedButton.setText(bundle.getString("AdapterConnected"));
    connectedButton.setBorderPainted(false);
    // NOI18N
    connectedButton.setDisabledIcon(new javax.swing.ImageIcon(getClass().getResource("/com/example/commadapter/vehicle/res/symbols/LEDRed.gif")));
    // NOI18N
    connectedButton.setDisabledSelectedIcon(new javax.swing.ImageIcon(getClass().getResource("/com/example/commadapter/vehicle/res/symbols/LEDGreen.gif")));
    connectedButton.setEnabled(false);
    gridBagConstraints = new java.awt.GridBagConstraints();
    gridBagConstraints.gridx = 0;
    gridBagConstraints.gridy = 1;
    gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
    connectionSettingsPanel.add(connectedButton, gridBagConstraints);
    // NOI18N
    portLabel.setText(bundle.getString("VehicleTcpPort"));
    gridBagConstraints = new java.awt.GridBagConstraints();
    gridBagConstraints.gridx = 1;
    gridBagConstraints.gridy = 1;
    gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST;
    gridBagConstraints.insets = new java.awt.Insets(0, 3, 0, 3);
    connectionSettingsPanel.add(portLabel, gridBagConstraints);
    portTextField.setColumns(6);
    portTextField.setDocument(new PlainDocument() {

        @Override
        public void insertString(int offs, String str, AttributeSet a) throws BadLocationException {
            try {
                String oldString = getText(0, getLength());
                StringBuilder newString = new StringBuilder(oldString);
                newString.insert(offs, str);
                int newValue = Integer.parseInt(newString.toString());
                if (newValue >= 1 && newValue <= 65535) {
                    super.insertString(offs, str, a);
                }
            } catch (NumberFormatException e) {
            }
        }
    });
    portTextField.setText("XXXXX");
    gridBagConstraints = new java.awt.GridBagConstraints();
    gridBagConstraints.gridx = 2;
    gridBagConstraints.gridy = 1;
    gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
    gridBagConstraints.insets = new java.awt.Insets(0, 0, 3, 3);
    connectionSettingsPanel.add(portTextField, gridBagConstraints);
    // NOI18N
    activeButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/example/commadapter/vehicle/res/symbols/LEDGray.gif")));
    // NOI18N
    activeButton.setText(bundle.getString("ControlPanel.AdapterActive"));
    activeButton.setBorderPainted(false);
    // NOI18N
    activeButton.setDisabledIcon(new javax.swing.ImageIcon(getClass().getResource("/com/example/commadapter/vehicle/res/symbols/LEDRed.gif")));
    // NOI18N
    activeButton.setDisabledSelectedIcon(new javax.swing.ImageIcon(getClass().getResource("/com/example/commadapter/vehicle/res/symbols/LEDGreen.gif")));
    activeButton.setEnabled(false);
    gridBagConstraints = new java.awt.GridBagConstraints();
    gridBagConstraints.gridx = 0;
    gridBagConstraints.gridy = 2;
    gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
    connectionSettingsPanel.add(activeButton, gridBagConstraints);
    // NOI18N
    aliveTimeoutLable.setText(bundle.getString("ControlPanel.IdleAfter"));
    gridBagConstraints = new java.awt.GridBagConstraints();
    gridBagConstraints.gridx = 1;
    gridBagConstraints.gridy = 2;
    gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST;
    gridBagConstraints.insets = new java.awt.Insets(0, 3, 0, 3);
    connectionSettingsPanel.add(aliveTimeoutLable, gridBagConstraints);
    aliveTimeoutTextField.setColumns(6);
    aliveTimeoutTextField.setDocument(new PlainDocument() {

        @Override
        public void insertString(int offs, String str, AttributeSet a) throws BadLocationException {
            try {
                Integer.parseInt(str);
                super.insertString(offs, str, a);
            } catch (NumberFormatException e) {
            }
        }
    });
    aliveTimeoutTextField.setText("XXXXX");
    gridBagConstraints = new java.awt.GridBagConstraints();
    gridBagConstraints.gridx = 2;
    gridBagConstraints.gridy = 2;
    gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
    gridBagConstraints.insets = new java.awt.Insets(0, 0, 3, 3);
    connectionSettingsPanel.add(aliveTimeoutTextField, gridBagConstraints);
    // NOI18N
    disconnectOnTimeoutChkBox.setText(bundle.getString("ControlPanel.DisconnectOnTimeout"));
    disconnectOnTimeoutChkBox.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            disconnectOnTimeoutChkBoxActionPerformed(evt);
        }
    });
    gridBagConstraints = new java.awt.GridBagConstraints();
    gridBagConstraints.gridx = 0;
    gridBagConstraints.gridy = 3;
    gridBagConstraints.gridwidth = 2;
    gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
    connectionSettingsPanel.add(disconnectOnTimeoutChkBox, gridBagConstraints);
    // NOI18N
    reconnectOnConnectionLossChkBox.setText(bundle.getString("ControlPanel.DisconnectOnConnectionLoss"));
    reconnectOnConnectionLossChkBox.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            reconnectOnConnectionLossChkBoxActionPerformed(evt);
        }
    });
    gridBagConstraints = new java.awt.GridBagConstraints();
    gridBagConstraints.gridx = 0;
    gridBagConstraints.gridy = 4;
    gridBagConstraints.gridwidth = 2;
    gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
    connectionSettingsPanel.add(reconnectOnConnectionLossChkBox, gridBagConstraints);
    // NOI18N
    enableLoggingChkBox.setText(bundle.getString("ControlPanel.EnableLogging"));
    enableLoggingChkBox.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            enableLoggingChkBoxActionPerformed(evt);
        }
    });
    gridBagConstraints = new java.awt.GridBagConstraints();
    gridBagConstraints.gridx = 0;
    gridBagConstraints.gridy = 5;
    gridBagConstraints.gridwidth = 2;
    gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
    connectionSettingsPanel.add(enableLoggingChkBox, gridBagConstraints);
    gridBagConstraints = new java.awt.GridBagConstraints();
    gridBagConstraints.gridx = 3;
    gridBagConstraints.gridy = 0;
    gridBagConstraints.gridheight = 6;
    gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
    gridBagConstraints.weightx = 1.0;
    connectionSettingsPanel.add(connectionSettingsPanelFiller, gridBagConstraints);
    // NOI18N
    setOrderPanel.setBorder(javax.swing.BorderFactory.createTitledBorder(null, bundle.getString("NewOrderTelegramTitle"), javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Tahoma", 1, 11)));
    setOrderPanel.setLayout(new java.awt.GridBagLayout());
    // NOI18N
    destinationLabel.setText(bundle.getString("OrderDestination"));
    gridBagConstraints = new java.awt.GridBagConstraints();
    gridBagConstraints.gridx = 0;
    gridBagConstraints.gridy = 0;
    gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST;
    gridBagConstraints.insets = new java.awt.Insets(0, 3, 0, 3);
    setOrderPanel.add(destinationLabel, gridBagConstraints);
    destinationComboBox.setEditable(true);
    destinationComboBox.setEditor(new TCSObjectComboBoxEditor());
    destinationComboBox.setRenderer(new StringListCellRenderer<Point>(point -> point.getName()));
    gridBagConstraints = new java.awt.GridBagConstraints();
    gridBagConstraints.gridx = 1;
    gridBagConstraints.gridy = 0;
    gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
    gridBagConstraints.insets = new java.awt.Insets(0, 0, 3, 3);
    setOrderPanel.add(destinationComboBox, gridBagConstraints);
    // NOI18N
    actionLabel.setText(bundle.getString("OrderAction"));
    gridBagConstraints = new java.awt.GridBagConstraints();
    gridBagConstraints.gridx = 0;
    gridBagConstraints.gridy = 1;
    gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST;
    gridBagConstraints.insets = new java.awt.Insets(0, 3, 0, 3);
    setOrderPanel.add(actionLabel, gridBagConstraints);
    gridBagConstraints = new java.awt.GridBagConstraints();
    gridBagConstraints.gridx = 1;
    gridBagConstraints.gridy = 1;
    gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
    gridBagConstraints.insets = new java.awt.Insets(0, 0, 3, 3);
    setOrderPanel.add(actionComboBox, gridBagConstraints);
    // NOI18N
    orderIdLabel.setText(bundle.getString("OrderID"));
    gridBagConstraints = new java.awt.GridBagConstraints();
    gridBagConstraints.gridx = 0;
    gridBagConstraints.gridy = 2;
    gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST;
    gridBagConstraints.insets = new java.awt.Insets(0, 3, 0, 3);
    setOrderPanel.add(orderIdLabel, gridBagConstraints);
    orderIdTextField.setColumns(6);
    orderIdTextField.setText("1");
    gridBagConstraints = new java.awt.GridBagConstraints();
    gridBagConstraints.gridx = 1;
    gridBagConstraints.gridy = 2;
    gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
    gridBagConstraints.insets = new java.awt.Insets(0, 0, 3, 3);
    setOrderPanel.add(orderIdTextField, gridBagConstraints);
    // NOI18N
    sendOrderButton.setText(bundle.getString("SendNewOrder"));
    sendOrderButton.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            sendOrderButtonActionPerformed(evt);
        }
    });
    gridBagConstraints = new java.awt.GridBagConstraints();
    gridBagConstraints.gridx = 0;
    gridBagConstraints.gridy = 3;
    gridBagConstraints.gridwidth = 2;
    gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
    gridBagConstraints.insets = new java.awt.Insets(0, 3, 3, 3);
    setOrderPanel.add(sendOrderButton, gridBagConstraints);
    gridBagConstraints = new java.awt.GridBagConstraints();
    gridBagConstraints.gridx = 2;
    gridBagConstraints.gridy = 0;
    gridBagConstraints.gridheight = 4;
    gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
    gridBagConstraints.weightx = 1.0;
    setOrderPanel.add(setOrderPanelFiller, gridBagConstraints);
    // NOI18N
    repeatOrderPanel.setBorder(javax.swing.BorderFactory.createTitledBorder(null, bundle.getString("LastOrderTelegramTitle"), javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Tahoma", 1, 11)));
    repeatOrderPanel.setMinimumSize(new java.awt.Dimension(199, 170));
    lastOrdersList.setModel(lastOrderListModel);
    lastOrdersList.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION);
    lastOrdersList.setCellRenderer(new OrderListCellRenderer());
    lastOrdersScrollPane.setViewportView(lastOrdersList);
    lastOrdersList.addListSelectionListener(new javax.swing.event.ListSelectionListener() {

        public void valueChanged(javax.swing.event.ListSelectionEvent evt) {
            lastOrdersSentValueChanged(evt);
        }
    });
    lastOrdersScrollPane.setViewportView(lastOrdersList);
    lastOrderDetailsPanel.setLayout(new java.awt.GridBagLayout());
    // NOI18N
    destinationLabel1.setText(bundle.getString("OrderDestination"));
    gridBagConstraints = new java.awt.GridBagConstraints();
    gridBagConstraints.gridx = 0;
    gridBagConstraints.gridy = 0;
    gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST;
    gridBagConstraints.insets = new java.awt.Insets(0, 3, 0, 3);
    lastOrderDetailsPanel.add(destinationLabel1, gridBagConstraints);
    lastDestinationTextField.setEditable(false);
    lastDestinationTextField.setColumns(12);
    lastDestinationTextField.setHorizontalAlignment(javax.swing.JTextField.RIGHT);
    gridBagConstraints = new java.awt.GridBagConstraints();
    gridBagConstraints.gridx = 1;
    gridBagConstraints.gridy = 0;
    gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
    gridBagConstraints.insets = new java.awt.Insets(0, 0, 3, 3);
    lastOrderDetailsPanel.add(lastDestinationTextField, gridBagConstraints);
    // NOI18N
    actionLabel1.setText(bundle.getString("OrderAction"));
    gridBagConstraints = new java.awt.GridBagConstraints();
    gridBagConstraints.gridx = 0;
    gridBagConstraints.gridy = 9;
    gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST;
    gridBagConstraints.insets = new java.awt.Insets(0, 3, 0, 3);
    lastOrderDetailsPanel.add(actionLabel1, gridBagConstraints);
    lastActionTextField.setEditable(false);
    lastActionTextField.setColumns(12);
    lastActionTextField.setHorizontalAlignment(javax.swing.JTextField.RIGHT);
    gridBagConstraints = new java.awt.GridBagConstraints();
    gridBagConstraints.gridx = 1;
    gridBagConstraints.gridy = 9;
    gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
    gridBagConstraints.insets = new java.awt.Insets(0, 0, 3, 3);
    lastOrderDetailsPanel.add(lastActionTextField, gridBagConstraints);
    // NOI18N
    lastOrderIdLabel.setText(bundle.getString("OrderID"));
    gridBagConstraints = new java.awt.GridBagConstraints();
    gridBagConstraints.gridx = 0;
    gridBagConstraints.gridy = 11;
    gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST;
    gridBagConstraints.insets = new java.awt.Insets(0, 3, 0, 3);
    lastOrderDetailsPanel.add(lastOrderIdLabel, gridBagConstraints);
    lastOrderIdTextField.setEditable(false);
    lastOrderIdTextField.setColumns(6);
    gridBagConstraints = new java.awt.GridBagConstraints();
    gridBagConstraints.gridx = 1;
    gridBagConstraints.gridy = 11;
    gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
    gridBagConstraints.insets = new java.awt.Insets(0, 0, 3, 3);
    lastOrderDetailsPanel.add(lastOrderIdTextField, gridBagConstraints);
    // NOI18N
    repeatLastOrderButton.setText(bundle.getString("SendLastOrderAgain"));
    repeatLastOrderButton.setEnabled(false);
    repeatLastOrderButton.addActionListener(new java.awt.event.ActionListener() {

        public void actionPerformed(java.awt.event.ActionEvent evt) {
            repeatLastOrderButtonActionPerformed(evt);
        }
    });
    gridBagConstraints = new java.awt.GridBagConstraints();
    gridBagConstraints.gridx = 0;
    gridBagConstraints.gridy = 12;
    gridBagConstraints.gridwidth = 2;
    gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
    gridBagConstraints.insets = new java.awt.Insets(0, 3, 3, 3);
    lastOrderDetailsPanel.add(repeatLastOrderButton, gridBagConstraints);
    javax.swing.GroupLayout repeatOrderPanelLayout = new javax.swing.GroupLayout(repeatOrderPanel);
    repeatOrderPanel.setLayout(repeatOrderPanelLayout);
    repeatOrderPanelLayout.setHorizontalGroup(repeatOrderPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(repeatOrderPanelLayout.createSequentialGroup().addComponent(lastOrdersScrollPane, javax.swing.GroupLayout.PREFERRED_SIZE, 166, javax.swing.GroupLayout.PREFERRED_SIZE).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED).addComponent(lastOrderDetailsPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE).addGap(0, 0, 0)));
    repeatOrderPanelLayout.setVerticalGroup(repeatOrderPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(repeatOrderPanelLayout.createSequentialGroup().addGroup(repeatOrderPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false).addComponent(lastOrdersScrollPane).addComponent(lastOrderDetailsPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)).addGap(0, 0, 0)));
    javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
    this.setLayout(layout);
    layout.setHorizontalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(layout.createSequentialGroup().addGap(0, 0, 0).addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(layout.createSequentialGroup().addComponent(connectionSettingsPanel, javax.swing.GroupLayout.PREFERRED_SIZE, 380, javax.swing.GroupLayout.PREFERRED_SIZE).addGap(6, 6, 6).addComponent(setOrderPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)).addComponent(repeatOrderPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)).addGap(0, 0, 0)));
    layout.setVerticalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(layout.createSequentialGroup().addGap(0, 0, 0).addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addComponent(connectionSettingsPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE).addComponent(setOrderPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)).addGap(6, 6, 6).addComponent(repeatOrderPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE).addContainerGap(85, Short.MAX_VALUE)));
    // NOI18N
    getAccessibleContext().setAccessibleName(bundle.getString("ControlsPanelTitle"));
}
Also used : SetDisconnectingOnVehicleIdleCommand(com.example.commadapter.vehicle.exchange.commands.SetDisconnectingOnVehicleIdleCommand) SetReconnectingOnConnectionLossCommand(com.example.commadapter.vehicle.exchange.commands.SetReconnectingOnConnectionLossCommand) SetVehicleHostCommand(com.example.commadapter.vehicle.exchange.commands.SetVehicleHostCommand) Comparators(org.opentcs.util.Comparators) VehicleProcessModel(org.opentcs.drivers.vehicle.VehicleProcessModel) LoggerFactory(org.slf4j.LoggerFactory) VehicleProcessModelTO(org.opentcs.drivers.vehicle.management.VehicleProcessModelTO) SendRequestCommand(com.example.commadapter.vehicle.exchange.commands.SendRequestCommand) ServiceCallWrapper(org.opentcs.customizations.ServiceCallWrapper) ExampleProcessModel(com.example.commadapter.vehicle.ExampleProcessModel) Assisted(com.google.inject.assistedinject.Assisted) Inject(javax.inject.Inject) Strings(com.google.common.base.Strings) OrderRequest(com.example.commadapter.vehicle.telegrams.OrderRequest) SwingUtilities(javax.swing.SwingUtilities) VehicleService(org.opentcs.components.kernel.services.VehicleService) StringListCellRenderer(org.opentcs.util.gui.StringListCellRenderer) Objects.requireNonNull(java.util.Objects.requireNonNull) SetIdleTimeoutCommand(com.example.commadapter.vehicle.exchange.commands.SetIdleTimeoutCommand) AttributeSet(javax.swing.text.AttributeSet) VehicleCommAdapterPanel(org.opentcs.drivers.vehicle.management.VehicleCommAdapterPanel) Logger(org.slf4j.Logger) SetVehiclePortCommand(com.example.commadapter.vehicle.exchange.commands.SetVehiclePortCommand) BadLocationException(javax.swing.text.BadLocationException) SetLoggingEnabledCommand(com.example.commadapter.vehicle.exchange.commands.SetLoggingEnabledCommand) JOptionPane(javax.swing.JOptionPane) PlainDocument(javax.swing.text.PlainDocument) Objects(java.util.Objects) DefaultListModel(javax.swing.DefaultListModel) Point(org.opentcs.data.model.Point) AdapterCommand(org.opentcs.drivers.vehicle.AdapterCommand) CallWrapper(org.opentcs.util.CallWrapper) Point(org.opentcs.data.model.Point) PlainDocument(javax.swing.text.PlainDocument) Point(org.opentcs.data.model.Point) AttributeSet(javax.swing.text.AttributeSet) BadLocationException(javax.swing.text.BadLocationException)

Example 2 with Point

use of org.opentcs.data.model.Point in project opentcs-integration-example by openTCS.

the class StatisticsEventLogger method processPointEvent.

/**
 * Processes an event for a {@link Point} if it is interesting.
 *
 * @param event The event to be processed.
 */
private void processPointEvent(TCSObjectEvent event) {
    if (event.getPreviousObjectState() == null || event.getCurrentObjectState() == null) {
        // We cannot compare two states to find out what happened - ignore.
        return;
    }
    Point pointOld = (Point) event.getPreviousObjectState();
    Point pointNow = (Point) event.getCurrentObjectState();
    // Did a vehicle arrive at this point?
    if (pointNow.getOccupyingVehicle() != null && pointOld.getOccupyingVehicle() == null) {
        writeEvent(StatisticsEvent.POINT_OCCUPIED, pointNow.getName());
    }
    // Did a vehicle leave this point?
    if (pointNow.getOccupyingVehicle() == null && pointOld.getOccupyingVehicle() != null) {
        writeEvent(StatisticsEvent.POINT_FREED, pointNow.getName());
    }
}
Also used : Point(org.opentcs.data.model.Point)

Example 3 with Point

use of org.opentcs.data.model.Point in project OpenTCS-4 by touchmii.

the class DoorController method getOpenDoor.

public static List<Point> getOpenDoor(DriveOrder driveOrder) {
    List<Route.Step> doorList = checkPassDoor(driveOrder);
    List<Point> openDoorList = new ArrayList<>();
    List<Route.Step> stepList = driveOrder.getRoute().getSteps();
    String doorName;
    for (Route.Step doorStep : doorList) {
        int index = driveOrder.getRoute().getSteps().indexOf(doorStep);
        doorName = doorStep.getDestinationPoint().getProperty("door");
        // if (doorList.size() - doorList.indexOf(doorStep) > 0) {
        // int nextdoorIndex = stepList.indexOf(doorList.get(doorList.indexOf(doorStep)+1));
        // if (stepList.indexOf(doorList.get(nextdoorIndex)) - index < 4) {
        // 
        // }
        // }
        String p = null;
        if (index < 1) {
            index = 1;
        } else {
            p = doorStep.getSourcePoint().getProperty("dis");
        }
        if (p != null && p.equals("0")) {
            openDoorList.add(doorStep.getSourcePoint().withProperty("door", doorName).withProperty("action", "open"));
        } else {
            openDoorList.add(driveOrder.getRoute().getSteps().get(index - 1).getSourcePoint().withProperty("door", doorName).withProperty("action", "open"));
        }
    }
    return openDoorList;
}
Also used : ArrayList(java.util.ArrayList) Point(org.opentcs.data.model.Point) Route(org.opentcs.data.order.Route) Point(org.opentcs.data.model.Point)

Example 4 with Point

use of org.opentcs.data.model.Point in project OpenTCS-4 by touchmii.

the class DoorTruck method runActualTask.

@Override
protected void runActualTask() {
    curPoint = processModel.getVehiclePosition();
    try {
        if (pointQueue.peek() != null && pointQueue.peek().getName().equals(curPoint)) {
            Point point = pointQueue.poll();
            LOG.info("door: {} action: {} in point: {}", point.getProperty("door"), point.getProperty("action"), curPoint);
            doorAction(point.getProperty("door"), point.getProperty("action"));
        }
        if (recheckOpenQueue.size() > 0) {
            String doorName = recheckOpenQueue.peek();
            // doorAction(doorName, "open");
            // LOG.info("recheck open door: {}", doorName);
            open_timer.schedule(new CheckOpen(doorName), 500);
        }
        if (recheckCloseQueue.size() > 0) {
            String doorName = recheckCloseQueue.peek();
            open_timer.schedule(new CheckClose(doorName), 1000);
        }
    } catch (Exception e) {
        LOG.error("doorTruck error: {}", e.getMessage());
    }
}
Also used : Point(org.opentcs.data.model.Point)

Example 5 with Point

use of org.opentcs.data.model.Point in project OpenTCS-4 by touchmii.

the class ConfigRouteTest method newDriverOrder.

public DriveOrder newDriverOrder(List<Triple> tripleList) {
    List<Route.Step> stepsList = new ArrayList<>();
    Point destPoint = null;
    for (int i = 0; i < tripleList.size() - 1; i++) {
        Point pointa = new Point(String.valueOf(i)).withPosition(tripleList.get(i));
        Point pointb = new Point(String.valueOf(i + 1)).withPosition(tripleList.get(i + 1));
        if (i == 3) {
            pointb.withProperty("door", "JN2");
        }
        stepsList.add(new Route.Step(new Path("Path" + String.valueOf(i), pointa.getReference(), pointb.getReference()), pointa, pointb, Vehicle.Orientation.FORWARD, i));
        if (i + 2 == tripleList.size()) {
            destPoint = pointb;
        }
    }
    Route route = new Route(stepsList, stepsList.size());
    DriveOrder driveOrder = new DriveOrder(new DriveOrder.Destination(destPoint.getReference())).withRoute(route);
    return driveOrder;
}
Also used : Path(org.opentcs.data.model.Path) ArrayList(java.util.ArrayList) DriveOrder(org.opentcs.data.order.DriveOrder) Point(org.opentcs.data.model.Point) Point(org.opentcs.data.model.Point) Route(org.opentcs.data.order.Route)

Aggregations

Point (org.opentcs.data.model.Point)262 Vehicle (org.opentcs.data.model.Vehicle)80 DriveOrder (org.opentcs.data.order.DriveOrder)58 Path (org.opentcs.data.model.Path)54 Route (org.opentcs.data.order.Route)51 ArrayList (java.util.ArrayList)47 TransportOrder (org.opentcs.data.order.TransportOrder)38 HashSet (java.util.HashSet)29 LinkedList (java.util.LinkedList)28 Location (org.opentcs.data.model.Location)27 AssignmentCandidate (org.opentcs.strategies.basic.dispatching.AssignmentCandidate)24 Objects.requireNonNull (java.util.Objects.requireNonNull)21 List (java.util.List)19 Inject (javax.inject.Inject)19 Triple (org.opentcs.data.model.Triple)19 Logger (org.slf4j.Logger)19 LoggerFactory (org.slf4j.LoggerFactory)19 Collectors (java.util.stream.Collectors)18 ObjectUnknownException (org.opentcs.data.ObjectUnknownException)17 Step (org.opentcs.data.order.Route.Step)17