diff options
author | Kurt Zenker <kz@openoffice.org> | 2005-03-18 15:19:53 +0000 |
---|---|---|
committer | Kurt Zenker <kz@openoffice.org> | 2005-03-18 15:19:53 +0000 |
commit | d2b5ca5114ef36395768a77bad2d87853930c5c1 (patch) | |
tree | 90858f035fbfb2eb1ec3c833215f1ed2cac751bd /wizards/com/sun/star/wizards/report/DBColumn.java | |
parent | fc2c5691565939cee1c66c2fc223075a87d07667 (diff) |
INTEGRATION: CWS dbwizard4 (1.2.76); FILE MERGED
2005/03/14 15:12:43 bc 1.2.76.7: ## merge conflicts resolved
2005/03/14 11:09:54 bc 1.2.76.6: ## wrongly resolved merge conflicts corrected
2005/03/12 21:31:19 bc 1.2.76.5: ##import statement removed
2005/03/12 18:28:16 bc 1.2.76.4: RESYNC: (1.2-1.5); FILE MERGED
2005/03/09 16:49:23 bc 1.2.76.3: #i43798#Deletion of texttable columns now considered
2005/03/08 14:08:23 bc 1.2.76.2: #i43785#Several changes in handling new tables
2005/02/17 13:50:21 bc 1.2.76.1: ##ControlArrangement in FormWizard modified
Diffstat (limited to 'wizards/com/sun/star/wizards/report/DBColumn.java')
-rw-r--r-- | wizards/com/sun/star/wizards/report/DBColumn.java | 58 |
1 files changed, 48 insertions, 10 deletions
diff --git a/wizards/com/sun/star/wizards/report/DBColumn.java b/wizards/com/sun/star/wizards/report/DBColumn.java index b2feda6a591a..aec2135a52cf 100644 --- a/wizards/com/sun/star/wizards/report/DBColumn.java +++ b/wizards/com/sun/star/wizards/report/DBColumn.java @@ -43,6 +43,7 @@ import com.sun.star.beans.XPropertySet; import com.sun.star.beans.XPropertyState; import com.sun.star.container.XNameAccess; import com.sun.star.container.XNamed; +import com.sun.star.lang.IndexOutOfBoundsException; import com.sun.star.style.ParagraphAdjust; import com.sun.star.table.XCell; import com.sun.star.table.XCellRange; @@ -91,16 +92,22 @@ public class DBColumn { public DBColumn(TextTableHandler _oTextTableHandler, RecordParser _CurDBMetaData, int i) throws Exception{ CurRecordTable = new RecordTable(_oTextTableHandler); - initializeRecordTableMembers(CurRecordTable, _oTextTableHandler, _CurDBMetaData, i); + initializeRecordTableMembers(CurRecordTable, _oTextTableHandler, _CurDBMetaData, i, false); + } + + + public DBColumn(RecordTable _CurRecordTable, TextTableHandler _oTextTableHandler, RecordParser _CurDBMetaData, int i, boolean _bforce) throws Exception{ + initializeRecordTableMembers(_CurRecordTable, _oTextTableHandler, _CurDBMetaData, i, _bforce); } public DBColumn(RecordTable _CurRecordTable, TextTableHandler _oTextTableHandler, RecordParser _CurDBMetaData, int i) throws Exception{ - initializeRecordTableMembers(_CurRecordTable, _oTextTableHandler, _CurDBMetaData, i); + initializeRecordTableMembers(_CurRecordTable, _oTextTableHandler, _CurDBMetaData, i, false); } - private void initializeRecordTableMembers(RecordTable _CurRecordTable, TextTableHandler _oTextTableHandler, RecordParser _CurDBMetaData, int i) throws Exception{ + + private void initializeRecordTableMembers(RecordTable _CurRecordTable, TextTableHandler _oTextTableHandler, RecordParser _CurDBMetaData, int i, boolean _bForce) throws Exception{ this.oTextTableHandler = _oTextTableHandler; this.CurDBMetaData = _CurDBMetaData; this.CurRecordTable = _CurRecordTable; @@ -109,12 +116,34 @@ public class DBColumn { setDBField(CurDBMetaData.RecordFieldColumns[i].DisplayFieldName); else setDBField(CurDBMetaData.RecordFieldNames[i]); - xNameCell = CurRecordTable.xCellRange.getCellByPosition(i,0); - String CellName = (String) Helper.getUnoPropertyValue(xNameCell, "CellName"); - xNameTextCell = (XTextRange) UnoRuntime.queryInterface(XTextRange.class, xNameCell); - xValCell = CurRecordTable.xCellRange.getCellByPosition(i,1); - xValTextCell = (XTextRange) UnoRuntime.queryInterface(XTextRange.class, xValCell); - xValCellCursor = TextDocument.createTextCursor(xValCell); + if (_bForce) + assignCells(i, true); + else{ + for (int n = 0; n < CurRecordTable.xTableColumns.getCount(); n++){ + assignCells(n, false); + } + } + } + + private boolean assignCells(int _nColumn, boolean _bforce){ + try { + XCell xCell = CurRecordTable.xCellRange.getCellByPosition(_nColumn,0); + XTextRange xTextCell = (XTextRange) UnoRuntime.queryInterface(XTextRange.class, xCell); + String CellString = xTextCell.getString(); + String CompString = "Column"; + XTextCursor xLocCellCursor = TextDocument.createTextCursor(xCell); + if (isNameCell(xLocCellCursor, CurDBField.AliasName, CompString) || (_bforce)){ + xNameCell = xCell; + xNameTextCell = xTextCell; + xValCell = CurRecordTable.xCellRange.getCellByPosition(_nColumn,1); + xValTextCell = (XTextRange) UnoRuntime.queryInterface(XTextRange.class, xValCell); + xValCellCursor = TextDocument.createTextCursor(xValCell); + return true; + } + } catch (Exception e) { + e.printStackTrace(System.out); + } + return false; } @@ -217,6 +246,15 @@ public class DBColumn { } + public void insertUserFieldToTableCell(TextFieldHandler oTextFieldHandler, XCell xCell){ + XTextCursor xTextCursor = TextDocument.createTextCursor(xCell); + xTextCursor.gotoStart(false); + xTextCursor.gotoEnd(true); + xTextCursor.setString(""); + oTextFieldHandler.insertUserField(xTextCursor, CurDBField.DisplayFieldName, CurDBField.AliasName); + } + + public void formatValueCell(){ oTextTableHandler.getNumberFormatter().setNumberFormat(xValCell, CurDBField.DBFormatKey); if (checkforLeftAlignment()) @@ -344,7 +382,7 @@ public class DBColumn { XDependentTextField xDependent = (XDependentTextField) UnoRuntime.queryInterface(XDependentTextField.class, oTextField); XPropertySet xMaster = xDependent.getTextFieldMaster(); String UserFieldName = (String) xMaster.getPropertyValue("Name"); - boolean bIsNameCell = ((UserFieldName.equals(CompString)) || (UserFieldName.equals(CurFieldName))); + boolean bIsNameCell = ((UserFieldName.startsWith(CompString)) || (UserFieldName.equals(CurFieldName))); return bIsNameCell; } } |