KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > jimm > datavision > gui > FPLeafInfo


1 package jimm.datavision.gui;
2 import jimm.datavision.*;
3 import jimm.datavision.source.Column;
4 import jimm.datavision.gui.parameter.ParamEditWin;
5
6 /**
7  * The classes in this file are leaf nodes for the {@link FieldPickerTree}.
8  *
9  * @author Jim Menard, <a HREF="mailto:jimm@io.com">jimm@io.com</a>
10  */

11
12 // ================================================================
13
public abstract class FPLeafInfo {
14 protected Object JavaDoc leaf;
15 protected Designer designer;
16 FPLeafInfo(Draggable obj, Designer designer) {
17     leaf = obj;
18     this.designer = designer;
19 }
20 public Object JavaDoc getLeaf() { return leaf; }
21 public String JavaDoc toString() {
22     return (leaf instanceof Nameable)
23     ? ((Nameable)leaf).getName() : leaf.toString();
24 }
25 public String JavaDoc dragString() { return ((Draggable)leaf).dragString(); }
26 abstract boolean isDeletable();
27 // Only used for formulas, parameters, and user columns
28
void openEditor() {}
29 }
30
31 // ================================================================
32
class ColumnInfo extends FPLeafInfo {
33 ColumnInfo(Column c, Designer designer) { super(c, designer); }
34 boolean isDeletable() { return false; }
35 }
36
37 // ================================================================
38
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 // ================================================================
49
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 // ================================================================
60
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 // ================================================================
71
class SpecialInfo extends FPLeafInfo {
72 protected String JavaDoc specialString;
73 protected String JavaDoc dragString;
74 SpecialInfo(String JavaDoc ss, String JavaDoc ds, Designer designer) {
75     super(null, designer);
76     specialString = ss;
77     dragString = ds;
78 }
79 public String JavaDoc toString() { return specialString; }
80 public String JavaDoc dragString() { return dragString; }
81 boolean isDeletable() { return false; }
82 }
83
84 // class AggregateInfo extends FPLeafInfo {
85
// AggregateInfo(AggregateField f, Designer designer) { super(f, designer); }
86
// public String toString() { return f.designLabel(); }
87
// boolean isDeletable() { return false; }
88
// }
89
Popular Tags