Package no.ugland.utransprod.gui

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

package no.ugland.utransprod.gui;

import javax.swing.JButton;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.table.TableColumn;

import no.ugland.utransprod.gui.handlers.OrderArticleViewHandler;

import org.jdesktop.swingx.JXTreeTable;

import com.jgoodies.forms.builder.ButtonStackBuilder;
import com.jgoodies.forms.builder.PanelBuilder;
import com.jgoodies.forms.factories.ButtonBarFactory;
import com.jgoodies.forms.layout.CellConstraints;
import com.jgoodies.forms.layout.FormLayout;

/**
* Klasse som h�ndterer visning av artikler for en gitt ordre
* @author atle.brekka
*/
/**
* @author atle.brekka
* @param <T>
* @param <E>
*/
public class OrderArticleView<T, E> {
    private JXTreeTable treeTableOrderLines;

    private JButton buttonAddArticle;

    private JButton buttonRemoveArticle;

    private JButton buttonEditArticle;

    private OrderArticleViewHandler<T, E> viewHandler;

    private JButton buttonEditAll;

    private JButton buttonExternalOrder;
    private JButton buttonShowOrdln;

    private boolean buttonsBelow = false;
    private JButton buttonImportOrderLines;
    private boolean importOrderLinesButtton;
    /**
     * @param handler
     * @param useButtonsBelow
     */
    public OrderArticleView(final OrderArticleViewHandler<T, E> handler,
            final boolean useButtonsBelow,final boolean useImportOrderLinesButtton) {
      importOrderLinesButtton=useImportOrderLinesButtton;
        viewHandler = handler;
        buttonsBelow = useButtonsBelow;
    }

    /**
     * Initierere komponenter
     * @param window
     */
    private void initComponents(final WindowInterface window) {
        buttonAddArticle = viewHandler.getAddArticleButton(window, null);

        buttonRemoveArticle = viewHandler.getRemoveArticleButton(window, null);

        buttonEditArticle = viewHandler.getEditArticleButton(window);

        buttonEditAll = viewHandler.getEditAllButton(window);
        buttonExternalOrder = viewHandler.getButtonExternalOrder(window);

        treeTableOrderLines = viewHandler.getTreeTable(window);
        buttonShowOrdln=viewHandler.getButtonShowOrdln(window);
        if(importOrderLinesButtton){
        buttonImportOrderLines=viewHandler.getButtonImportOrderLines(window);
        }

    }

    /**
     * Initierer hendelseh�ndtering
     */
    private void initEventHandling() {
        treeTableOrderLines.getSelectionModel().addListSelectionListener(
                viewHandler.getArticleSelectionListener());
    }

    /**
     * Setter kolonnebredder for tabell
     */
    private void initColumnWidth() {
        // Artikler
        // Artikkel
        TableColumn col = treeTableOrderLines.getColumnModel().getColumn(0);
        col.setPreferredWidth(190);

        // Verdi
        col = treeTableOrderLines.getColumnModel().getColumn(1);
        col.setPreferredWidth(50);
    }

    /**
     * Bygger panel
     * @param window
     * @return panel
     */
    public JPanel buildPanel(WindowInterface window) {
        initComponents(window);
        initEventHandling();
        initColumnWidth();
        FormLayout layout;
        if (buttonsBelow) {
            layout = new FormLayout("190dlu", "top:110dlu:grow,3dlu,p");
        } else {
            layout = new FormLayout("185dlu,3dlu,p", "top:110dlu:grow");
        }
        PanelBuilder builder = new PanelBuilder(layout);
        CellConstraints cc = new CellConstraints();
        builder.add(new JScrollPane(treeTableOrderLines), cc.xy(1, 1));
        if (buttonsBelow) {
            builder.add(ButtonBarFactory.buildCenteredBar(buttonAddArticle,
                    buttonEditArticle, buttonRemoveArticle), cc.xy(1, 3));
        } else {
            builder.add(buildArticleButtons(), cc.xy(3, 1));
        }
        return builder.getPanel();
    }

    /**
     * Bygger panel med knapper for artikler
     * @return panel
     */
    private JPanel buildArticleButtons() {
        ButtonStackBuilder buttonBuilder = new ButtonStackBuilder();
        buttonBuilder.addGridded(buttonAddArticle);
        buttonBuilder.addRelatedGap();
        buttonBuilder.addGridded(buttonEditArticle);
        buttonBuilder.addRelatedGap();
        buttonBuilder.addGridded(buttonEditAll);
        buttonBuilder.addRelatedGap();
        buttonBuilder.addGridded(buttonRemoveArticle);
        buttonBuilder.addRelatedGap();
        buttonBuilder.addGridded(buttonExternalOrder);
        buttonBuilder.addRelatedGap();
        buttonBuilder.addGridded(buttonShowOrdln);
        if(importOrderLinesButtton){
        buttonBuilder.addRelatedGap();
        buttonBuilder.addGridded(buttonImportOrderLines);
        }

        return buttonBuilder.getPanel();
    }
}
TOP

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

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.