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

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

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

import java.util.Iterator;
import java.util.Vector;

import com.google.code.apis.rest.client.GUI.GuiFactory;
import com.google.code.apis.rest.client.Util.SyntaxHighlighter;
import com.google.code.apis.rest.client.Wadl.GrammarsNode;
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.VerticalPanel;
import com.google.gwt.user.client.ui.Widget;

public class IncludeItem extends Composite {
  public IncludeItem(final String href, final GrammarsNode grammars, final VerticalPanel includesPanel) {             
    final HorizontalPanel includePanel = new HorizontalPanel();
   
    includePanel.add(new HTML(SyntaxHighlighter.highlight("<" + WadlXml.includeNode + " " + WadlXml.include_href + "=\"")));
   
    final TextBox input = new TextBox();     
    input.setText(href);
    input.addChangeListener(new ChangeListener() {
      public void onChange(Widget sender) {
        grammars.updateInclude(href, input.getText());
      }
    });
    includePanel.add(input);
   
    includePanel.add(new HTML(SyntaxHighlighter.highlight("\" />")));
   
    Hyperlink removeIncludeLink = new Hyperlink(GuiFactory.strings.remove(), true, "");
    removeIncludeLink.addClickListener(new ClickListener() {
      public void onClick(Widget sender) {       
        grammars.removeInclude(input.getText());      
        listIncludes(grammars, includesPanel);
      }
    });     
    includePanel.add(removeIncludeLink);
   
    initWidget(includePanel);   
  }

  public static void listIncludes(final GrammarsNode grammars, final VerticalPanel includePanel) {
    includePanel.clear();
    Vector allIncludes = grammars.getAllIncludes();
    Iterator includeIterator = allIncludes.iterator();
    VerticalPanel includeItems = new VerticalPanel();
    while (includeIterator.hasNext()) {     
      IncludeItem includeItem = new IncludeItem((String) includeIterator.next(), grammars, includePanel);
      includeItems.add(includeItem);    
    }
    includePanel.add(includeItems);
   
    // add include button       
    Button addIncludeButton = new Button(GuiFactory.strings.addInclude());
    addIncludeButton.addClickListener(new ClickListener() {
      public void onClick(Widget sender) {
        grammars.addInclude(GuiFactory.strings.newInclude());
        IncludeItem.listIncludes(grammars, includePanel);
      }
    });
    includePanel.add(addIncludeButton);   

  }   
}
TOP

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

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.