You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

IWindow.java 1.0KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. package com.itmill.toolkit.terminal.gwt.client.ui;
  2. import com.google.gwt.user.client.ui.SimplePanel;
  3. import com.google.gwt.user.client.ui.Widget;
  4. import com.itmill.toolkit.terminal.gwt.client.ApplicationConnection;
  5. import com.itmill.toolkit.terminal.gwt.client.Paintable;
  6. import com.itmill.toolkit.terminal.gwt.client.UIDL;
  7. public class IWindow extends SimplePanel implements Paintable {
  8. private String theme;
  9. private Paintable layout;
  10. public String getTheme() {
  11. return theme;
  12. }
  13. public void updateFromUIDL(UIDL uidl, ApplicationConnection client) {
  14. theme = uidl.getStringAttribute("theme");
  15. com.google.gwt.user.client.Window.setTitle(uidl.getStringAttribute("caption"));
  16. UIDL childUidl = uidl.getChildUIDL(0);
  17. Paintable lo = (Paintable) client.getWidget(childUidl);
  18. if(layout != null) {
  19. if(layout != lo) {
  20. // remove old
  21. client.unregisterPaintable(layout);
  22. // add new
  23. setWidget((Widget) lo);
  24. layout = lo;
  25. }
  26. } else {
  27. setWidget((Widget) lo);
  28. }
  29. lo.updateFromUIDL(childUidl, client);
  30. }
  31. }