X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=org.argeo.cms.jcr.ui%2Fsrc%2Forg%2Fargeo%2Feclipse%2Fui%2Fjcr%2FRowColumnLabelProvider.java;fp=org.argeo.cms.jcr.ui%2Fsrc%2Forg%2Fargeo%2Feclipse%2Fui%2Fjcr%2FRowColumnLabelProvider.java;h=70c71efeaa0d4eb4a10115ba166af8bfaa6b0e36;hb=bce03099b0d2f1758e7a3d74fba339d0200924d5;hp=0000000000000000000000000000000000000000;hpb=0ea2992e5f3803cd98b5981f27274faa922bc199;p=gpl%2Fargeo-jcr.git diff --git a/org.argeo.cms.jcr.ui/src/org/argeo/eclipse/ui/jcr/RowColumnLabelProvider.java b/org.argeo.cms.jcr.ui/src/org/argeo/eclipse/ui/jcr/RowColumnLabelProvider.java new file mode 100644 index 0000000..70c71ef --- /dev/null +++ b/org.argeo.cms.jcr.ui/src/org/argeo/eclipse/ui/jcr/RowColumnLabelProvider.java @@ -0,0 +1,111 @@ +package org.argeo.eclipse.ui.jcr; + +import javax.jcr.RepositoryException; +import javax.jcr.query.Row; + +import org.eclipse.jface.viewers.ColumnLabelProvider; +import org.eclipse.swt.graphics.Color; +import org.eclipse.swt.graphics.Font; +import org.eclipse.swt.graphics.Image; + +/** Simplifies writing JCR-based column label provider. */ +public class RowColumnLabelProvider extends ColumnLabelProvider { + private static final long serialVersionUID = -6586692836928505358L; + + protected String getRowText(Row row) throws RepositoryException { + return super.getText(row); + } + + protected String getRowToolTipText(Row row) throws RepositoryException { + return super.getToolTipText(row); + } + + protected Image getRowImage(Row row) throws RepositoryException { + return super.getImage(row); + } + + protected Font getRowFont(Row row) throws RepositoryException { + return super.getFont(row); + } + + public Color getRowBackground(Row row) throws RepositoryException { + return super.getBackground(row); + } + + public Color getRowForeground(Row row) throws RepositoryException { + return super.getForeground(row); + } + + @Override + public String getText(Object element) { + try { + if (element instanceof Row) + return getRowText((Row) element); + else + throw new IllegalArgumentException("Unsupported element type " + element.getClass()); + } catch (RepositoryException e) { + throw new IllegalStateException("Repository exception when accessing " + element, e); + } + } + + @Override + public Image getImage(Object element) { + try { + if (element instanceof Row) + return getRowImage((Row) element); + else + throw new IllegalArgumentException("Unsupported element type " + element.getClass()); + } catch (RepositoryException e) { + throw new IllegalStateException("Repository exception when accessing " + element, e); + } + } + + @Override + public String getToolTipText(Object element) { + try { + if (element instanceof Row) + return getRowToolTipText((Row) element); + else + throw new IllegalArgumentException("Unsupported element type " + element.getClass()); + } catch (RepositoryException e) { + throw new IllegalStateException("Repository exception when accessing " + element, e); + } + } + + @Override + public Font getFont(Object element) { + try { + if (element instanceof Row) + return getRowFont((Row) element); + else + throw new IllegalArgumentException("Unsupported element type " + element.getClass()); + } catch (RepositoryException e) { + throw new IllegalStateException("Repository exception when accessing " + element, e); + } + } + + @Override + public Color getBackground(Object element) { + try { + if (element instanceof Row) + return getRowBackground((Row) element); + else + throw new IllegalArgumentException("Unsupported element type " + element.getClass()); + } catch (RepositoryException e) { + throw new IllegalStateException("Repository exception when accessing " + element, e); + } + } + + @Override + public Color getForeground(Object element) { + try { + if (element instanceof Row) + return getRowForeground((Row) element); + else + throw new IllegalArgumentException("Unsupported element type " + element.getClass()); + } catch (RepositoryException e) { + throw new IllegalStateException("Repository exception when accessing " + element, e); + } + } + +}