Project

General

Profile

Download (1.97 KB) Statistics
| Branch: | Tag: | Revision:
1
package eu.etaxonomy.cdm.vaadin.view.dbstatus;
2

    
3
import com.vaadin.ui.AbstractLayout;
4
import com.vaadin.ui.AbstractOrderedLayout;
5
import com.vaadin.ui.Button;
6
import com.vaadin.ui.CustomComponent;
7
import com.vaadin.ui.HorizontalLayout;
8
import com.vaadin.ui.Window;
9

    
10
import eu.etaxonomy.cdm.vaadin.presenter.dbstatus.settings.SettingsPresenter;
11

    
12
@SuppressWarnings("serial")
13
public abstract class AbstractSettingsDialogWindow extends CustomComponent {
14

    
15
	protected Button okButton;
16
	protected Button cancelButton;
17
	protected final SettingsPresenter presenter;
18
	protected Window window;
19
	protected AbstractOrderedLayout mainLayout;
20

    
21
	public AbstractSettingsDialogWindow() {
22
        buildMainLayout();
23
        presenter = new SettingsPresenter();
24
        init();
25
	}
26

    
27
	protected abstract AbstractLayout buildMainLayout();
28

    
29
	protected abstract void init();
30

    
31
	protected HorizontalLayout createOkCancelButtons() {
32
		HorizontalLayout buttonToolBar = new HorizontalLayout();
33
	    // cancelButton
34
	    cancelButton = new Button();
35
	    cancelButton.setCaption("Cancel");
36
	    cancelButton.setImmediate(true);
37
	    cancelButton.addStyleName("dialogButton");
38
	    buttonToolBar.addComponent(cancelButton);
39

    
40
	    // okButton
41
	    okButton = new Button();
42
	    okButton.setCaption("OK");
43
	    okButton.setImmediate(true);
44
	    okButton.addStyleName("dialogButton");
45
	    buttonToolBar.addComponent(okButton);
46
		return buttonToolBar;
47
	}
48

    
49
	public Window createWindow() {
50
	    window = new Window();
51
	    window.setModal(true);
52
	    window.setWidth("60%");
53
	    window.setHeight("80%");
54
	    window.setCaption("Distribution Settings");
55
	    window.setContent(mainLayout);
56
	    return window;
57
	}
58

    
59
	/**
60
	 * Update OK/Cancel button depending on {@link #isValid()}
61
	 */
62
	protected void updateButtons(){
63
		okButton.setEnabled(isValid());
64
	}
65

    
66
	/**
67
	 * Evaluates if this dialog has all necessary values set in
68
	 * a correct state
69
	 * @return <code>true</code> if the status of this dialog is valid
70
	 */
71
	protected abstract boolean isValid();
72

    
73
}
(1-1/5)