/** * <copyright> * * Copyright (c) 2016 Thales Global Services S.A.S. * 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: * Thales Global Services S.A.S. - initial API and implementation * * </copyright> */ package org.eclipse.emf.diffmerge.ui.viewers.categories; import org.eclipse.emf.diffmerge.ui.viewers.EMFDiffNode; import org.eclipse.emf.diffmerge.ui.viewers.IDifferenceCategory; /** * A base implementation of IDifferenceCategory. * @author Olivier Constant */ public abstract class AbstractDifferenceCategory extends AbstractDifferenceCategoryItem implements IDifferenceCategory { /** Whether this category is visible */ private boolean _visible; /** Whether this category is currently active */ private boolean _active; /** Whether this category is modifiable by the user */ private boolean _modifiable; /** Whether this category is in focus mode */ private boolean _inFocusMode; /** * Constructor */ protected AbstractDifferenceCategory() { _active = false; _inFocusMode = false; _modifiable = true; _visible = true; } /** * @see java.lang.Object#clone() */ @Override public IDifferenceCategory clone() throws CloneNotSupportedException { // Increase visibility, see Cloneable return (IDifferenceCategory)super.clone(); } /** * @see org.eclipse.emf.diffmerge.ui.viewers.IDifferenceCategory#copyState(org.eclipse.emf.diffmerge.ui.viewers.IDifferenceCategory) */ public void copyState(IDifferenceCategory peer_p) { setActive(peer_p.isActive()); setInFocusMode(peer_p.isInFocusMode()); setModifiable(peer_p.isModifiable()); setVisible(peer_p.isVisible()); } /** * @see org.eclipse.emf.diffmerge.ui.viewers.IDifferenceCategory#getDescription(org.eclipse.emf.diffmerge.ui.viewers.EMFDiffNode) */ public String getDescription(EMFDiffNode node_p) { return null; } /** * @see org.eclipse.emf.diffmerge.ui.viewers.IDifferenceCategory#isActive() */ public boolean isActive() { return _active; } /** * @see org.eclipse.emf.diffmerge.ui.viewers.IDifferenceCategory#isApplicable(org.eclipse.emf.diffmerge.ui.viewers.EMFDiffNode) */ public boolean isApplicable(EMFDiffNode node_p) { return true; } /** * @see org.eclipse.emf.diffmerge.ui.viewers.IDifferenceCategory#isInFocusMode() */ public boolean isInFocusMode() { return _inFocusMode; } /** * @see org.eclipse.emf.diffmerge.ui.viewers.IDifferenceCategory#isModifiable() */ public boolean isModifiable() { return _modifiable; } /** * @see org.eclipse.emf.diffmerge.ui.viewers.IDifferenceCategory#isVisible() */ public boolean isVisible() { return _visible; } /** * @see org.eclipse.emf.diffmerge.ui.viewers.IDifferenceCategory#mayCoverPendingDifferences() */ public boolean mayCoverPendingDifferences() { return true; } /** * @see org.eclipse.emf.diffmerge.ui.viewers.IDifferenceCategory#setActive(boolean) */ public void setActive(boolean active_p) { _active = active_p; } /** * @see org.eclipse.emf.diffmerge.ui.viewers.IDifferenceCategory#setInFocusMode(boolean) */ public void setInFocusMode(boolean inFocusMode_p) { _inFocusMode = inFocusMode_p; } /** * @see org.eclipse.emf.diffmerge.ui.viewers.IDifferenceCategory#setModifiable(boolean) */ public void setModifiable(boolean modifiable_p) { _modifiable = modifiable_p; } /** * @see org.eclipse.emf.diffmerge.ui.viewers.IDifferenceCategory#setVisible(boolean) */ public void setVisible(boolean visible_p) { _visible = visible_p; } }