// $codepro.audit.disable com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.alwaysOverridetoString.alwaysOverrideToString, com.instantiations.assist.eclipse.analysis.deserializeabilitySecurity, com.instantiations.assist.eclipse.analysis.disallowReturnMutable, com.instantiations.assist.eclipse.analysis.enforceCloneableUsageSecurity, explicitThisUsage | |
/******************************************************************************* | |
* Copyright (c) 2010 Ericsson Research Canada | |
* | |
* 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 | |
* | |
* Description: | |
* | |
* This class implements the Delta Container element of the UI model | |
* | |
* Contributors: | |
* Sebastien Dubois - Created for Mylyn Review R4E project | |
* | |
*******************************************************************************/ | |
package org.eclipse.mylyn.reviews.r4e.ui.internal.model; | |
import org.eclipse.emf.common.util.EList; | |
import org.eclipse.mylyn.reviews.r4e.core.model.R4EDelta; | |
import org.eclipse.mylyn.reviews.r4e.core.model.R4ETextPosition; | |
import org.eclipse.mylyn.reviews.r4e.core.model.serial.impl.OutOfSyncException; | |
import org.eclipse.mylyn.reviews.r4e.core.model.serial.impl.ResourceHandlingException; | |
import org.eclipse.mylyn.reviews.r4e.ui.R4EUIPlugin; | |
import org.eclipse.mylyn.reviews.r4e.ui.internal.preferences.PreferenceConstants; | |
/** | |
* @author lmcdubo | |
* @version $Revision: 1.0 $ | |
*/ | |
public class R4EUIDeltaContainer extends R4EUIContentsContainer { | |
// ------------------------------------------------------------------------ | |
// Constants | |
// ------------------------------------------------------------------------ | |
/** | |
* Field DELTA_CONTAINER_ICON_FILE. (value is ""icons/obj16/selcont_obj.gif"") | |
*/ | |
public static final String DELTA_CONTAINER_ICON_FILE = "icons/obj16/deltacont_obj.gif"; | |
// ------------------------------------------------------------------------ | |
// Constructors | |
// ------------------------------------------------------------------------ | |
/** | |
* Constructor for R4EUIDeltaContainer. | |
* | |
* @param aParent | |
* IR4EUIModelElement | |
* @param aName | |
* String | |
*/ | |
public R4EUIDeltaContainer(IR4EUIModelElement aParent, String aName) { | |
super(aParent, aName); | |
setImage(DELTA_CONTAINER_ICON_FILE); | |
} | |
// ------------------------------------------------------------------------ | |
// Methods | |
// ------------------------------------------------------------------------ | |
/** | |
* Method createDelta | |
* | |
* @param aUiPosition | |
* - the position of the anomaly to create | |
* @return R4EUIDelta | |
* @throws ResourceHandlingException | |
* @throws OutOfSyncException | |
*/ | |
public R4EUIDelta createDelta(R4EUITextPosition aUiPosition) throws ResourceHandlingException, OutOfSyncException { | |
//Create and set content model element | |
final R4EDelta delta = R4EUIModelController.FModelExt.createR4EDelta(((R4EUIFileContext) getParent()).getFileContext()); | |
final R4ETextPosition position = R4EUIModelController.FModelExt.createR4ETextPosition(R4EUIModelController.FModelExt.createR4ETargetTextContent(delta)); | |
aUiPosition.setPositionInModel(position); | |
//Create and set UI model element | |
final R4EUIDelta uiDelta = new R4EUIDelta(this, delta, aUiPosition); | |
addChildren(uiDelta); | |
return uiDelta; | |
} | |
// ------------------------------------------------------------------------ | |
// Methods | |
// ------------------------------------------------------------------------ | |
/** | |
* Method open. | |
*/ | |
@Override | |
public void open() { | |
final EList<R4EDelta> deltas = ((R4EUIFileContext) getParent()).getFileContext().getDeltas(); | |
if (null != deltas) { | |
R4EUITextPosition position = null; | |
R4EUIDelta newDelta = null; | |
final int deltaSize = deltas.size(); | |
R4EDelta delta = null; | |
for (int i = 0; i < deltaSize; i++) { | |
delta = deltas.get(i); | |
if (delta.isEnabled() | |
|| R4EUIPlugin.getDefault() | |
.getPreferenceStore() | |
.getBoolean(PreferenceConstants.P_SHOW_DISABLED)) { | |
position = new R4EUITextPosition(deltas.get(i).getTarget().getLocation()); | |
newDelta = new R4EUIDelta(this, deltas.get(i), position); | |
addChildren(newDelta); | |
} | |
} | |
} | |
fOpen = true; | |
} | |
} |