1 package jimm.datavision.gui; 2 import jimm.datavision.*; 3 import jimm.datavision.source.Column; 4 import jimm.datavision.gui.parameter.ParamEditWin; 5 6 11 12 public abstract class FPLeafInfo { 14 protected Object leaf; 15 protected Designer designer; 16 FPLeafInfo(Draggable obj, Designer designer) { 17 leaf = obj; 18 this.designer = designer; 19 } 20 public Object getLeaf() { return leaf; } 21 public String toString() { 22 return (leaf instanceof Nameable) 23 ? ((Nameable)leaf).getName() : leaf.toString(); 24 } 25 public String dragString() { return ((Draggable)leaf).dragString(); } 26 abstract boolean isDeletable(); 27 void openEditor() {} 29 } 30 31 class ColumnInfo extends FPLeafInfo { 33 ColumnInfo(Column c, Designer designer) { super(c, designer); } 34 boolean isDeletable() { return false; } 35 } 36 37 class FormulaInfo extends FPLeafInfo { 39 protected Report report; 40 FormulaInfo(Report r, Formula f, Designer designer) { 41 super(f, designer); 42 report = r; 43 } 44 boolean isDeletable() { return !report.containsReferenceTo((Formula)leaf); } 45 void openEditor() { new FormulaWin(designer, report, (Formula)leaf); } 46 } 47 48 class ParameterInfo extends FPLeafInfo { 50 protected Report report; 51 ParameterInfo(Report r, Parameter p, Designer designer) { 52 super(p, designer); 53 report = r; 54 } 55 boolean isDeletable() { return !report.containsReferenceTo((Parameter)leaf); } 56 void openEditor() { new ParamEditWin(designer, (Parameter)leaf); } 57 } 58 59 class UserColumnInfo extends FPLeafInfo { 61 protected Report report; 62 UserColumnInfo(Report r, UserColumn uc, Designer designer) { 63 super(uc, designer); 64 report = r; 65 } 66 boolean isDeletable() { return !report.containsReferenceTo((UserColumn)leaf); } 67 void openEditor() { new UserColumnWin(designer, report, (UserColumn)leaf); } 68 } 69 70 class SpecialInfo extends FPLeafInfo { 72 protected String specialString; 73 protected String dragString; 74 SpecialInfo(String ss, String ds, Designer designer) { 75 super(null, designer); 76 specialString = ss; 77 dragString = ds; 78 } 79 public String toString() { return specialString; } 80 public String dragString() { return dragString; } 81 boolean isDeletable() { return false; } 82 } 83 84 | Popular Tags |