diff options
Diffstat (limited to 'plugins/org.eclipse.net4j.buddies.ui/src/org/eclipse/net4j/buddies/internal/ui/AbstractItemProvider.java')
-rw-r--r-- | plugins/org.eclipse.net4j.buddies.ui/src/org/eclipse/net4j/buddies/internal/ui/AbstractItemProvider.java | 229 |
1 files changed, 0 insertions, 229 deletions
diff --git a/plugins/org.eclipse.net4j.buddies.ui/src/org/eclipse/net4j/buddies/internal/ui/AbstractItemProvider.java b/plugins/org.eclipse.net4j.buddies.ui/src/org/eclipse/net4j/buddies/internal/ui/AbstractItemProvider.java deleted file mode 100644 index 6ea5f78426..0000000000 --- a/plugins/org.eclipse.net4j.buddies.ui/src/org/eclipse/net4j/buddies/internal/ui/AbstractItemProvider.java +++ /dev/null @@ -1,229 +0,0 @@ -/*************************************************************************** - * Copyright (c) 2004 - 2008 Eike Stepper, Germany. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Eike Stepper - initial API and implementation - **************************************************************************/ -package org.eclipse.net4j.buddies.internal.ui; - -import org.eclipse.net4j.buddies.IBuddyCollaboration; -import org.eclipse.net4j.buddies.common.IBuddy; -import org.eclipse.net4j.buddies.common.ICollaboration; -import org.eclipse.net4j.buddies.common.IMembership; -import org.eclipse.net4j.util.container.IContainer; -import org.eclipse.net4j.util.lifecycle.LifecycleUtil; -import org.eclipse.net4j.util.ui.UIUtil; -import org.eclipse.net4j.util.ui.actions.LongRunningAction; -import org.eclipse.net4j.util.ui.actions.SafeAction; -import org.eclipse.net4j.util.ui.views.ContainerItemProvider; -import org.eclipse.net4j.util.ui.views.ContainerView; -import org.eclipse.net4j.util.ui.views.IElementFilter; - -import org.eclipse.jface.action.IMenuManager; -import org.eclipse.jface.action.Separator; -import org.eclipse.jface.viewers.ITreeSelection; -import org.eclipse.jface.viewers.Viewer; -import org.eclipse.swt.SWT; -import org.eclipse.swt.graphics.Color; -import org.eclipse.swt.graphics.Font; -import org.eclipse.swt.graphics.Image; - -/** - * @author Eike Stepper - */ -public abstract class AbstractItemProvider extends ContainerItemProvider<IContainer<Object>> -{ - public static final Color GRAY = UIUtil.getDisplay().getSystemColor(SWT.COLOR_GRAY); - - private Font bold; - - public AbstractItemProvider() - { - } - - public AbstractItemProvider(IElementFilter rootElementFilter) - { - super(rootElementFilter); - } - - @Override - public void dispose() - { - UIUtil.dispose(bold); - super.dispose(); - } - - public Font getBold() - { - return bold; - } - - @Override - protected Node createNode(Node parent, Object element) - { - if (element instanceof IMembership) - { - IMembership membership = (IMembership)element; - return createMembershipNode(parent, membership); - } - - return super.createNode(parent, element); - } - - protected abstract Node createMembershipNode(Node parent, IMembership membership); - - @Override - public String getText(Object obj) - { - if (obj instanceof IBuddy) - { - IBuddy buddy = (IBuddy)obj; - return buddy.getUserID(); - } - - if (obj instanceof ICollaboration) - { - ICollaboration collaboration = (ICollaboration)obj; - return collaboration.getTitle(); - } - - if (obj instanceof IMembership) - { - IMembership membership = (IMembership)obj; - return getText(membership); - } - - return super.getText(obj); - } - - protected abstract String getText(IMembership membership); - - @Override - public Image getImage(Object obj) - { - if (obj instanceof IBuddy) - { - IBuddy buddy = (IBuddy)obj; - switch (buddy.getState()) - { - case AVAILABLE: - return SharedIcons.getImage(SharedIcons.OBJ_BUDDY); - - case LONESOME: - return SharedIcons.getImage(SharedIcons.OBJ_BUDDY_LONESOME); - - case AWAY: - return SharedIcons.getImage(SharedIcons.OBJ_BUDDY_AWAY); - - case DO_NOT_DISTURB: - return SharedIcons.getImage(SharedIcons.OBJ_BUDDY_DO_NOT_DISTURB); - } - } - - if (obj instanceof ICollaboration) - { - return SharedIcons.getImage(SharedIcons.OBJ_COLLABORATION); - } - - if (obj instanceof IMembership) - { - IMembership membership = (IMembership)obj; - return getImage(membership); - } - - return super.getImage(obj); - } - - protected abstract Image getImage(IMembership membership); - - @Override - public Color getForeground(Object obj) - { - if (obj instanceof IBuddy) - { - IBuddy buddy = (IBuddy)obj; - switch (buddy.getState()) - { - case AWAY: - case DO_NOT_DISTURB: - return GRAY; - } - } - - return super.getForeground(obj); - } - - @Override - public Font getFont(Object obj) - { - if (obj instanceof IBuddy) - { - IBuddy buddy = (IBuddy)obj; - switch (buddy.getState()) - { - case LONESOME: - return bold; - } - } - - return super.getFont(obj); - } - - @Override - protected void fillContextMenu(IMenuManager manager, ITreeSelection selection) - { - manager.add(new Separator()); - if (selection.size() == 1) - { - Object obj = selection.getFirstElement(); - if (obj instanceof IBuddy) - { - manager.add(new RemoveAction(obj)); - } - else if (obj instanceof IBuddyCollaboration) - { - final IBuddyCollaboration collaboration = (IBuddyCollaboration)obj; - manager.add(new SafeAction("Leave", "Leave this collaboration") - { - @Override - protected void safeRun() throws Exception - { - collaboration.leave(); - } - }); - } - } - } - - @Override - public void inputChanged(Viewer viewer, Object oldInput, Object newInput) - { - UIUtil.dispose(bold); - super.inputChanged(viewer, oldInput, newInput); - bold = UIUtil.getBoldFont(getViewer().getControl()); - } - - /** - * @author Eike Stepper - */ - public class RemoveAction extends LongRunningAction - { - private Object object; - - public RemoveAction(Object object) - { - super("Remove", "Remove", ContainerView.getDeleteImageDescriptor()); - this.object = object; - } - - @Override - protected void doRun() throws Exception - { - LifecycleUtil.deactivateNoisy(object); - } - } -} |