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) { } }