All Downloads are FREE. Search and download functionalities are using the official Maven repository.

nl.cloudfarming.client.spray.windows.SprayTaskContextPanel Maven / Gradle / Ivy

/**
 * Copyright (C) 2008-2012 AgroSense Foundation.
 *
 * AgroSense is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * There are special exceptions to the terms and conditions of the GPLv3 as it is applied to
 * this software, see the FLOSS License Exception
 * .
 *
 * AgroSense is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with AgroSense.  If not, see .
 */
package nl.cloudfarming.client.spray.windows;

import java.awt.BorderLayout;
import java.awt.Insets;
import javax.swing.ListSelectionModel;
import nl.cloudfarming.client.field.model.Field;
import nl.cloudfarming.client.field.model.TreatmentZone;
import nl.cloudfarming.client.spray.FieldSelectButton;
import nl.cloudfarming.client.spray.ImplementSelectButton;
import nl.cloudfarming.client.spray.SprayTask;
import nl.cloudfarming.client.spray.TreatmentZoneSelectButton;
import nl.cloudfarming.client.spray.VehicleSelectButton;
import org.openide.util.NbBundle;

/**
 *
 * @author Maciek Dulkiewicz
 */
@NbBundle.Messages({
    "SprayTaskContextPanel_fieldsPanel_border_title=Fields",
    "SprayTaskContextPanel_treatmentZonesPanel_border_title=Treatment zones"
})
public class SprayTaskContextPanel extends javax.swing.JPanel {

    private SprayTask sprayTask;

    /**
     * Creates new form SprayTaskContextPanel
     */
    public SprayTaskContextPanel(SprayTask task) {
        initComponents();
        setTask(task);
        fieldsPanel.setBorderTitle(Bundle.SprayTaskContextPanel_fieldsPanel_border_title());
        treatmentZonesPanel.setBorderTitle(Bundle.SprayTaskContextPanel_treatmentZonesPanel_border_title());
    }

    public final void setTask(SprayTask task) {
        sprayTask = task;
        taskStatePanel.setTask(task);
        fieldsPanel.setTask(sprayTask, Field.class);
        treatmentZonesPanel.setTask(sprayTask, TreatmentZone.class);
        addEntityButtons();
    }

