Package com.google.code.apis.rest.client.Tree

Source Code of com.google.code.apis.rest.client.Tree.ResourcesItem

package com.google.code.apis.rest.client.Tree;

import java.util.Vector;

import com.google.code.apis.rest.client.GUI.GuiFactory;
import com.google.code.apis.rest.client.GUI.SettingsDialog;
import com.google.code.apis.rest.client.Util.SyntaxHighlighter;
import com.google.code.apis.rest.client.Wadl.ApplicationNode;
import com.google.code.apis.rest.client.Wadl.ResourcesNode;
import com.google.code.apis.rest.client.Wadl.WadlXml;
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.ChangeListener;
import com.google.gwt.user.client.ui.ClickListener;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.HTML;
import com.google.gwt.user.client.ui.HorizontalPanel;
import com.google.gwt.user.client.ui.Hyperlink;
import com.google.gwt.user.client.ui.TextBox;
import com.google.gwt.user.client.ui.TreeItem;
import com.google.gwt.user.client.ui.Widget;

public class ResourcesItem extends Composite {
  public ResourcesItem(final ResourcesNode resources, final TreeItem applicationTreeItem) {   
    HorizontalPanel resourcesPanel = new HorizontalPanel();
    resourcesPanel.add(new HTML(SyntaxHighlighter.highlight("<" + WadlXml.resourcesNode + " " + WadlXml.resources_base + "=\"")));
       
    final TextBox input = new TextBox();
    input.setText(resources.getBase());
    input.addChangeListener(new ChangeListener() {
      public void onChange(Widget sender) {
        resources.updateBase(resources.getBase(), input.getText());
      }   
    });
    resourcesPanel.add(input);
       
    resourcesPanel.add(new HTML(SyntaxHighlighter.highlight("\" >")));
   
    // remove resources hyperlink
    Hyperlink removeResourcesLink = new Hyperlink(GuiFactory.strings.remove(), true, "");
    removeResourcesLink.addClickListener(new ClickListener() {
      public void onClick(Widget sender) {       
        resources.getApplication().removeResources();       
        listResources(resources.getApplication(), applicationTreeItem);
      }
    });     
    resourcesPanel.add(removeResourcesLink);
       
    initWidget(resourcesPanel);
  }
 
  public static void listResources(final ApplicationNode application, final TreeItem applicationTreeItem) {
    Vector buttonTreeItems = WadlTreeRoot.removeChildrenXKeepButtons(applicationTreeItem, WadlXml.resourcesNode);
   
    ResourcesNode resources = application.getResources();
    if (resources != null) {     
      TreeItem resourcesTreeItem = new TreeItem(new ResourcesItem(resources, applicationTreeItem));
      resourcesTreeItem.setUserObject(WadlXml.resourcesNode);
      applicationTreeItem.addItem(resourcesTreeItem);     
         
      //  list all resource items   
      ResourceItem.listResources(resources, resourcesTreeItem);
      resourcesTreeItem.setState(SettingsDialog.treeItemsAlwaysOpen);
     
      // close resources item
      TreeItem resourcesCloseItem = new TreeItem(new GenericClosingItem(WadlXml.resourcesNode));
      resourcesCloseItem.setUserObject(WadlXml.resourcesNode);
      applicationTreeItem.addItem(resourcesCloseItem);
    }
    else {
      if (!WadlTreeRoot.containsButton(buttonTreeItems, ApplicationItem.button + WadlXml.resourcesNode)) {     
        // add resources button     
        HorizontalPanel addResourcesPanel = new HorizontalPanel();
             
        Button addResourcesButton = new Button(GuiFactory.strings.addResources());
        addResourcesButton.addClickListener(new ClickListener() {
          public void onClick(Widget sender) {         
            application.addResources(new ResourcesNode(GuiFactory.strings.newResources(), application));
            listResources(application, applicationTreeItem);                   
          }
        });
        addResourcesPanel.add(addResourcesButton);
        TreeItem addResourcesTreeItem = new TreeItem(addResourcesPanel);
        addResourcesTreeItem.setUserObject(ApplicationItem.button + WadlXml.resourcesNode);
        applicationTreeItem.addItem(addResourcesTreeItem);
      }
    }
    WadlTreeRoot.addButtons(buttonTreeItems, applicationTreeItem);
   
  }
}
TOP

Related Classes of com.google.code.apis.rest.client.Tree.ResourcesItem

TOP
Copyright © 2018 www.massapi.com. 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.