blob: f3d46a7d0045b26b75e1993fe43b0284354aad6a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
|
/*
@ITMillApache2LicenseForJavaFiles@
*/
package com.vaadin.automatedtests.featurebrowser;
import com.vaadin.data.Item;
import com.vaadin.ui.AbstractSelect;
import com.vaadin.ui.Alignment;
import com.vaadin.ui.Button;
import com.vaadin.ui.CustomComponent;
import com.vaadin.ui.NativeSelect;
import com.vaadin.ui.RichTextArea;
import com.vaadin.ui.TextField;
import com.vaadin.ui.VerticalLayout;
import com.vaadin.ui.Window;
import com.vaadin.ui.Button.ClickEvent;
import com.vaadin.ui.Button.ClickListener;
/**
* Demonstrates the use of Notifications.
*
* @author IT Mill Ltd.
* @see com.vaadin.ui.Window
*/
public class NotificationExample extends CustomComponent {
// Dropdown select for notification type, using the native dropdown
NativeSelect type;
// Textfield for the notification caption
TextField caption;
// Textfield for the notification content
TextField message;
/**
* Default constructor; We're subclassing CustomComponent, so we need to
* choose a root component and set it as composition root.
*/
public NotificationExample() {
// Main layout
final VerticalLayout main = new VerticalLayout();
main.setSizeUndefined();
main.setSpacing(true);
main.setMargin(true); // use theme-specific margin
setCompositionRoot(main);
// Create the 'type' dropdown select.
type = new NativeSelect("Notification type");
main.addComponent(type);
// no empty selection allowed
type.setNullSelectionAllowed(false);
// we want a different caption than the value
type.addContainerProperty("caption", String.class, null);
type.setItemCaptionMode(AbstractSelect.ITEM_CAPTION_MODE_PROPERTY);
type.setItemCaptionPropertyId("caption");
// add some content (items) using the Container API
Item i = type.addItem(new Integer(
Window.Notification.TYPE_HUMANIZED_MESSAGE));
i.getItemProperty("caption").setValue("Humanized message");
i = type.addItem(new Integer(Window.Notification.TYPE_WARNING_MESSAGE));
i.getItemProperty("caption").setValue("Warning message");
i = type.addItem(new Integer(Window.Notification.TYPE_ERROR_MESSAGE));
i.getItemProperty("caption").setValue("Error message");
i = type
.addItem(new Integer(Window.Notification.TYPE_TRAY_NOTIFICATION));
i.getItemProperty("caption").setValue("Tray notification");
// set the initially selected item
type.setValue(new Integer(Window.Notification.TYPE_HUMANIZED_MESSAGE));
// Notification caption
caption = new TextField("Caption");
main.addComponent(caption);
caption.setColumns(20);
caption.setValue("Brown Fox!");
// Notification message
message = new RichTextArea();
main.addComponent(message);
message.setCaption("Message");
message.setValue("A quick one jumped over the lazy dog.");
// Button to show the notification
final Button b = new Button("Show notification", new ClickListener() {
// this is an inline ClickListener
public void buttonClick(ClickEvent event) {
// show the notification
getWindow().showNotification((String) caption.getValue(),
(String) message.getValue(),
((Integer) type.getValue()).intValue());
}
});
main.addComponent(b);
main.setComponentAlignment(b, Alignment.MIDDLE_RIGHT);
}
}
|