1 | package com.framsticks.gui.tree; |
---|
2 | |
---|
3 | import java.util.LinkedList; |
---|
4 | import java.util.List; |
---|
5 | |
---|
6 | |
---|
7 | import com.framsticks.gui.AbstractPanel; |
---|
8 | import com.framsticks.gui.Frame; |
---|
9 | import com.framsticks.gui.ImageProvider; |
---|
10 | |
---|
11 | public class MetaNode extends AbstractNode { |
---|
12 | |
---|
13 | protected final Frame frame; |
---|
14 | protected final List<Object> children = new LinkedList<>(); |
---|
15 | protected String name = "meta node"; |
---|
16 | |
---|
17 | /** |
---|
18 | * @param frame |
---|
19 | */ |
---|
20 | public MetaNode(Frame frame) { |
---|
21 | this.frame = frame; |
---|
22 | } |
---|
23 | |
---|
24 | /** |
---|
25 | * @return the children |
---|
26 | */ |
---|
27 | public List<Object> getChildren() { |
---|
28 | return children; |
---|
29 | } |
---|
30 | |
---|
31 | /** |
---|
32 | * @return the name |
---|
33 | */ |
---|
34 | public String getName() { |
---|
35 | return name; |
---|
36 | } |
---|
37 | |
---|
38 | /** |
---|
39 | * @param name the name to set |
---|
40 | */ |
---|
41 | public void setName(String name) { |
---|
42 | this.name = name; |
---|
43 | } |
---|
44 | |
---|
45 | @Override |
---|
46 | public int getChildCount() { |
---|
47 | return children.size(); |
---|
48 | } |
---|
49 | |
---|
50 | @Override |
---|
51 | public Object getChild(int number) { |
---|
52 | return children.get(number); |
---|
53 | } |
---|
54 | |
---|
55 | @Override |
---|
56 | public int getIndexOfChild(Object child) { |
---|
57 | return children.indexOf(child); |
---|
58 | } |
---|
59 | |
---|
60 | @Override |
---|
61 | public String toString() { |
---|
62 | return name; |
---|
63 | } |
---|
64 | |
---|
65 | @Override |
---|
66 | public boolean isLeaf() { |
---|
67 | return false; |
---|
68 | } |
---|
69 | |
---|
70 | @Override |
---|
71 | public void render(TreeCellRenderer renderer) { |
---|
72 | renderer.setIcon(ImageProvider.loadImage(ImageProvider.SERVER)); |
---|
73 | renderer.setText(name); |
---|
74 | renderer.setToolTipText("?"); |
---|
75 | } |
---|
76 | |
---|
77 | @Override |
---|
78 | public AbstractPanel getPanel() { |
---|
79 | return frame.getEmptyPanel(); |
---|
80 | } |
---|
81 | |
---|
82 | } |
---|