Package org.cfeclipse.cfml.snippets.wizards.snipex

Source Code of org.cfeclipse.cfml.snippets.wizards.snipex.SnippetToSnipExCategoryPage

/**
*
*/
package org.cfeclipse.cfml.snippets.wizards.snipex;

import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.jface.viewers.ISelectionChangedListener;
import org.eclipse.jface.viewers.ITreeSelection;
import org.eclipse.jface.viewers.SelectionChangedEvent;
import org.eclipse.jface.viewers.TreeViewer;
import org.eclipse.jface.wizard.WizardPage;
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Tree;

import org.cfeclipse.cfml.snippets.views.snips.SnipTreeViewLabelProvider;
import org.cfeclipse.cfml.snippets.wizards.snipex.SnippetToSnipExWizard;
import org.cfeclipse.snippet.snipex.Library;
import org.cfeclipse.snippet.snipex.SnipEx;

/**
* @author markdrew
*
*/
public class SnippetToSnipExCategoryPage extends WizardPage {

 
 
  //The snipEx server to submit this to
  private TreeViewer categoryTree;
 
  private boolean isPageComplete = false;
 
  //logger for this class
  //private Log logger = LogFactory.getLog(SnippetToSnipExCategoryPage.class);
 
  public SnippetToSnipExCategoryPage(String pageName) {
    super(pageName);
    setTitle(pageName);
  }

  /**
   * @param pageName
   * @param title
   * @param titleImage
   */
  public SnippetToSnipExCategoryPage(String pageName, String title,
      ImageDescriptor titleImage) {
    super(pageName, title, titleImage);
    // TODO Auto-generated constructor stub
  }

  /* (non-Javadoc)
   * @see org.eclipse.jface.dialogs.IDialogPage#createControl(org.eclipse.swt.widgets.Composite)
   */
  public void createControl(Composite parent) {
    Composite container = new Composite(parent, SWT.NULL);
    GridLayout layout = new GridLayout();
    container.setLayout(layout);
    layout.numColumns = 1;
    layout.marginHeight = 2;
    layout.marginWidth = 2;
   
   
    Label lbl_TreeLabel = new Label(container, SWT.NONE);
    lbl_TreeLabel.setText("Select category to export snippet to");

   
    GridData layoutData = new GridData(GridData.FILL_BOTH);
    Tree tree = new Tree(container, SWT.SINGLE);
    tree.setLayoutData(layoutData);
    categoryTree = new TreeViewer(tree);
    categoryTree.setContentProvider(new SnipExCategoriesContentProvider());
    categoryTree.setLabelProvider(new SnipTreeViewLabelProvider());
    categoryTree.setInput("root");
    categoryTree.addSelectionChangedListener(new ISelectionChangedListener(){

      public void selectionChanged(SelectionChangedEvent event) {
        isPageValid();
       
      }
     
    });
   
   
    setControl(container);
  }

 


  public void setVisible(boolean visible) {
    super.setVisible(visible);
    if(visible){
      SnippetToSnipExWizard wizardmain = (SnippetToSnipExWizard)getWizard();
      String server = wizardmain.getDescriptionPage().getServerList().getText();
      categoryTree.setContentProvider(new SnipExCategoriesContentProvider(server, false));
      isPageValid();
     
    }
  }
 
  public boolean canFlipToNextPage() {
    return isPageComplete;
   
  }
 
  public boolean isPageComplete(){
    return isPageComplete;
  }
 
  private boolean isPageValid(){
   
    if(categoryTree.getSelection().isEmpty()){
      setErrorMessage("Select a category to export this snippet to");
      isPageComplete = false;
      getWizard().getContainer().updateButtons();
       
      return false;
    }
   
    getWizard().getContainer().updateButtons();
    isPageComplete = true;
    setErrorMessage(null);
    return true;
  }

  public TreeViewer getCategoryTree() {
    return categoryTree;
  }
 
  public String getCategoryID(){
    ITreeSelection selection = (ITreeSelection)categoryTree.getSelection();
    Object firstElement = selection.getFirstElement();
   
    if (firstElement instanceof Library) {
      Library lib = (Library) firstElement;
      return lib.getID();
     
    }
    else if (firstElement instanceof SnipEx) {
      SnipEx snipEx = (SnipEx) firstElement;
      return snipEx.getID();
     
    }
    return "0";
  }
 
}
TOP

Related Classes of org.cfeclipse.cfml.snippets.wizards.snipex.SnippetToSnipExCategoryPage

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.