/* ******************************************************************************
* Copyright (c) 2006-2012 XMind Ltd. and others.
*
* This file is a part of XMind 3. XMind releases 3 and
* above are dual-licensed under the Eclipse Public License (EPL),
* which is available at http://www.eclipse.org/legal/epl-v10.html
* and the GNU Lesser General Public License (LGPL),
* which is available at http://www.gnu.org/licenses/lgpl.html
* See http://www.xmind.net/license.html for details.
*
* Contributors:
* XMind Ltd. - initial API and implementation
*******************************************************************************/
package org.xmind.ui.internal.spreadsheet.structures;
import org.xmind.ui.branch.BranchStructureData;
import org.xmind.ui.mindmap.IBranchPart;
public class Item extends BranchStructureData {
private Chart ownedChart;
private Cell ownedCell;
private ColumnHead prefColumnHead = null;
public Item(Chart ownedChart, IBranchPart branch) {
super(branch);
this.ownedChart = ownedChart;
}
public IBranchPart getBranch() {
return super.getBranch();
}
public Chart getOwnedChart() {
return ownedChart;
}
public Cell getOwnedCell() {
return ownedCell;
}
void setOwnedCell(Cell ownedCell) {
this.ownedCell = ownedCell;
}
public ColumnHead getPrefColumnHead() {
if (prefColumnHead == null) {
prefColumnHead = calcPrefColumnHead();
}
return prefColumnHead;
}
private ColumnHead calcPrefColumnHead() {
return new ColumnHead(getBranch().getTopic().getLabels());
}
public Item getPreviousItem() {
if (ownedCell != null)
return ownedCell.getPreviousItem(this);
return null;
}
public Item getNextItem() {
if (ownedCell != null)
return ownedCell.getNextItem(this);
return null;
}
}