Package jimm.datavision.gui

Source Code of jimm.datavision.gui.SpecialInfo

package jimm.datavision.gui;
import jimm.datavision.*;
import jimm.datavision.source.Column;
import jimm.datavision.gui.parameter.ParamEditWin;

/**
* The classes in this file are leaf nodes for the {@link FieldPickerTree}.
*
* @author Jim Menard, <a href="mailto:jimm@io.com">jimm@io.com</a>
*/

// ================================================================
public abstract class FPLeafInfo {
protected Object leaf;
protected Designer designer;
FPLeafInfo(Draggable obj, Designer designer) {
    leaf = obj;
    this.designer = designer;
}
public Object getLeaf() { return leaf; }
public String toString() {
    return (leaf instanceof Nameable)
  ? ((Nameable)leaf).getName() : leaf.toString();
}
public String dragString() { return ((Draggable)leaf).dragString(); }
abstract boolean isDeletable();
// Only used for formulas, parameters, and user columns
void openEditor() {}
}

// ================================================================
class ColumnInfo extends FPLeafInfo {
ColumnInfo(Column c, Designer designer) { super(c, designer); }
boolean isDeletable() { return false; }
}

// ================================================================
class FormulaInfo extends FPLeafInfo {
protected Report report;
FormulaInfo(Report r, Formula f, Designer designer) {
    super(f, designer);
    report = r;
}
boolean isDeletable() { return !report.containsReferenceTo((Formula)leaf); }
void openEditor() { new FormulaWin(designer, report, (Formula)leaf); }
}

// ================================================================
class ParameterInfo extends FPLeafInfo {
protected Report report;
ParameterInfo(Report r, Parameter p, Designer designer) {
    super(p, designer);
    report = r;
}
boolean isDeletable() { return !report.containsReferenceTo((Parameter)leaf); }
void openEditor() { new ParamEditWin(designer, (Parameter)leaf); }
}

// ================================================================
class UserColumnInfo extends FPLeafInfo {
protected Report report;
UserColumnInfo(Report r, UserColumn uc, Designer designer) {
    super(uc, designer);
    report = r;
}
boolean isDeletable() { return !report.containsReferenceTo((UserColumn)leaf); }
void openEditor() { new UserColumnWin(designer, report, (UserColumn)leaf); }
}

// ================================================================
class SpecialInfo extends FPLeafInfo {
protected String specialString;
protected String dragString;
SpecialInfo(String ss, String ds, Designer designer) {
    super(null, designer);
    specialString = ss;
    dragString = ds;
}
public String toString() { return specialString; }
public String dragString() { return dragString; }
boolean isDeletable() { return false; }
}

//  class AggregateInfo extends FPLeafInfo {
//  AggregateInfo(AggregateField f, Designer designer) { super(f, designer); }
//  public String toString() { return f.designLabel(); }
//  boolean isDeletable() { return false; }
//  }
TOP

Related Classes of jimm.datavision.gui.SpecialInfo

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.