git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1090301 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
098fb98073
commit
b629d6f949
@ -34,6 +34,7 @@
|
||||
|
||||
<changes>
|
||||
<release version="3.8-beta3" date="2011-??-??">
|
||||
<action dev="poi-developers" type="fix">50884 - XSSF and HSSF freeze panes now behave the same</action>
|
||||
<action dev="poi-developers" type="add">Support for adding a table to a XSSFSheet</action>
|
||||
<action dev="poi-developers" type="add">Improve HSMF MAPIMessage access to the HTML and RTF versions of the message body (where available)</action>
|
||||
<action dev="poi-developers" type="add">Add new method to HSMF of MAPIMessage.has7BitEncodingStrings() to make it easier to decide when encoding guessing is needed</action>
|
||||
|
@ -443,14 +443,23 @@ public class XSSFSheet extends POIXMLDocumentPart implements Sheet {
|
||||
*/
|
||||
public void createFreezePane(int colSplit, int rowSplit, int leftmostColumn, int topRow) {
|
||||
CTPane pane = getPane();
|
||||
if (colSplit > 0) pane.setXSplit(colSplit);
|
||||
if (rowSplit > 0) pane.setYSplit(rowSplit);
|
||||
if (colSplit > 0) {
|
||||
pane.setXSplit(colSplit);
|
||||
} else {
|
||||
pane.unsetXSplit();
|
||||
}
|
||||
if (rowSplit > 0) {
|
||||
pane.setYSplit(rowSplit);
|
||||
} else {
|
||||
pane.unsetYSplit();
|
||||
}
|
||||
|
||||
pane.setState(STPaneState.FROZEN);
|
||||
if (rowSplit == 0) {
|
||||
pane.setTopLeftCell(new CellReference(0, topRow).formatAsString());
|
||||
pane.setTopLeftCell(new CellReference(0, leftmostColumn).formatAsString());
|
||||
pane.setActivePane(STPane.TOP_RIGHT);
|
||||
} else if (colSplit == 0) {
|
||||
pane.setTopLeftCell(new CellReference(rowSplit, 0).formatAsString());
|
||||
pane.setTopLeftCell(new CellReference(topRow, 0).formatAsString());
|
||||
pane.setActivePane(STPane.BOTTOM_LEFT);
|
||||
} else {
|
||||
pane.setTopLeftCell(new CellReference(topRow, leftmostColumn).formatAsString());
|
||||
|
@ -999,6 +999,29 @@ public final class TestXSSFBugs extends BaseTestBugzillaIssues {
|
||||
assertEquals(rowSplit, paneInfo.getHorizontalSplitPosition());
|
||||
assertEquals(leftmostColumn, paneInfo.getVerticalSplitLeftColumn());
|
||||
assertEquals(topRow, paneInfo.getHorizontalSplitTopRow());
|
||||
|
||||
|
||||
// Now a row only freezepane
|
||||
s.createFreezePane(0, 3);
|
||||
paneInfo = s.getPaneInformation();
|
||||
|
||||
assertEquals(0, paneInfo.getVerticalSplitPosition());
|
||||
assertEquals(3, paneInfo.getHorizontalSplitPosition());
|
||||
if(wb == wbs[0]) {
|
||||
assertEquals(64, paneInfo.getVerticalSplitLeftColumn()); // HSSF
|
||||
} else {
|
||||
assertEquals(0, paneInfo.getVerticalSplitLeftColumn()); // XSSF
|
||||
}
|
||||
assertEquals(3, paneInfo.getHorizontalSplitTopRow());
|
||||
|
||||
// Now a column only freezepane
|
||||
s.createFreezePane(4, 0);
|
||||
paneInfo = s.getPaneInformation();
|
||||
|
||||
assertEquals(4, paneInfo.getVerticalSplitPosition());
|
||||
assertEquals(0, paneInfo.getHorizontalSplitPosition());
|
||||
assertEquals(4 , paneInfo.getVerticalSplitLeftColumn());
|
||||
assertEquals(0, paneInfo.getHorizontalSplitTopRow());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user