From: Matti Tahvonen Date: Fri, 8 Jun 2007 07:16:17 +0000 (+0000) Subject: added tabsheet X-Git-Tag: 6.7.0.beta1~6300 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=360651b38b08b0d5e2a7ab5f91b17a6b6694c9c8;p=vaadin-framework.git added tabsheet svn changeset:1647/svn branch:trunk --- diff --git a/src/com/itmill/toolkit/terminal/gwt/client/DefaultWidgetFactory.java b/src/com/itmill/toolkit/terminal/gwt/client/DefaultWidgetFactory.java index 4394ed06d6..4f8c316566 100644 --- a/src/com/itmill/toolkit/terminal/gwt/client/DefaultWidgetFactory.java +++ b/src/com/itmill/toolkit/terminal/gwt/client/DefaultWidgetFactory.java @@ -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 index 0000000000..dfdf1c990a --- /dev/null +++ b/src/com/itmill/toolkit/terminal/gwt/client/ui/TkTabsheet.java @@ -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")); + } + } + + } + +}