1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
|
// **********************************************************************
//
// Copyright (c) 2003-2005 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
//
// **********************************************************************
package IceGrid.TreeNode;
import java.awt.Component;
import javax.swing.JTree;
import javax.swing.tree.DefaultTreeCellRenderer;
import IceGrid.AdapterDescriptor;
import IceGrid.Model;
class Adapter extends Leaf
{
public Component getTreeCellRendererComponent(
JTree tree,
Object value,
boolean sel,
boolean expanded,
boolean leaf,
int row,
boolean hasFocus)
{
if(_node == null)
{
return null;
}
else
{
if(_cellRenderer == null)
{
//
// Initialization
//
_cellRenderer = new DefaultTreeCellRenderer();
}
_cellRenderer.setToolTipText(_toolTip);
return _cellRenderer.getTreeCellRendererComponent(
tree, value, sel, expanded, leaf, row, hasFocus);
}
}
Adapter(AdapterDescriptor descriptor, Model model, Node node)
{
super(descriptor.name, model);
_descriptor = descriptor;
_node = node;
if(_node != null)
{
_proxy = node.registerAdapter(_descriptor.id, this);
createToolTip();
}
}
void unregister()
{
if(_node != null)
{
_node.unregisterAdapter(_descriptor.id);
_node = null;
}
}
void updateProxy(Ice.ObjectPrx proxy)
{
assert(_node != null);
_proxy = proxy;
createToolTip();
fireNodeChangedEvent(this);
}
private void createToolTip()
{
if(_proxy == null)
{
_toolTip = null;
}
else
{
_toolTip = "Proxy: " + _model.getCommunicator().proxyToString(_proxy);
}
}
private AdapterDescriptor _descriptor;
private Node _node;
private Ice.ObjectPrx _proxy;
private String _toolTip;
static private DefaultTreeCellRenderer _cellRenderer;
}
|