Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
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.java44
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)

Back to the top