View Javadoc

1   /*
2    * DiagramTreeModel.java
3    *
4    * Created on 23. juli 2005, 14:29
5    */
6   
7   package com.vikash.firsttool.UI;
8   import com.vikash.firsttool.Diagram.*;
9   import javax.swing.event.*;
10  import javax.swing.tree.*;
11  import java.util.*;
12  /***
13   *
14   * @author  studajb
15   */
16  public class DiagramTreeModel extends DefaultTreeModel {
17      
18          SWOTDiagramType SWOTdiagrams= new SWOTDiagramType();
19          AssetDiagramType Assetdiagrams= new AssetDiagramType();
20          UnwantedIncidentDiagramType Unwanteddiagrams= new UnwantedIncidentDiagramType();
21          RiskDiagramType Riskdiagrams= new RiskDiagramType();
22          TreatmentDiagramType Treatmentdiagrams= new TreatmentDiagramType();
23          TreatmentEffectDiagramType TreatmentEffectdiagrams= new TreatmentEffectDiagramType();
24          DiagramTreePane Diagramtree;
25          DefaultMutableTreeNode root;
26          boolean changed;
27      /*** Creates a new instance of DiagramTreeModel */
28      public DiagramTreeModel(DefaultMutableTreeNode root,DiagramTreePane tree) {
29           super(root);
30           this.Diagramtree=tree;
31           addTreeModelListener(new DiagramTreeModelListener());
32           addElementTypes(root);      
33      }
34      public void addElementTypes(DefaultMutableTreeNode root){
35                            this.root=root;
36                            
37                            root.add(SWOTdiagrams);
38                            root.add(Assetdiagrams);
39                            root.add(Unwanteddiagrams);
40                            root.add(Riskdiagrams);
41                            root.add(Treatmentdiagrams);
42                            root.add(TreatmentEffectdiagrams);
43                            
44      }
45      public void addElement(ToolInternalFrame frame){
46          String name=frame.getFrameTitle();
47          ToolGraph graph=frame.getGraph();
48          TreeElement node=new TreeElement(name);
49          node.setInternalFrame(frame);
50                            if(graph instanceof SWOTDiagram){
51                                   
52                                   insertNodeInto(node,SWOTdiagrams,SWOTdiagrams.getChildCount());
53                                  
54                                   }
55                                 
56                             else if(graph instanceof AssetDiagram){
57                                  
58                                  insertNodeInto(node,Assetdiagrams,Assetdiagrams.getChildCount());
59                                  
60                                  
61                              }
62                              
63                              else if(graph instanceof UnwantedIncidentDiagram){
64                                  
65                                  insertNodeInto(node,Unwanteddiagrams,Unwanteddiagrams.getChildCount());
66                                  
67                                  
68                              }
69                              else if(graph instanceof TreatmentDiagram){
70                                  
71                                  insertNodeInto(node,Treatmentdiagrams,Treatmentdiagrams.getChildCount());
72                                 
73                                  
74                              }
75                              else if(graph instanceof RiskDiagram){
76                                  
77                                  insertNodeInto(node,Riskdiagrams,Riskdiagrams.getChildCount());
78                                 
79                                  
80                                  
81                              }
82                             else if(graph instanceof TreatmentEffectDiagram){
83                                  insertNodeInto(node,TreatmentEffectdiagrams,TreatmentEffectdiagrams.getChildCount());
84                                  
85                                  
86                              }
87                             else{}
88           showTreeElement(node);
89                             
90      }
91      public void showTreeElement(TreeElement node){
92         if(node!=null){
93            
94         TreeNode[] nodes=getPathToRoot(node);
95         TreePath path=new TreePath(nodes);
96         Diagramtree.scrollPathToVisible(path);
97         Diagramtree.setSelectionPath(path);
98         }
99     }
100    public void setTreeChanged(boolean flag){
101        this.changed=flag;
102     }
103     public boolean isTreeChanged(){
104         return this.changed;
105     }
106     
107     class DiagramTreeModelListener implements TreeModelListener{
108         
109         public void treeNodesChanged(TreeModelEvent e){
110            setTreeChanged(true);
111             
112         }
113         
114         public void treeNodesInserted(TreeModelEvent e){
115             setTreeChanged(true);
116             }
117         
118         public  void treeNodesRemoved(TreeModelEvent e){
119             setTreeChanged(true);
120         }
121         
122         public void treeStructureChanged(TreeModelEvent e){
123             setTreeChanged(true);
124         }
125         
126     }
127    
128    
129 }
130 
131 class SWOTDiagramType extends DefaultMutableTreeNode{
132      
133     
134      public String toString() {
135                     String name="SWOT Diagrams";
136 			//return model.toString();
137                     return name;
138 		}
139 }
140 
141 class AssetDiagramType extends DefaultMutableTreeNode{
142      
143      public String toString() {
144                     String name="Asset Diagrams";
145 			//return model.toString();
146                     return name;
147 		}
148 }
149 
150 class UnwantedIncidentDiagramType extends DefaultMutableTreeNode{
151     
152      public String toString() {
153                     String name="UnwantedIncident Diagrams";
154 			//return model.toString();
155                     return name;
156 		}
157 }
158 class RiskDiagramType extends DefaultMutableTreeNode{
159      
160      public String toString() {
161                     String name="Risk Diagrams";
162 			//return model.toString();
163                     return name;
164 		}
165 }
166 
167 class TreatmentDiagramType extends DefaultMutableTreeNode{
168      
169      public String toString() {
170                     String name="Treatment Diagrams";
171 			//return model.toString();
172                     return name;
173 		}
174 }
175 class TreatmentEffectDiagramType extends DefaultMutableTreeNode{
176      
177      public String toString() {
178                     String name="TreatmentEffect Diagrams";
179 			//return model.toString();
180                     return name;
181 		}
182 }