comparison dwtx/jface/viewers/TreeColumnViewerLabelProvider.d @ 10:b6c35faf97c8

Viewers
author Frank Benoit <benoit@tionex.de>
date Mon, 31 Mar 2008 00:47:19 +0200
parents
children ea8ff534f622
comparison
equal deleted inserted replaced
9:6c14e54dfc11 10:b6c35faf97c8
1 /*******************************************************************************
2 * Copyright (c) 2006, 2007 IBM Corporation and others.
3 * All rights reserved. This program and the accompanying materials
4 * are made available under the terms of the Eclipse Public License v1.0
5 * which accompanies this distribution, and is available at
6 * http://www.eclipse.org/legal/epl-v10.html
7 *
8 * Contributors:
9 * IBM Corporation - initial API and implementation
10 * Tom Schindl <tom.schindl@bestsolution.at> - initial API and implementation
11 * Port to the D programming language:
12 * Frank Benoit <benoit@tionex.de>
13 *******************************************************************************/
14
15 module dwtx.jface.viewers.TreeColumnViewerLabelProvider;
16
17 import dwtx.jface.viewers.IBaseLabelProvider;
18 import dwtx.jface.viewers.TableColumnViewerLabelProvider;
19 import dwtx.jface.viewers.ITreePathLabelProvider;
20 import dwtx.jface.viewers.ViewerLabel;
21 import dwtx.jface.viewers.TreePath;
22 import dwtx.jface.viewers.ILabelProviderListener;
23
24 import dwt.dwthelper.utils;
25
26 /**
27 * TreeViewerLabelProvider is the ViewerLabelProvider that handles TreePaths.
28 *
29 * @since 3.3
30 *
31 */
32 public class TreeColumnViewerLabelProvider :
33 TableColumnViewerLabelProvider {
34 private ITreePathLabelProvider treePathProvider;
35 private void init_treePathProvider(){
36 treePathProvider = new class ITreePathLabelProvider {
37 /*
38 * (non-Javadoc)
39 *
40 * @see dwtx.jface.viewers.ITreePathLabelProvider#updateLabel(dwtx.jface.viewers.ViewerLabel,
41 * dwtx.jface.viewers.TreePath)
42 */
43 public void updateLabel(ViewerLabel label, TreePath elementPath) {
44 // Do nothing by default
45
46 }
47
48 /*
49 * (non-Javadoc)
50 *
51 * @see dwtx.jface.viewers.IBaseLabelProvider#dispose()
52 */
53 public void dispose() {
54 // Do nothing by default
55
56 }
57
58 /*
59 * (non-Javadoc)
60 *
61 * @see dwtx.jface.viewers.IBaseLabelProvider#addListener(dwtx.jface.viewers.ILabelProviderListener)
62 */
63 public void addListener(ILabelProviderListener listener) {
64 // Do nothing by default
65
66 }
67
68 /*
69 * (non-Javadoc)
70 *
71 * @see dwtx.jface.viewers.IBaseLabelProvider#removeListener(dwtx.jface.viewers.ILabelProviderListener)
72 */
73 public void removeListener(ILabelProviderListener listener) {
74 // Do nothing by default
75
76 }
77
78 /* (non-Javadoc)
79 * @see dwtx.jface.viewers.IBaseLabelProvider#isLabelProperty(java.lang.Object, java.lang.String)
80 */
81 public bool isLabelProperty(Object element, String property) {
82 return false;
83 }
84
85 };
86 }
87
88 /**
89 * Create a new instance of the receiver with the supplied labelProvider.
90 *
91 * @param labelProvider
92 */
93 public this(IBaseLabelProvider labelProvider) {
94 init_treePathProvider();
95 super(labelProvider);
96 }
97
98 /**
99 * Update the label for the element with TreePath.
100 *
101 * @param label
102 * @param elementPath
103 */
104 public void updateLabel(ViewerLabel label, TreePath elementPath) {
105 treePathProvider.updateLabel(label, elementPath);
106
107 }
108
109 /*
110 * (non-Javadoc)
111 *
112 * @see dwtx.jface.viewers.ViewerLabelProvider#setProviders(java.lang.Object)
113 */
114 public void setProviders(Object provider) {
115 super.setProviders(provider);
116 if ( auto p = cast(ITreePathLabelProvider) provider )
117 treePathProvider = p;
118 }
119
120 /**
121 * Return the ITreePathLabelProvider for the receiver.
122 *
123 * @return Returns the treePathProvider.
124 */
125 public ITreePathLabelProvider getTreePathProvider() {
126 return treePathProvider;
127 }
128
129 }