summaryrefslogtreecommitdiff
path: root/wizards/com/sun/star/wizards/report/DBColumn.java
diff options
context:
space:
mode:
authorKurt Zenker <kz@openoffice.org>2005-03-18 15:19:53 +0000
committerKurt Zenker <kz@openoffice.org>2005-03-18 15:19:53 +0000
commitd2b5ca5114ef36395768a77bad2d87853930c5c1 (patch)
tree90858f035fbfb2eb1ec3c833215f1ed2cac751bd /wizards/com/sun/star/wizards/report/DBColumn.java
parentfc2c5691565939cee1c66c2fc223075a87d07667 (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.java58
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;
}
}