]> source.dussan.org Git - vaadin-framework.git/commitdiff
No disabled buttons (but error message should be improved still)
authorMarc Englund <marc.englund@itmill.com>
Mon, 22 Oct 2007 05:54:38 +0000 (05:54 +0000)
committerMarc Englund <marc.englund@itmill.com>
Mon, 22 Oct 2007 05:54:38 +0000 (05:54 +0000)
svn changeset:2575/svn branch:trunk

src/com/itmill/toolkit/demo/reservation/ReservationApplication.java

index afae30d84334feb28fb981b4e92a229250af0bd1..7aa1f113eccdf88476a42288a3c368acb9933a0e 100644 (file)
@@ -21,6 +21,7 @@ import com.itmill.toolkit.ui.TabSheet;
 import com.itmill.toolkit.ui.Table;\r
 import com.itmill.toolkit.ui.TextField;\r
 import com.itmill.toolkit.ui.Window;\r
+import com.itmill.toolkit.ui.Button.ClickEvent;\r
 import com.itmill.toolkit.ui.TabSheet.SelectedTabChangeEvent;\r
 \r
 public class ReservationApplication extends Application {\r
@@ -53,7 +54,11 @@ public class ReservationApplication extends Application {
 \r
        private GoogleMap map;\r
 \r
+       private Window popupWindow;\r
+       private Label popupMessage;\r
+       \r
        public void init() {\r
+               \r
                db = new SampleDB(true);\r
                db.generateResources();\r
                db.generateDemoUser();\r
@@ -202,15 +207,37 @@ public class ReservationApplication extends Application {
                                statusLabel.setCaption("Success!");\r
                                statusLabel\r
                                                .setValue("You have reserved the resource for the selected period.");\r
+                       } else {\r
+                               showMessage("No resource selected","Please select a resource (or category) to reserve.");\r
                        }\r
                } catch (ResourceNotAvailableException e) {\r
-                       statusLabel.setCaption("Reservation failed");\r
-                       statusLabel\r
-                                       .setValue("The selected resource was not available for the selected period.");\r
+                       showMessage("Reservation failed", "The selected resource was not available for the selected period.");\r
                }\r
                refreshReservations();\r
        }\r
 \r
+       public void showMessage(String caption, String message) {\r
+               if (this.popupWindow == null) {\r
+                       this.popupWindow = new Window("No resource selected");\r
+                       this.popupWindow.setHeight(50);\r
+                       this.popupWindow.setPositionX(70);\r
+                       this.popupWindow.setPositionY(400);\r
+                       this.popupMessage = new Label("Please select a resource (or category) to reserve.");\r
+                       this.popupWindow.addComponent(this.popupMessage);\r
+                       Button b = new Button("Ok", new Button.ClickListener() {\r
+                               public void buttonClick(ClickEvent event) {\r
+                                       getMainWindow().removeWindow(popupWindow);                                              \r
+                               }                                       \r
+                       });\r
+                       this.popupWindow.addComponent(b);\r
+               } else {\r
+                       this.popupMessage.setValue(message);\r
+                       this.popupWindow.setCaption(caption);\r
+               }\r
+               getMainWindow().addWindow(this.popupWindow);\r
+       }\r
+       \r
+       \r
        private Item getActiveResource() throws ResourceNotAvailableException {\r
                List rids = resourcePanel.getSelectedResources();\r
                if (rids != null && rids.size() > 0) {\r
@@ -258,14 +285,14 @@ public class ReservationApplication extends Application {
                        resourceName.setCaption("Not available");\r
                        resourceName\r
                                        .setValue("Please choose another time period or resource");\r
-                       reservationButton.setEnabled(false);\r
+                       //reservationButton.setEnabled(false);\r
                        return;\r
                }\r
                map.clear();\r
                if (resource == null) {\r
                        resourceName.setCaption("Choose resource");\r
                        resourceName.setValue("from the list above");\r
-                       reservationButton.setEnabled(false);\r
+                       //reservationButton.setEnabled(false);\r
                        map.setContainerDataSource(db.getResources(null));\r
                        map.setZoomLevel(1);\r
 \r
@@ -297,7 +324,7 @@ public class ReservationApplication extends Application {
 \r
                        }\r
                        map.setZoomLevel((srs.size() == 1 ? 14 : 9));\r
-                       reservationButton.setEnabled(true);\r
+                       //reservationButton.setEnabled(true);\r
                }\r
 \r
        }\r