2 * Copyright 2009 Electronic Business Systems Ltd.
4 * This file is part of GSS.
6 * GSS is free software: you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation, either version 3 of the License, or
9 * (at your option) any later version.
11 * GSS is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
16 * You should have received a copy of the GNU General Public License
17 * along with GSS. If not, see <http://www.gnu.org/licenses/>.
19 package gr.ebs.gss.client;
21 import com.google.gwt.dom.client.NativeEvent;
22 import com.google.gwt.event.dom.client.ClickEvent;
23 import com.google.gwt.event.dom.client.ClickHandler;
24 import com.google.gwt.event.dom.client.KeyCodes;
25 import com.google.gwt.user.client.Event.NativePreviewEvent;
26 import com.google.gwt.user.client.ui.Button;
27 import com.google.gwt.user.client.ui.DialogBox;
28 import com.google.gwt.user.client.ui.HTML;
29 import com.google.gwt.user.client.ui.HasHorizontalAlignment;
30 import com.google.gwt.user.client.ui.VerticalPanel;
37 public class SessionExpiredDialog extends DialogBox {
39 * The widget constructor.
41 public SessionExpiredDialog() {
42 // Set the dialog's caption.
43 setText("Session Expired");
44 setAnimationEnabled(true);
45 VerticalPanel outer = new VerticalPanel();
47 // Create the text and set a style name so we can style it with CSS.
48 HTML text = new HTML("<p>Your session has expired. You will have to reauthenticate with your Identity Provider.</p> ");
49 text.setStyleName("gss-AboutText");
52 // Create the 'OK' button, along with a listener that hides the dialog
53 // when the button is clicked.
54 Button confirm = new Button("Proceed", new ClickHandler() {
56 public void onClick(ClickEvent event) {
57 GSS.get().authenticateUser();
62 outer.setCellHorizontalAlignment(confirm, HasHorizontalAlignment.ALIGN_CENTER);
68 protected void onPreviewNativeEvent(NativePreviewEvent preview) {
69 super.onPreviewNativeEvent(preview);
71 NativeEvent evt = preview.getNativeEvent();
72 if (evt.getType().equals("keydown"))
73 // Use the popup's key preview hooks to close the dialog when either
74 // enter or escape is pressed.
75 switch (evt.getKeyCode()) {
76 case KeyCodes.KEY_ENTER:
77 GSS.get().authenticateUser();
80 case KeyCodes.KEY_ESCAPE: