X-Git-Url: http://git.phpeclipse.com diff --git a/archive/net.sourceforge.phpeclipse.sql/src/net/sourceforge/phpdt/sql/view/BookmarkLabelProvider.java b/archive/net.sourceforge.phpeclipse.sql/src/net/sourceforge/phpdt/sql/view/BookmarkLabelProvider.java new file mode 100644 index 0000000..c3437b8 --- /dev/null +++ b/archive/net.sourceforge.phpeclipse.sql/src/net/sourceforge/phpdt/sql/view/BookmarkLabelProvider.java @@ -0,0 +1,105 @@ +package net.sourceforge.phpdt.sql.view; + +import java.net.URL; + +import net.sourceforge.phpdt.sql.PHPEclipseSQLPlugin; + +import org.eclipse.jface.resource.ImageDescriptor; +import org.eclipse.jface.viewers.ILabelProvider; +import org.eclipse.jface.viewers.ILabelProviderListener; +import org.eclipse.swt.graphics.Image; + +import net.sourceforge.phpdt.sql.bookmarks.Bookmark; +import net.sourceforge.phpdt.sql.sql.MultiSQLServer; +import net.sourceforge.phpdt.sql.view.bookmark.BookmarkNode; +import net.sourceforge.phpdt.sql.view.bookmark.Root; +import net.sourceforge.phpdt.sql.view.bookmark.SequenceNode; +import net.sourceforge.phpdt.sql.view.bookmark.TableNode; +import net.sourceforge.phpdt.sql.view.bookmark.ViewNode; + +/** + * @author root + * + * To change this generated comment edit the template variable "typecomment": + * Window>Preferences>Java>Templates. + * To enable and disable the creation of type comments go to + * Window>Preferences>Java>Code Generation. + */ +public class BookmarkLabelProvider implements ILabelProvider { + /** + * @see org.eclipse.jface.viewers.ILabelProvider#getImage(Object) + */ + public Image getImage(Object element) { + ImageDescriptor descriptor = null; + if (element instanceof BookmarkNode) { + try { + URL installURL = PHPEclipseSQLPlugin.getDefault().getDescriptor().getInstallURL(); + MultiSQLServer server = MultiSQLServer.getInstance(); + URL url = new URL(installURL, "icons/bookmarks.gif"); + if (server.getConnected() != null && element.equals(server.getConnected())){ + url = new URL(installURL, "icons/connected.gif"); + } + descriptor = ImageDescriptor.createFromURL(url); + } catch (Exception e) { + e.printStackTrace(); + } + } else { + return null; + } + return descriptor.createImage(); + } + + /** + * @see org.eclipse.jface.viewers.ILabelProvider#getText(Object) + */ + public String getText(Object element) { + if (element instanceof BookmarkNode) { + Bookmark bookmark = (Bookmark) element; + return bookmark.getName(); + } else if (element.equals(Root.ROOT)) { + return "ROOT"; + } else if (element instanceof TableNode) { + TableNode node = (TableNode) element; + if (node.getSize() > -1) { + return "T " + element.toString() + " (" + node.getSize() + ")"; + } else { + return "T " + element.toString(); + } + } else if (element instanceof ViewNode) { + ViewNode node = (ViewNode) element; + if (node.getSize() > -1) { + return "V " + element.toString() + " (" + node.getSize() + ")"; + } else { + return "V " + element.toString(); + } + } else if (element instanceof SequenceNode) { + return "S " + element.toString(); + } + return element.toString(); + } + + /** + * @see org.eclipse.jface.viewers.IBaseLabelProvider#addListener(ILabelProviderListener) + */ + public void addListener(ILabelProviderListener listener) { + } + + /** + * @see org.eclipse.jface.viewers.IBaseLabelProvider#dispose() + */ + public void dispose() { + } + + /** + * @see org.eclipse.jface.viewers.IBaseLabelProvider#isLabelProperty(Object, String) + */ + public boolean isLabelProperty(Object element, String property) { + return false; + } + + /** + * @see org.eclipse.jface.viewers.IBaseLabelProvider#removeListener(ILabelProviderListener) + */ + public void removeListener(ILabelProviderListener listener) { + } +}