Package edu.stanford.genetics.treeview.plugin.dendroview

Source Code of edu.stanford.genetics.treeview.plugin.dendroview.DendrogramFactory

/*
* Created on Jul 1, 2005
*
* Copyright Alok Saldnaha, all rights reserved.
*/
package edu.stanford.genetics.treeview.plugin.dendroview;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;

import javax.swing.JFrame;

import edu.stanford.genetics.treeview.ConfigNode;
import edu.stanford.genetics.treeview.MainPanel;
import edu.stanford.genetics.treeview.PluginFactory;
import edu.stanford.genetics.treeview.SettingsPanel;
import edu.stanford.genetics.treeview.SettingsPanelHolder;
import edu.stanford.genetics.treeview.TreeviewMenuBarI;
import edu.stanford.genetics.treeview.ViewFrame;
import edu.stanford.genetics.treeview.core.PluginManager;

/**
* @author aloksaldanha
*
*
*/
public class DendrogramFactory extends PluginFactory {
  // presets must be set before static initializer.
  private static ColorPresets colorPresets = new ColorPresets();
  private ColorPresetEditor  cpresetEditor;
  private JFrame cpresetFrame = null;
  static {
    PluginManager.registerPlugin(new DendrogramFactory());
  }

  /* (non-Javadoc)
   * @see edu.stanford.genetics.treeview.PluginFactory#getName()
   */
  public String getPluginName() {
    return "Dendrogram";
  }

  /* (non-Javadoc)
   * @see edu.stanford.genetics.treeview.PluginFactory#createPlugin(edu.stanford.genetics.treeview.ConfigNode)
   */
  public MainPanel restorePlugin(ConfigNode node, ViewFrame viewFrame) {
    DendroView dendroView = new DendroView(viewFrame.getDataModel(), node, viewFrame);
    dendroView.setName("Dendrogram");
    return dendroView;
  }
 
 
 
  public DendrogramFactory() {
    super();
    cpresetEditor = new ColorPresetEditor(colorPresets);
  }

  /* (non-Javadoc)
   * @see edu.stanford.genetics.treeview.PluginFactory#setGlobalNode(edu.stanford.genetics.treeview.ConfigNode)
   */
  public void setGlobalNode(ConfigNode node) {
    super.setGlobalNode(node);
    colorPresets.bindConfig(node.fetchOrCreate("ColorPresets"));
    if (colorPresets.getNumPresets() == 0) {
      colorPresets.addDefaultPresets();
    }
    cpresetEditor.synchronizeFrom();
  }

  /* (non-Javadoc)
   * @see edu.stanford.genetics.treeview.PluginFactory#addPluginConfig(java.awt.Menu)
   */
  public void addPluginConfig(TreeviewMenuBarI globalMenu, final ViewFrame frame) {
    super.addPluginConfig(globalMenu, frame);
    globalMenu.addMenuItem("Dendrogram Color Presets...", new ActionListener() {
      public void actionPerformed(ActionEvent actionEvent) {
        if (cpresetFrame == null) {
          cpresetFrame = new JFrame("Dendrogram Color Presets");
          SettingsPanelHolder holder = new SettingsPanelHolder(cpresetFrame,
              frame.getApp().getGlobalConfig().getRoot());
          holder.addSettingsPanel(cpresetEditor);
          cpresetFrame.getContentPane().add(holder);
        }
        cpresetFrame.pack();
        cpresetFrame.setVisible(true);
      }
    });
    globalMenu.setMnemonic(KeyEvent.VK_D);
  }
 
  /* (non-Javadoc)
   * @see edu.stanford.genetics.treeview.PluginFactory#setGlobalNode(edu.stanford.genetics.treeview.ConfigNode)
   */
  public SettingsPanel getPresetEditor () {
    return cpresetEditor;
  }
  /**
   * mechanism by which Dendroview can access the presets.
   * @return color presets for dendrogram view
   */
  public static ColorPresets getColorPresets() {
    return colorPresets;
  }

  public boolean configurePlugin(ConfigNode node, ViewFrame viewFrame) {
    return true;
  }


}
TOP

Related Classes of edu.stanford.genetics.treeview.plugin.dendroview.DendrogramFactory

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.