//========================================================================== // FileTreeContentProvider.d // Written in the D Programming Language (http://www.digitalmars.com/d) /*************************************************************************** * * * Port of Listing 4 from: * Using the Eclipse GUI outside the Eclipse Workbench, Part 1: * Using JFace and SWT in stand-alone mode * http://www.ibm.com/developerworks/java/library/os-ecgui1/index.html?dwzone=java * * Authors: William V. Baxter III, OLM Digital, Inc. * Created: 11 Apr 2008 * Copyright: (C) 2008 William Baxter, OLM Digital, Inc. */ //=========================================================================== module FileTreeContentProvider; version(Tango) import std.compat; import dwtx.jface.viewers.ITreeContentProvider; import dwtx.jface.viewers.Viewer; import tango.io.FilePath; class FileTreeContentProvider : ITreeContentProvider { Object[] getChildren(Object element) { Object[] kids = (cast(FilePath) element).toList(); return kids == null ? new Object[0] : kids; } Object[] getElements(Object element) { return getChildren(element); } bool hasChildren(Object element) { return getChildren(element).length > 0; } Object getParent(Object element) { return new FilePath((cast(FilePath)element).parent); } void dispose() { } public void inputChanged(Viewer viewer, Object old_input, Object new_input) { } } //--- Emacs setup --- // Local Variables: // c-basic-offset: 4 // indent-tabs-mode: nil // End: