diff options
Diffstat (limited to 'plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/ui/CDOLabelProvider.java')
-rw-r--r-- | plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/ui/CDOLabelProvider.java | 44 |
1 files changed, 32 insertions, 12 deletions
diff --git a/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/ui/CDOLabelProvider.java b/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/ui/CDOLabelProvider.java index e653d2a51f..7165dde9ac 100644 --- a/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/ui/CDOLabelProvider.java +++ b/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/ui/CDOLabelProvider.java @@ -10,6 +10,8 @@ */ package org.eclipse.emf.cdo.ui; +import org.eclipse.emf.cdo.CDOObject; +import org.eclipse.emf.cdo.common.security.CDOPermission; import org.eclipse.emf.cdo.view.CDOView; import org.eclipse.net4j.util.ui.UIUtil; @@ -42,6 +44,8 @@ public class CDOLabelProvider extends AdapterFactoryLabelProvider implements ICo { private static final Color GRAY = UIUtil.getDisplay().getSystemColor(SWT.COLOR_GRAY); + private static final Color YELLOW = UIUtil.getDisplay().getSystemColor(SWT.COLOR_DARK_YELLOW); + private static final Color RED = UIUtil.getDisplay().getSystemColor(SWT.COLOR_RED); private Font bold; @@ -117,16 +121,21 @@ public class CDOLabelProvider extends AdapterFactoryLabelProvider implements ICo @Override public Color getForeground(Object object) { + return getColor(FSMUtil.adapt(object, view)); + } + + @Override + public Font getFont(Object object) + { try { InternalCDOObject cdoObject = FSMUtil.adapt(object, view); switch (cdoObject.cdoState()) { - case PROXY: - return GRAY; - + case NEW: + case DIRTY: case CONFLICT: - return RED; + return bold; } } catch (RuntimeException ignore) @@ -137,18 +146,29 @@ public class CDOLabelProvider extends AdapterFactoryLabelProvider implements ICo return null; } - @Override - public Font getFont(Object object) + /** + * @since 4.3 + */ + public static Color getColor(CDOObject object) { try { - InternalCDOObject cdoObject = FSMUtil.adapt(object, view); - switch (cdoObject.cdoState()) + if (object.cdoConflict()) { - case NEW: - case DIRTY: - case CONFLICT: - return bold; + return RED; + } + + CDOPermission permission = object.cdoPermission(); + switch (permission) + { + case NONE: + return GRAY; + + case READ: + return YELLOW; + + default: + //$FALL-THROUGH$ } } catch (RuntimeException ignore) |