|
Lines 8-13
Link Here
|
| 8 |
* Contributors: |
8 |
* Contributors: |
| 9 |
* IBM Corporation - initial API and implementation |
9 |
* IBM Corporation - initial API and implementation |
| 10 |
* Pawel Piech (Wind River) - added support for a virtual tree model viewer (Bug 242489) |
10 |
* Pawel Piech (Wind River) - added support for a virtual tree model viewer (Bug 242489) |
|
|
11 |
* Patrick Chuong (Texas Instruments) - added support for checkbox (Bug 286310) |
| 11 |
*******************************************************************************/ |
12 |
*******************************************************************************/ |
| 12 |
package org.eclipse.debug.internal.ui.viewers.model; |
13 |
package org.eclipse.debug.internal.ui.viewers.model; |
| 13 |
|
14 |
|
|
Lines 24-32
Link Here
|
| 24 |
import org.eclipse.core.runtime.IProgressMonitor; |
25 |
import org.eclipse.core.runtime.IProgressMonitor; |
| 25 |
import org.eclipse.debug.internal.core.IInternalDebugCoreConstants; |
26 |
import org.eclipse.debug.internal.core.IInternalDebugCoreConstants; |
| 26 |
import org.eclipse.debug.internal.core.commands.Request; |
27 |
import org.eclipse.debug.internal.core.commands.Request; |
|
|
28 |
import org.eclipse.debug.internal.ui.viewers.model.provisional.ICheckUpdate; |
| 27 |
import org.eclipse.debug.internal.ui.viewers.model.provisional.IChildrenUpdate; |
29 |
import org.eclipse.debug.internal.ui.viewers.model.provisional.IChildrenUpdate; |
| 28 |
import org.eclipse.debug.internal.ui.viewers.model.provisional.IColumnPresentation; |
30 |
import org.eclipse.debug.internal.ui.viewers.model.provisional.IColumnPresentation; |
| 29 |
import org.eclipse.debug.internal.ui.viewers.model.provisional.IColumnPresentationFactory; |
31 |
import org.eclipse.debug.internal.ui.viewers.model.provisional.IColumnPresentationFactory; |
|
|
32 |
import org.eclipse.debug.internal.ui.viewers.model.provisional.IElementCheckReceiver; |
| 30 |
import org.eclipse.debug.internal.ui.viewers.model.provisional.IElementContentProvider; |
33 |
import org.eclipse.debug.internal.ui.viewers.model.provisional.IElementContentProvider; |
| 31 |
import org.eclipse.debug.internal.ui.viewers.model.provisional.IElementEditor; |
34 |
import org.eclipse.debug.internal.ui.viewers.model.provisional.IElementEditor; |
| 32 |
import org.eclipse.debug.internal.ui.viewers.model.provisional.IElementLabelProvider; |
35 |
import org.eclipse.debug.internal.ui.viewers.model.provisional.IElementLabelProvider; |
|
Lines 55-60
Link Here
|
| 55 |
import org.eclipse.swt.events.DisposeEvent; |
58 |
import org.eclipse.swt.events.DisposeEvent; |
| 56 |
import org.eclipse.swt.events.PaintEvent; |
59 |
import org.eclipse.swt.events.PaintEvent; |
| 57 |
import org.eclipse.swt.events.PaintListener; |
60 |
import org.eclipse.swt.events.PaintListener; |
|
|
61 |
import org.eclipse.swt.events.SelectionEvent; |
| 58 |
import org.eclipse.swt.graphics.Color; |
62 |
import org.eclipse.swt.graphics.Color; |
| 59 |
import org.eclipse.swt.graphics.Font; |
63 |
import org.eclipse.swt.graphics.Font; |
| 60 |
import org.eclipse.swt.graphics.FontData; |
64 |
import org.eclipse.swt.graphics.FontData; |
|
Lines 78-84
Link Here
|
| 78 |
* @since 3.3 |
82 |
* @since 3.3 |
| 79 |
*/ |
83 |
*/ |
| 80 |
public class InternalTreeModelViewer extends TreeViewer |
84 |
public class InternalTreeModelViewer extends TreeViewer |
| 81 |
implements ITreeModelViewer, ITreeModelContentProviderTarget, ITreeModelLabelProviderTarget |
85 |
implements ITreeModelViewer, ITreeModelContentProviderTarget, ITreeModelLabelProviderTarget, ITreeModelCheckProviderTarget |
| 82 |
{ |
86 |
{ |
| 83 |
|
87 |
|
| 84 |
private IPresentationContext fContext; |
88 |
private IPresentationContext fContext; |
|
Lines 1015-1020
Link Here
|
| 1015 |
if (fIsPopup) { |
1019 |
if (fIsPopup) { |
| 1016 |
((ITreeModelContentProvider)getContentProvider()).setSuppressModelControlDeltas(true); |
1020 |
((ITreeModelContentProvider)getContentProvider()).setSuppressModelControlDeltas(true); |
| 1017 |
} |
1021 |
} |
|
|
1022 |
if ((style & SWT.CHECK) != 0) { |
| 1023 |
context.setProperty(ICheckUpdate.PROP_CHECK, Boolean.TRUE); |
| 1024 |
} |
| 1018 |
} |
1025 |
} |
| 1019 |
|
1026 |
|
| 1020 |
/** |
1027 |
/** |
|
Lines 2248-2251
Link Here
|
| 2248 |
public void updateViewer(IModelDelta delta) { |
2255 |
public void updateViewer(IModelDelta delta) { |
| 2249 |
((ITreeModelContentProvider)getContentProvider()).updateModel(delta); |
2256 |
((ITreeModelContentProvider)getContentProvider()).updateModel(delta); |
| 2250 |
} |
2257 |
} |
|
|
2258 |
|
| 2259 |
/* |
| 2260 |
* (non-Javadoc) |
| 2261 |
* @see org.eclipse.debug.internal.ui.viewers.model.ITreeModelCheckProvider#setElementChecked(org.eclipse.jface.viewers.TreePath, boolean, boolean) |
| 2262 |
*/ |
| 2263 |
public void setElementChecked(TreePath path, boolean checked, boolean grayed) { |
| 2264 |
Widget widget = findItem(path); |
| 2265 |
|
| 2266 |
if (widget != null && widget instanceof TreeItem && !widget.isDisposed()) { |
| 2267 |
TreeItem item = (TreeItem)widget; |
| 2268 |
|
| 2269 |
item.setChecked(checked); |
| 2270 |
item.setGrayed(grayed); |
| 2271 |
} |
| 2272 |
} |
| 2273 |
|
| 2274 |
/* |
| 2275 |
* (non-Javadoc) |
| 2276 |
* @see org.eclipse.jface.viewers.StructuredViewer#handleSelect(org.eclipse.swt.events.SelectionEvent) |
| 2277 |
*/ |
| 2278 |
protected void handleSelect(SelectionEvent event) { |
| 2279 |
if (event.detail == SWT.CHECK) { |
| 2280 |
TreeItem item = (TreeItem) event.item; |
| 2281 |
super.handleSelect(event); |
| 2282 |
|
| 2283 |
Object element = item.getData(); |
| 2284 |
if (element != null) { |
| 2285 |
IElementCheckReceiver listener = ViewerAdapterService.getElementCheckListener(element); |
| 2286 |
if (listener != null) { |
| 2287 |
TreePath path = getTreePathFromItem(item); |
| 2288 |
listener.setChecked(getPresentationContext(), getInput(), path, item.getChecked()); |
| 2289 |
} |
| 2290 |
} |
| 2291 |
} else { |
| 2292 |
super.handleSelect(event); |
| 2293 |
} |
| 2294 |
} |
| 2251 |
} |
2295 |
} |