blob: b1845986974cfb87d0043a354e323ec6285b86a1 [file] [log] [blame]
/**
*
* Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, 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:
* Florian Pirchner - Initial implementation
*
*/
package org.eclipse.osbp.ecview.extension.strategy;
import java.util.ArrayList;
import org.eclipse.osbp.ecview.core.common.model.core.YEmbeddable;
import org.eclipse.osbp.ecview.core.common.model.core.YFocusable;
import org.eclipse.osbp.ecview.core.common.model.core.YLayout;
import org.eclipse.osbp.ecview.core.extension.model.extension.ExtensionModelFactory;
import org.eclipse.osbp.ecview.core.extension.model.extension.YGridLayout;
import org.eclipse.osbp.ecview.core.extension.model.extension.YGridLayoutCellStyle;
import org.eclipse.osbp.ecview.extension.model.YLayoutingInfo;
import org.eclipse.osbp.ecview.extension.model.YStrategyLayout;
import org.eclipse.osbp.ecview.extension.model.YSuspect;
import org.eclipse.osbp.ecview.extension.model.YSuspectInfo;
/**
* Vertical layouting.
*/
public class GridLayoutLayoutingStrategy extends AbstractLayoutingStrategy {
/**
* The Enum Group.
*/
public enum Group {
/** The discount. */
DISCOUNT("discount"),
/** The nondiscount. */
NONDISCOUNT("non-discount"),
/** The nothing. */
NOTHING("nothing");
/** The group id. */
private final String groupId;
/**
* Instantiates a new group.
*
* @param groupId
* the group id
*/
Group(String groupId) {
this.groupId = groupId;
}
}
/**
* Instantiates a new grid layout layouting strategy.
*/
public GridLayoutLayoutingStrategy() {
super(null);
}
// @Override
// public void layout(YLayoutingInfo layoutingInfo) {
// YStrategyLayout yLayout = layoutingInfo.getLayout();
// layoutingInfo.getActiveSuspectInfos().clear();
//
// YGridLayout content = (YGridLayout) createContentLayout();
//
// content.setColumns(2);
// int rowId1 = 0, rowId2 = 0;
// YSuspectInfo lastInfo = null;
// for (YSuspect suspect : new ArrayList<YSuspect>(
// yLayout.getSuspects())) {
// YSuspectInfo currentInfo = layoutingInfo
// .createSuspectInfo(suspect);
//
// // add the suspectInfo as active suspect
// layoutingInfo.getActiveSuspectInfos().add(currentInfo);
//
// YEmbeddable yEmbeddable = prepareElementForSuspect(currentInfo);
//
// // A ->next B ->next C
// if (lastInfo != null) {
// lastInfo.setNextFocus(currentInfo);
// } else if (yEmbeddable instanceof YFocusable) {
// layoutingInfo.setFirstFocus(currentInfo);
// }
// lastInfo = currentInfo;
//
// YSuspect ySuspect = currentInfo.getSuspect();
// YGridLayoutCellStyle cellStyle = content
// .addGridLayoutCellStyle(yEmbeddable);
//
// // if (ySuspect.getTags().contains(Group.DISCOUNT.groupId)){
// // cellStyle.addSpanInfo(0,rowId1,0,rowId1);
// // rowId1++;
// // } else {
// // cellStyle.addSpanInfo(1,rowId2,1,rowId2);
// // rowId2++;
// // }
// content.addElement(yEmbeddable);
// }
//
// layoutingInfo.setContent(content);
// }
/* (non-Javadoc)
* @see org.eclipse.osbp.ecview.extension.strategy.AbstractLayoutingStrategy#createContentLayout()
*/
@Override
protected YLayout createContentLayout() {
return ExtensionModelFactory.eINSTANCE.createYGridLayout();
}
/* (non-Javadoc)
* @see org.eclipse.osbp.ecview.extension.strategy.AbstractLayoutingStrategy#addElement(org.eclipse.osbp.ecview.core.common.model.core.YLayout, org.eclipse.osbp.ecview.core.common.model.core.YEmbeddable)
*/
@Override
protected void addElement(YLayout layout, YEmbeddable element) {
layout.addElement(element);
}
}