Package uk.ac.cranfield.thesis.client.view.system

Source Code of uk.ac.cranfield.thesis.client.view.system.SystemWidget

package uk.ac.cranfield.thesis.client.view.system;

import java.util.List;

import uk.ac.cranfield.thesis.client.service.persistence.SystemPersistenceService;
import uk.ac.cranfield.thesis.client.service.persistence.SystemPersistenceServiceAsync;
import uk.ac.cranfield.thesis.client.view.InputPanel;
import uk.ac.cranfield.thesis.shared.model.entity.SystemEntity;

import com.extjs.gxt.ui.client.event.ButtonEvent;
import com.extjs.gxt.ui.client.event.SelectionListener;
import com.extjs.gxt.ui.client.widget.Dialog;
import com.extjs.gxt.ui.client.widget.Html;
import com.extjs.gxt.ui.client.widget.MessageBox;
import com.extjs.gxt.ui.client.widget.button.Button;
import com.google.gwt.user.client.rpc.AsyncCallback;


public class SystemWidget extends Dialog
{
   
    private final SystemPersistenceServiceAsync persistentService = SystemPersistenceService.Util.getInstance();
    private SystemTable table;
    private InputPanel inputPanel;
    private Button load;
    private Button remove;
   
    public SystemWidget(InputPanel panel)
    {
        setResizable(false);
        setClosable(true);
        setButtons("");
        setSize(610, 400);
       
        this.inputPanel = panel;
        // table = new SystemTable(this);
        // add(table);
       
    }
   
    @Override
    protected void createButtons()
    {
        super.createButtons();
       
        final MessageBox mb = new MessageBox();
        mb.setTitle("System of equations saved successfully");
       
        // Load Button
        load = new Button("Load");
        load.addSelectionListener(new SelectionListener<ButtonEvent>()
        {
           
            @Override
            public void componentSelected(ButtonEvent ce)
            {
                inputPanel.loadEquations(table.getSelectedEquations(), table.getRangeProperty("min"),
                        table.getRangeProperty("max"), table.getRangeProperty("step"));
                setVisible(false);
            }
        });
       
        // Cancel Button
        Button cancel = new Button("Cancel");
        cancel.addSelectionListener(new SelectionListener<ButtonEvent>()
        {
           
            @Override
            public void componentSelected(ButtonEvent ce)
            {
                setVisible(false);
            }
        });
       
        // Remove Button
        remove = new Button("Remove");
        remove.addSelectionListener(new SelectionListener<ButtonEvent>()
        {
           
            @Override
            public void componentSelected(ButtonEvent ce)
            {
                persistentService.remove(table.getSelectedName(), new AsyncCallback<String>()
                {
                   
                    @Override
                    public void onSuccess(String result)
                    {
                        table.removeSelectedSystem();
                        // showData();
                        // setVisible(false);
                    }
                   
                    @Override
                    public void onFailure(Throwable caught)
                    {
                       
                    }
                });
            }
        });
       
        // Remove all Button
        Button removeAll = new Button("Remove all");
        removeAll.addSelectionListener(new SelectionListener<ButtonEvent>()
        {
           
            @Override
            public void componentSelected(ButtonEvent ce)
            {
                persistentService.removeAll(new AsyncCallback<Void>()
                {
                   
                    @Override
                    public void onFailure(Throwable caught)
                    {
                        showData();
                    }
                   
                    @Override
                    public void onSuccess(Void result)
                    {
                        showData();
                       
                    }
                });
            }
        });
       
        addButton(load);
        addButton(cancel);
        addButton(remove);
        addButton(removeAll);
    }
   
    public void showData()
    {
        // table.clearSelection();
        if (table != null)
            remove(table);
        table = new SystemTable(this);
        add(table);
       
        persistentService.getAll(new AsyncCallback<List<SystemEntity>>()
        {
           
            @Override
            public void onSuccess(List<SystemEntity> result)
            {
                table.setData(result);
                setButtonsEnabled(false);
                setVisible(true);
            }
           
            @Override
            public void onFailure(Throwable caught)
            {
                add(new Html(caught.getMessage()));
                show();
            }
        });
    }
   
    public void setButtonsEnabled(boolean enabled)
    {
        load.setEnabled(enabled);
        remove.setEnabled(enabled);
    }
}
TOP

Related Classes of uk.ac.cranfield.thesis.client.view.system.SystemWidget

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.