br.com.dimag.safetycar.gui.views.ServicoListView.java Source code

Java tutorial

Introduction

Here is the source code for br.com.dimag.safetycar.gui.views.ServicoListView.java

Source

package br.com.dimag.safetycar.gui.views;

import java.util.ArrayList;
import java.util.List;

import org.eclipse.jface.viewers.DoubleClickEvent;
import org.eclipse.jface.viewers.IDoubleClickListener;
import org.eclipse.jface.viewers.IStructuredContentProvider;
import org.eclipse.jface.viewers.ITableLabelProvider;
import org.eclipse.jface.viewers.LabelProvider;
import org.eclipse.jface.viewers.StructuredSelection;
import org.eclipse.jface.viewers.TableViewer;
import org.eclipse.jface.viewers.Viewer;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.events.SelectionListener;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Group;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.TableColumn;
import org.eclipse.swt.widgets.Text;

import br.com.dimag.safetycar.business.Facade;
import br.com.dimag.safetycar.model.Servico;
import br.com.dimag.safetycar.util.FormatUtil;

/**
 * This code was edited or generated using CloudGarden's Jigloo SWT/Swing GUI
 * Builder, which is free for non-commercial use. If Jigloo is being used
 * commercially (ie, by a corporation, company or business for any purpose
 * whatever) then you should purchase a license for each developer using Jigloo.
 * Please visit www.cloudgarden.com for details. Use of Jigloo implies
 * acceptance of these licensing terms. A COMMERCIAL LICENSE HAS NOT BEEN
 * PURCHASED FOR THIS MACHINE, SO JIGLOO OR THIS CODE CANNOT BE USED LEGALLY FOR
 * ANY CORPORATE OR COMMERCIAL PURPOSE.
 */
public class ServicoListView extends BasicView {

    public static final String ID = "SafetyCar.servicoList";
    private TableViewer viewer;
    private List<Servico> listServicos;
    private Group groupDadosServico;

    // DESCRIO
    private Label labelDescricao;
    private Text textDescricao;

    // BOTES DE CONFIRMA E CANCELAR
    private Button buttonPesquisar;

    public ServicoListView() {
        listServicos = new ArrayList<Servico>();

    }

    public enum ColumnProperty {
        DESCRICAO("Descrio", 200), VALOR_UNITARIO("Valor Unitrio", 200);

        private String name;
        private int width;

        private ColumnProperty(String name, int width) {
            this.name = name;
            this.width = width;
        }

        public String getName() {
            return name;
        }

        public int getWidth() {
            return width;
        }

    }

    class ViewContentProvider implements IStructuredContentProvider {

        public void inputChanged(Viewer v, Object oldInput, Object newInput) {
            v.getInput();
        }

        public void dispose() {

        }

        public Object[] getElements(Object parent) {
            return listServicos.toArray(new Servico[listServicos.size()]);
        }

    }

    class ViewLabelProvider extends LabelProvider implements ITableLabelProvider {

        @Override
        public Image getColumnImage(Object arg0, int arg1) {
            // TODO Auto-generated method stub
            return null;
        }

        @Override
        public String getColumnText(Object element, int columnIndex) {
            Servico servico = (Servico) element;
            if (columnIndex == ColumnProperty.DESCRICAO.ordinal()) {
                return servico.getDescricao();
            } else if (columnIndex == ColumnProperty.VALOR_UNITARIO.ordinal()) {
                return FormatUtil.formatDouble(servico.getValorServico());
            }
            return "";
        }
    }

