Package org.openhab.model.sitemap

Examples of org.openhab.model.sitemap.Widget


 
  @Test
  public void getWidget_UnknownPageId() throws ItemNotFoundException {
    Sitemap sitemap = SitemapFactory.eINSTANCE.createSitemap();
    when(registry.getItem("unknown")).thenThrow(new ItemNotFoundException("unknown"));
    Widget w = uiRegistry.getWidget(sitemap, "unknown");
    assertNull(w);
  }
View Full Code Here


          return;
        }
        result.append(renderer.processPage("Home", sitemapName, label, sitemap.getChildren(), async));
      } else if(!widgetId.equals("Colorpicker")) {
        // we are on some subpage, so we have to render the children of the widget that has been selected
        Widget w = renderer.getItemUIRegistry().getWidget(sitemap, widgetId);
        if(w!=null) {
          if(!(w instanceof LinkableWidget)) {
            throw new RenderException("Widget '" + w + "' can not have any content");
          }
          EList<Widget> children = renderer.getItemUIRegistry().getChildren((LinkableWidget) w);
View Full Code Here

              if(sitemap!=null) {
                List<Widget> children = null;
                if(pageName.equals(sitemapName)) {
                  children = sitemap.getChildren();
                } else {               
                  Widget widget = RESTApplication.getItemUIRegistry().getWidget(sitemap, pageName);
                  if(widget instanceof LinkableWidget) {
                    LinkableWidget page = (LinkableWidget) widget;
                    children = RESTApplication.getItemUIRegistry().getChildren(page);
                  }
                }
View Full Code Here

    Sitemap sitemap = getSitemap(sitemapName);
    if(sitemap!=null) {
      if(pageId.equals(sitemap.getName())) {
        return createPageBean(sitemapName, sitemap.getLabel(), sitemap.getIcon(), sitemap.getName(), sitemap.getChildren(), false, isLeaf(sitemap.getChildren()), uri);
      } else {
        Widget pageWidget = itemUIRegistry.getWidget(sitemap, pageId);
        if(pageWidget instanceof LinkableWidget) {
          EList<Widget> children = itemUIRegistry.getChildren((LinkableWidget) pageWidget);
          PageBean pageBean = createPageBean(sitemapName, itemUIRegistry.getLabel(pageWidget), itemUIRegistry.getIcon(pageWidget),
              pageId, children, false, isLeaf(children), uri);
          EObject parentPage = pageWidget.eContainer();
          while(parentPage instanceof Frame) {
            parentPage = parentPage.eContainer();
          }
          if(parentPage instanceof Widget) {
            String parentId = itemUIRegistry.getWidgetId((Widget) parentPage);
View Full Code Here

    }
    String uriString = null;
   
    Sitemap sitemap = (Sitemap) modelRepository.getModel(sitemapName);
    if(sitemap!=null) {
      Widget widget = itemUIRegistry.getWidget(sitemap, widgetId);
      if(widget instanceof Image) {
        Image image = (Image) widget;
        uriString = baseUrl + image.getUrl();
      } else if(widget instanceof Video) {
        Video video = (Video) widget;
        uriString = baseUrl + video.getUrl();
      } else if(widget instanceof Webview) {
        Webview webview = (Webview) widget;
        uriString = baseUrl + webview.getUrl();
      } else {
        if(widget==null) {
          throw new ServletException("Widget '" + widgetId + "' could not be found!");
        } else {
          throw new ServletException("Widget type '" + widget.getClass().getName() + "' is not supported!");
        }
      }
    } else {
      throw new ServletException("Sitemap '" + sitemapName + "' could not be found!");
    }
View Full Code Here

  /**
   * {@inheritDoc}
   */
  public Widget getWidget(String itemName) {
    for(ItemUIProvider provider : itemUIProviders) {
      Widget currentWidget = provider.getWidget(itemName);
      if(currentWidget!=null) {
        return currentWidget;
      }
    }
    return null;
View Full Code Here

  /**
   * {@inheritDoc}
   */
  public Widget getDefaultWidget(Class<? extends Item> itemType, String itemName) {
    for(ItemUIProvider provider : itemUIProviders) {
      Widget widget = provider.getDefaultWidget(itemType, itemName);
      if(widget!=null) {
        return widget;
      }
    }

View Full Code Here

   * {@inheritDoc}
   */
  public Widget getWidget(Sitemap sitemap, String id) {
    if(id.length()>0) {
      // see if the id is an itemName and try to get the a widget for it
      Widget w = getWidget(id);
      if(w==null) {
        // try to get the default widget instead
        w = getDefaultWidget(null, id);
      }
      if(w!=null) {
        w.setItem(id);
        return w;
      } else {
        try {
          w = sitemap.getChildren().get(Integer.valueOf(id.substring(0, 2)));
          for(int i = 2; i < id.length(); i+=2) {
View Full Code Here

    try {
      Item item = getItem(itemName);
      if(item instanceof GroupItem) {
        GroupItem groupItem = (GroupItem) item;
        for(Item member : groupItem.getMembers()) {
          Widget widget = getDefaultWidget(member.getClass(), member.getName());
          if(widget!=null) {
            widget.setItem(member.getName());
            children.add(widget);
          }         
        }
      } else {
        logger.warn("Item '{}' is not a group.", item.getName());
View Full Code Here

   * {@inheritDoc}
   */
  public String getWidgetId(Widget w) {
    String id = "";
    while(w.eContainer() instanceof Widget) {
      Widget parent = (Widget) w.eContainer();
      String index = String.valueOf(((LinkableWidget)parent).getChildren().indexOf(w));
      if(index.length()==1) index = "0" + index; // make it two digits
      id =  index + id;
      w = parent;
    }
View Full Code Here

TOP

Related Classes of org.openhab.model.sitemap.Widget

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.