]> source.dussan.org Git - vaadin-framework.git/commitdiff
added tabsheet
authorMatti Tahvonen <matti.tahvonen@itmill.com>
Fri, 8 Jun 2007 07:16:17 +0000 (07:16 +0000)
committerMatti Tahvonen <matti.tahvonen@itmill.com>
Fri, 8 Jun 2007 07:16:17 +0000 (07:16 +0000)
svn changeset:1647/svn branch:trunk

src/com/itmill/toolkit/terminal/gwt/client/DefaultWidgetFactory.java
src/com/itmill/toolkit/terminal/gwt/client/ui/TkTabsheet.java [new file with mode: 0644]

index 4394ed06d639be6e231e6683c461266843c69b11..4f8c3165666d33346f6ed3676719387f49b65948 100644 (file)
@@ -7,6 +7,7 @@ import com.itmill.toolkit.terminal.gwt.client.ui.TkLabel;
 import com.itmill.toolkit.terminal.gwt.client.ui.TkOrderedLayout;
 import com.itmill.toolkit.terminal.gwt.client.ui.TkPanel;
 import com.itmill.toolkit.terminal.gwt.client.ui.TkSelect;
+import com.itmill.toolkit.terminal.gwt.client.ui.TkTabsheet;
 import com.itmill.toolkit.terminal.gwt.client.ui.TkTree;
 import com.itmill.toolkit.terminal.gwt.client.ui.TkUnknownComponent;
 import com.itmill.toolkit.terminal.gwt.client.ui.TkWindow;
@@ -31,6 +32,8 @@ public class DefaultWidgetFactory implements WidgetFactory {
                        return new TkSelect();
                if ("panel".equals(tag))
                        return new TkPanel();
+               if ("tabsheet".equals(tag))
+                       return new TkTabsheet();
 
                return new TkUnknownComponent();
        }
diff --git a/src/com/itmill/toolkit/terminal/gwt/client/ui/TkTabsheet.java b/src/com/itmill/toolkit/terminal/gwt/client/ui/TkTabsheet.java
new file mode 100644 (file)
index 0000000..dfdf1c9
--- /dev/null
@@ -0,0 +1,40 @@
+package com.itmill.toolkit.terminal.gwt.client.ui;
+
+import java.util.Iterator;
+
+import com.google.gwt.user.client.ui.Label;
+import com.google.gwt.user.client.ui.TabPanel;
+import com.google.gwt.user.client.ui.Widget;
+import com.itmill.toolkit.terminal.gwt.client.Client;
+import com.itmill.toolkit.terminal.gwt.client.Paintable;
+import com.itmill.toolkit.terminal.gwt.client.UIDL;
+
+public class TkTabsheet extends TabPanel implements
+               Paintable {
+
+       String id;
+
+       Client client;
+
+       public TkTabsheet() {
+       }
+
+       public void updateFromUIDL(UIDL uidl, Client client) {
+               this.client = client;
+               id = uidl.getId();
+               
+               UIDL tabs = uidl.getChildUIDL(0);
+               for(Iterator it = tabs.getChildIterator(); it.hasNext();) {
+                       UIDL tab = (UIDL) it.next();
+                       if(tab.getBooleanAttribute("selected")) {
+                               Widget content = client.createWidgetFromUIDL(tab.getChildUIDL(0));
+                               this.add(content, tab.getStringAttribute("caption"));
+                               this.selectTab(this.getWidgetIndex(content));
+                       } else {
+                               this.add(new Label(), tab.getStringAttribute("caption"));
+                       }
+               }
+               
+       }
+
+}