Package no.ugland.utransprod.gui

Source Code of no.ugland.utransprod.gui.TransportView

package no.ugland.utransprod.gui;

import java.awt.Component;

import javax.swing.JCheckBox;
import javax.swing.JComboBox;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextField;

import no.ugland.utransprod.gui.handlers.TransportViewHandler;
import no.ugland.utransprod.gui.model.TransportModel;
import no.ugland.utransprod.model.ProductAreaGroup;
import no.ugland.utransprod.model.Transport;

import org.jdesktop.swingx.JXTable;

import com.jgoodies.binding.PresentationModel;
import com.jgoodies.forms.builder.PanelBuilder;
import com.jgoodies.forms.layout.CellConstraints;
import com.jgoodies.forms.layout.FormLayout;
import com.toedter.calendar.JDateChooser;

/**
* Klasse som h�ndterer visning av transportuke.
*
* @author atle.brekka
*/
public class TransportView {
  private JLabel labelName;

  private JDateChooser datePicker;

  private JXTable tableOrders;

  private TransportViewHandler viewHandler;

  private JCheckBox checkBoxSelection;

  private JCheckBox checkBoxSent;

  private JComboBox comboBoxSupplier;

  private JComboBox comboBoxEmployee;

  private JTextField textFieldLoadTime;

  private JTextField textFieldTrolley;

  /**
   * @param handler
   * @param transport
   */
  public TransportView(final TransportViewHandler handler,
      final Transport transport) {
    viewHandler = handler;
    viewHandler.setPresentationModel(new PresentationModel(
        new TransportModel(transport)));
  }

  /**
   * Initierer komponenter.
   *
   * @param window
   * @param number
   */
  private void initComponents(final WindowInterface window, final int number,
      final ProductAreaGroup productAreaGroup) {
    viewHandler.setWindowInterface(window);
    labelName = viewHandler.getLabelName();
    labelName.setName("LabelName");

    datePicker = viewHandler.getDatePicker();
    tableOrders = viewHandler.getTableOrders(window, number,
        productAreaGroup);

    checkBoxSelection = viewHandler.getSelectionCheckBox(number);
    checkBoxSent = viewHandler.getCheckBoxSent(window, number);
    comboBoxSupplier = viewHandler.getComboBoxSupplier(number);
    comboBoxEmployee = viewHandler.getComboBoxEmployee();
    textFieldLoadTime = viewHandler.getTextFieldLoadTime();
    textFieldTrolley = viewHandler.getTextFieldTrolley();
  }

  /**
   * Bygger panel
   *
   * @param window
   * @param number
   * @return panel
   */
  public final Component buildPanel(final WindowInterface window,
      final int number, ProductAreaGroup productAreaGroup) {
    initComponents(window, number, productAreaGroup);
    viewHandler.initEventHandling();

    int numberOfOrders = tableOrders.getRowCount();
    int tableSize = numberOfOrders * 25 + 25;

    FormLayout layout = new FormLayout("fill:100dlu:grow",
        "10dlu,p,3dlu,fill:" + tableSize + "dlu");
    PanelBuilder builder = new PanelBuilder(layout);
    // PanelBuilder builder = new PanelBuilder(new FormDebugPanel(),
    // layout);
    CellConstraints cc = new CellConstraints();

    builder.add(buildDetailPanel(), cc.xy(1, 2));
    builder.add(new JScrollPane(tableOrders), cc.xy(1, 4));
    return builder.getPanel();
  }

  /**
   * Bygger detaljpanel
   *
   * @return panel
   */
  private JPanel buildDetailPanel() {
    FormLayout layout = new FormLayout(
        "p,3dlu,5dlu,80dlu,3dlu,35dlu,5dlu,20dlu,3dlu,18dlu,3dlu,60dlu,3dlu,p,3dlu,25dlu",
        "p,3dlu,p");
    PanelBuilder builder = new PanelBuilder(layout);
    // PanelBuilder builder = new PanelBuilder(new FormDebugPanel(),layout);
    CellConstraints cc = new CellConstraints();

    builder.add(checkBoxSelection, cc.xy(1, 1));
    builder.add(labelName, cc.xyw(3, 1, 2));
    builder.add(checkBoxSent, cc.xy(6, 1));
    builder.addLabel("Opplasting:", cc.xyw(8, 1, 3));
    builder.add(datePicker, cc.xy(12, 1));
    builder.addLabel("Tid:", cc.xy(14, 1));
    builder.add(textFieldLoadTime, cc.xy(16, 1));
    builder.addLabel("Firma:", cc.xyw(1, 3, 3));
    builder.add(comboBoxSupplier, cc.xyw(4, 3, 3));
    builder.addLabel("Sj�f�r:", cc.xy(8, 3));
    builder.add(comboBoxEmployee, cc.xyw(10, 3, 3));
    builder.addLabel("Tralle:", cc.xy(14, 3));
    builder.add(textFieldTrolley, cc.xy(16, 3));

    return builder.getPanel();
  }

  public final void cleanUp() {
    datePicker.cleanup();

  }
}
TOP

Related Classes of no.ugland.utransprod.gui.TransportView

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.