    private void addEntityButtons() {
        FieldSelectButton fieldButton = new FieldSelectButton(sprayTask, ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
        fieldButton.setMargin(new Insets(15, 15, 15, 15));
        fieldButton.showButtonText(false);
        fieldButtonPanel.setLayout(new BorderLayout());

        TreatmentZoneSelectButton treatmentZoneButton = new TreatmentZoneSelectButton(sprayTask, ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
        treatmentZoneButton.setMargin(new Insets(15, 15, 15, 15));
        treatmentZoneButton.showButtonText(false);
        treatmentZoneButtonPanel.setLayout(new BorderLayout());

        VehicleSelectButton vehicleButton = new VehicleSelectButton(sprayTask, ListSelectionModel.SINGLE_SELECTION);
        vehicleButton.setMargin(new Insets(15, 15, 15, 15));
        vehicleButton.showButtonText(false);
        vehicleButtonPanel.setLayout(new BorderLayout());

        ImplementSelectButton implementButton = new ImplementSelectButton(sprayTask, ListSelectionModel.SINGLE_SELECTION);
        implementButton.setMargin(new Insets(15, 15, 15, 15));
        implementButton.showButtonText(false);
        implementButtonPanel.setLayout(new BorderLayout());

        fieldButtonPanel.add(fieldButton);
        treatmentZoneButtonPanel.add(treatmentZoneButton);
        vehicleButtonPanel.add(vehicleButton);
        implementButtonPanel.add(implementButton);
    }

    /**
     * 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")
    // //GEN-BEGIN:initComponents
    private void initComponents() {

        taskStatePanel = new nl.cloudfarming.client.task.windows.TaskStatePanel();
        jPanel1 = new javax.swing.JPanel();
        vehicleLabel = new javax.swing.JLabel();
        implementLabel = new javax.swing.JLabel();
        cropProtectionLabel = new javax.swing.JLabel();
        vehicleValue = new javax.swing.JLabel();
        implementValue = new javax.swing.JLabel();
        cropProtectionValue = new javax.swing.JLabel();
        fieldsPanel = new nl.cloudfarming.client.task.windows.EntityPanel();
        treatmentZonesPanel = new nl.cloudfarming.client.task.windows.EntityPanel();
        fieldButtonPanel = new javax.swing.JPanel();
        treatmentZoneButtonPanel = new javax.swing.JPanel();
        vehicleButtonPanel = new javax.swing.JPanel();
        implementButtonPanel = new javax.swing.JPanel();

        jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder(org.openide.util.NbBundle.getMessage(SprayTaskContextPanel.class, "SprayTaskContextPanel.jPanel1.border.title"))); // NOI18N
        jPanel1.setMaximumSize(new java.awt.Dimension(32767, 200));

        org.openide.awt.Mnemonics.setLocalizedText(vehicleLabel, org.openide.util.NbBundle.getMessage(SprayTaskContextPanel.class, "SprayTaskContextPanel.vehicleLabel.text")); // NOI18N

        org.openide.awt.Mnemonics.setLocalizedText(implementLabel, org.openide.util.NbBundle.getMessage(SprayTaskContextPanel.class, "SprayTaskContextPanel.implementLabel.text")); // NOI18N

        org.openide.awt.Mnemonics.setLocalizedText(cropProtectionLabel, org.openide.util.NbBundle.getMessage(SprayTaskContextPanel.class, "SprayTaskContextPanel.cropProtectionLabel.text")); // NOI18N

        org.openide.awt.Mnemonics.setLocalizedText(vehicleValue, org.openide.util.NbBundle.getMessage(SprayTaskContextPanel.class, "SprayTaskContextPanel.vehicleValue.text")); // NOI18N

        org.openide.awt.Mnemonics.setLocalizedText(implementValue, org.openide.util.NbBundle.getMessage(SprayTaskContextPanel.class, "SprayTaskContextPanel.implementValue.text")); // NOI18N

        org.openide.awt.Mnemonics.setLocalizedText(cropProtectionValue, org.openide.util.NbBundle.getMessage(SprayTaskContextPanel.class, "SprayTaskContextPanel.cropProtectionValue.text")); // NOI18N

        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
        jPanel1.setLayout(jPanel1Layout);
        jPanel1Layout.setHorizontalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                    .addComponent(cropProtectionLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(vehicleLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(implementLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(vehicleValue, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(implementValue, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(cropProtectionValue, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
        );
        jPanel1Layout.setVerticalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(vehicleLabel)
                    .addComponent(vehicleValue))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(implementLabel)
                    .addComponent(implementValue))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(cropProtectionLabel)
                    .addComponent(cropProtectionValue)))
        );

        fieldButtonPanel.setMaximumSize(new java.awt.Dimension(100, 100));

        javax.swing.GroupLayout fieldButtonPanelLayout = new javax.swing.GroupLayout(fieldButtonPanel);
        fieldButtonPanel.setLayout(fieldButtonPanelLayout);
        fieldButtonPanelLayout.setHorizontalGroup(
            fieldButtonPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 100, Short.MAX_VALUE)
        );
        fieldButtonPanelLayout.setVerticalGroup(
            fieldButtonPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 100, Short.MAX_VALUE)
        );

        javax.swing.GroupLayout treatmentZoneButtonPanelLayout = new javax.swing.GroupLayout(treatmentZoneButtonPanel);
        treatmentZoneButtonPanel.setLayout(treatmentZoneButtonPanelLayout);
        treatmentZoneButtonPanelLayout.setHorizontalGroup(
            treatmentZoneButtonPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 100, Short.MAX_VALUE)
        );
        treatmentZoneButtonPanelLayout.setVerticalGroup(
            treatmentZoneButtonPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 100, Short.MAX_VALUE)
        );

        vehicleButtonPanel.setMaximumSize(new java.awt.Dimension(100, 100));

        javax.swing.GroupLayout vehicleButtonPanelLayout = new javax.swing.GroupLayout(vehicleButtonPanel);
        vehicleButtonPanel.setLayout(vehicleButtonPanelLayout);
        vehicleButtonPanelLayout.setHorizontalGroup(
            vehicleButtonPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 100, Short.MAX_VALUE)
        );
        vehicleButtonPanelLayout.setVerticalGroup(
            vehicleButtonPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 100, Short.MAX_VALUE)
        );

        implementButtonPanel.setMaximumSize(new java.awt.Dimension(100, 100));

        javax.swing.GroupLayout implementButtonPanelLayout = new javax.swing.GroupLayout(implementButtonPanel);
        implementButtonPanel.setLayout(implementButtonPanelLayout);
        implementButtonPanelLayout.setHorizontalGroup(
            implementButtonPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 100, Short.MAX_VALUE)
        );
        implementButtonPanelLayout.setVerticalGroup(
            implementButtonPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 100, Short.MAX_VALUE)
        );

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
        this.setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jPanel1, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addGroup(layout.createSequentialGroup()
                        .addComponent(fieldsPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(treatmentZonesPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                    .addComponent(taskStatePanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addGroup(layout.createSequentialGroup()
                        .addComponent(fieldButtonPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(18, 18, 18)
                        .addComponent(treatmentZoneButtonPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(18, 18, 18)
                        .addComponent(vehicleButtonPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(18, 18, 18)
                        .addComponent(implementButtonPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(0, 0, Short.MAX_VALUE)))
                .addContainerGap())
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(taskStatePanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(fieldsPanel, javax.swing.GroupLayout.DEFAULT_SIZE, 247, Short.MAX_VALUE)
                    .addComponent(treatmentZonesPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addComponent(fieldButtonPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(treatmentZoneButtonPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(vehicleButtonPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(implementButtonPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addContainerGap())
        );
    }// //GEN-END:initComponents
    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JLabel cropProtectionLabel;
    private javax.swing.JLabel cropProtectionValue;
    private javax.swing.JPanel fieldButtonPanel;
    private nl.cloudfarming.client.task.windows.EntityPanel fieldsPanel;
    private javax.swing.JPanel implementButtonPanel;
    private javax.swing.JLabel implementLabel;
    private javax.swing.JLabel implementValue;
    private javax.swing.JPanel jPanel1;
    private nl.cloudfarming.client.task.windows.TaskStatePanel taskStatePanel;
    private javax.swing.JPanel treatmentZoneButtonPanel;
    private nl.cloudfarming.client.task.windows.EntityPanel treatmentZonesPanel;
    private javax.swing.JPanel vehicleButtonPanel;
    private javax.swing.JLabel vehicleLabel;
    private javax.swing.JLabel vehicleValue;
    // End of variables declaration//GEN-END:variables
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy