blob: 6689636b276b95ce72cc9c4a6a7098b7a580d21d [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2006 Sybase, Inc. and others.
*
* 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:
* Sybase, Inc. - initial API and implementation
*******************************************************************************/
package org.eclipse.jst.pagedesigner.tableedit;
import org.eclipse.jst.pagedesigner.css2.layout.table.CSSTableLayout2;
import org.eclipse.jst.pagedesigner.editpolicies.ITableEditAdapter;
/**
* @author mengbo
* @version 1.5
*/
public class TableEditAdapter implements ITableEditAdapter {
CSSTableLayout2 _tableLayout;
/**
* @param layout2
*/
public TableEditAdapter(CSSTableLayout2 layout2) {
this._tableLayout = layout2;
}
/*
* (non-Javadoc)
*
* @see org.eclipse.jst.pagedesigner.editpolicies.ITableEditAdapter#getColumnCount()
*/
public int getColumnCount() {
return _tableLayout.getColumnWidths().length;
}
/*
* (non-Javadoc)
*
* @see org.eclipse.jst.pagedesigner.editpolicies.ITableEditAdapter#getRowCount()
*/
public int getRowCount() {
return _tableLayout.getRowHeights().length;
}
/*
* (non-Javadoc)
*
* @see org.eclipse.jst.pagedesigner.editpolicies.ITableEditAdapter#insertColumn(int)
*/
public void insertColumn(int atPosition) {
// do nothing
}
/*
* (non-Javadoc)
*
* @see org.eclipse.jst.pagedesigner.editpolicies.ITableEditAdapter#insertRow(int)
*/
public void insertRow(int rowPosition) {
// TODO Auto-generated method stub
}
/*
* (non-Javadoc)
*
* @see org.eclipse.jst.pagedesigner.editpolicies.ITableEditAdapter#getResizeStart(int)
*/
public int getColumnResizeStart(int columnIndex) {
int w = 0;
int[] columnWidths = _tableLayout.getColumnWidths();
for (int i = 0; i < columnIndex; i++) {
w += columnWidths[i];
}
w += columnIndex * _tableLayout.getHSpacing();
return w;
}
/*
* (non-Javadoc)
*
* @see org.eclipse.jst.pagedesigner.editpolicies.ITableEditAdapter#getResizeWidth()
*/
public int getColumnResizeWidth() {
return _tableLayout.getHSpacing();
}
/*
* (non-Javadoc)
*
* @see org.eclipse.jst.pagedesigner.editpolicies.ITableEditAdapter#getColumnStart(int)
*/
public int getColumnStart(int columnIndex) {
return getColumnResizeStart(columnIndex) + _tableLayout.getHSpacing();
}
/*
* (non-Javadoc)
*
* @see org.eclipse.jst.pagedesigner.editpolicies.ITableEditAdapter#getColumnWidth(int)
*/
public int getColumnWidth(int columnIndex) {
return _tableLayout.getColumnWidths()[columnIndex];
}
/*
* (non-Javadoc)
*
* @see org.eclipse.jst.pagedesigner.editpolicies.ITableEditAdapter#getRowStart(int)
*/
public int getRowStart(int rowIndex) {
int start = getRowResizeStart(rowIndex) + _tableLayout.getVSpacing();
if (_tableLayout.getCaptionInfo() != null
&& "top".equalsIgnoreCase(_tableLayout.getCaptionInfo().getAlign())) //$NON-NLS-1$
{
start += _tableLayout.getCaptionSize().height;
}
return start;
}
/*
* (non-Javadoc)
*
* @see org.eclipse.jst.pagedesigner.editpolicies.ITableEditAdapter#getRowHeight(int)
*/
public int getRowHeight(int rowIndex) {
return _tableLayout.getRowHeights()[rowIndex];
}
/*
* (non-Javadoc)
*
* @see org.eclipse.jst.pagedesigner.editpolicies.ITableEditAdapter#getRowResizeStart(int)
*/
public int getRowResizeStart(int rowIndex) {
int w = 0;
int[] rowHeights = _tableLayout.getRowHeights();
for (int i = 0; i < rowIndex; i++) {
w += rowHeights[i];
}
w += rowIndex * _tableLayout.getHSpacing();
return w;
}
/*
* (non-Javadoc)
*
* @see org.eclipse.jst.pagedesigner.editpolicies.ITableEditAdapter#getRowResizeWidth()
*/
public int getRowResizeWidth() {
return _tableLayout.getVSpacing();
}
}