115 lines
3.5 KiB
Java
115 lines
3.5 KiB
Java
/* ====================================================================
|
|
Licensed to the Apache Software Foundation (ASF) under one or more
|
|
contributor license agreements. See the NOTICE file distributed with
|
|
this work for additional information regarding copyright ownership.
|
|
The ASF licenses this file to You under the Apache License, Version 2.0
|
|
(the "License"); you may not use this file except in compliance with
|
|
the License. You may obtain a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
See the License for the specific language governing permissions and
|
|
limitations under the License.
|
|
==================================================================== */
|
|
|
|
package org.apache.poi.sl.usermodel;
|
|
|
|
import java.awt.Color;
|
|
|
|
import org.apache.poi.sl.usermodel.StrokeStyle.LineCompound;
|
|
import org.apache.poi.sl.usermodel.StrokeStyle.LineDash;
|
|
|
|
public interface TableCell<
|
|
S extends Shape<S,P>,
|
|
P extends TextParagraph<S,P,?>
|
|
> extends TextShape<S,P> {
|
|
enum BorderEdge { bottom, left, top, right }
|
|
|
|
/**
|
|
* Return line style of given edge or {@code null} if border is not defined
|
|
*
|
|
* @param edge the border edge
|
|
* @return line style of given edge or {@code null} if border is not defined
|
|
*/
|
|
StrokeStyle getBorderStyle(BorderEdge edge);
|
|
|
|
/**
|
|
* Sets the {@link StrokeStyle} of the given border edge.
|
|
* A {@code null} property of the style is ignored.
|
|
*
|
|
* @param edge border edge
|
|
* @param style the new stroke style
|
|
*/
|
|
void setBorderStyle(BorderEdge edge, StrokeStyle style);
|
|
|
|
/**
|
|
* Convenience method for setting the border width.
|
|
*
|
|
* @param edge border edge
|
|
* @param width the new border width
|
|
*/
|
|
void setBorderWidth(BorderEdge edge, double width);
|
|
|
|
/**
|
|
* Convenience method for setting the border color.
|
|
*
|
|
* @param edge border edge
|
|
* @param color the new border color
|
|
*/
|
|
void setBorderColor(BorderEdge edge, Color color);
|
|
|
|
/**
|
|
* Convenience method for setting the border line compound.
|
|
*
|
|
* @param edge border edge
|
|
* @param compound the new border line compound
|
|
*/
|
|
void setBorderCompound(BorderEdge edge, LineCompound compound);
|
|
|
|
/**
|
|
* Convenience method for setting the border line dash.
|
|
*
|
|
* @param edge border edge
|
|
* @param dash the new border line dash
|
|
*/
|
|
void setBorderDash(BorderEdge edge, LineDash dash);
|
|
|
|
/**
|
|
* Remove all line attributes of the given border edge
|
|
*
|
|
* @param edge the border edge to be cleared
|
|
*/
|
|
void removeBorder(BorderEdge edge);
|
|
|
|
/**
|
|
* Get the number of columns to be spanned/merged
|
|
*
|
|
* @return the grid span
|
|
*
|
|
* @since POI 3.15-beta2
|
|
*/
|
|
int getGridSpan();
|
|
|
|
/**
|
|
* Get the number of rows to be spanned/merged
|
|
*
|
|
* @return the row span
|
|
*
|
|
* @since POI 3.15-beta2
|
|
*/
|
|
int getRowSpan();
|
|
|
|
/**
|
|
* Return if this cell is part of a merged cell. The top/left cell of a merged region is not regarded as merged -
|
|
* its grid and/or row span is greater than one.
|
|
*
|
|
* @return true if this a merged cell
|
|
*
|
|
* @since POI 3.15-beta2
|
|
*/
|
|
boolean isMerged();
|
|
}
|