    /**
     * This is a callback that will allow us to create the viewer and initialize
     * it.
     */
    public void createPartControl(Composite composite) {
        {

            composite.setSize(484, 418);
            GridLayout mainLayout = new GridLayout();
            mainLayout.numColumns = 1;
            composite.setLayout(mainLayout);
            {
                groupDadosServico = new Group(composite, SWT.NONE);
                GridLayout dadosServicoLayout = new GridLayout();
                dadosServicoLayout.numColumns = 2;

                GridData dadosServicoLData = new GridData();
                dadosServicoLData.verticalAlignment = SWT.FILL;
                dadosServicoLData.horizontalAlignment = SWT.FILL;
                groupDadosServico.setLayoutData(dadosServicoLData);

                groupDadosServico.setLayout(dadosServicoLayout);
                groupDadosServico.setText("Dados da Consulta Servio");
                groupDadosServico.setSize(243, 215);

                // DESCRIO SERVIO

                {
                    labelDescricao = new Label(groupDadosServico, SWT.NONE);
                    labelDescricao.setText("Descrio:");
                }
                {
                    textDescricao = new Text(groupDadosServico, SWT.NONE);
                    GridData descricaoProdutoLData = new GridData();
                    descricaoProdutoLData.heightHint = 13;
                    descricaoProdutoLData.horizontalAlignment = GridData.FILL;
                    descricaoProdutoLData.grabExcessHorizontalSpace = true;
                    textDescricao.setLayoutData(descricaoProdutoLData);
                }

                // view BOTO CONFIRMA
                {
                    buttonPesquisar = new Button(groupDadosServico, SWT.PUSH | SWT.CENTER);
                    GridData buttonConfirmaLData = new GridData();
                    buttonConfirmaLData.verticalAlignment = GridData.BEGINNING;
                    buttonConfirmaLData.horizontalAlignment = GridData.BEGINNING;
                    buttonPesquisar.setLayoutData(buttonConfirmaLData);
                    buttonPesquisar.setText("Pesquisar");

                    buttonPesquisar.addSelectionListener(new SelectionListener() {

                        @Override
                        public void widgetSelected(SelectionEvent event) {
                            pesquisar();
                        }

                        @Override
                        public void widgetDefaultSelected(SelectionEvent arg0) {
                            // TODO Auto-generated method stub
                        }

                    });
                }

                // PRA BAIXO JA ESTAVA

                viewer = new TableViewer(composite, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER_SOLID);
                viewer.getTable().setLinesVisible(true);
                viewer.getTable().setHeaderVisible(true);

                viewer.setContentProvider(new ViewContentProvider());
                GridData viewerLData = new GridData();
                viewerLData.grabExcessHorizontalSpace = true;
                viewerLData.grabExcessVerticalSpace = true;
                viewerLData.horizontalAlignment = SWT.FILL;
                viewerLData.verticalAlignment = SWT.FILL;
                viewer.getControl().setLayoutData(viewerLData);
                viewer.setLabelProvider(new ViewLabelProvider());

                for (ColumnProperty columnProperty : ColumnProperty.values()) {
                    TableColumn coluna = new TableColumn(viewer.getTable(), SWT.NONE);
                    coluna.setText(columnProperty.getName());
                    coluna.setWidth(columnProperty.getWidth());
                }

                viewer.addDoubleClickListener(new IDoubleClickListener() {

                    @Override
                    public void doubleClick(DoubleClickEvent event) {
                        // TODO Auto-generated method stub
                        StructuredSelection sl = (StructuredSelection) event.getSelection();
                        closeView();
                        openView(ServicoView.ID);
                        ServicoView view = (ServicoView) findView(ServicoView.ID);
                        view.loadServico((Servico) sl.getFirstElement());
                    }

                });
                loadData();
            }
        }
    }

    private void loadData() {
        pesquisar();

    }

    /**
     * Passing the focus request to the viewer's control.
     */
    public void setFocus() {
        viewer.getControl().setFocus();
    }

    private void pesquisar() {
        // dados servico
        if (textDescricao.getText().equals("")) {
            listServicos = Facade.getInstance().listServico();
        } else {
            listServicos = Facade.getInstance().searchListServicoByDescricao(textDescricao.getText());
        }
        viewer.setInput(listServicos);
    }

}