[jboss-svn-commits] JBL Code SVN: r7421 - in labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/decisiontable: . model

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Tue Nov 7 07:10:50 EST 2006


Author: stevearoonie
Date: 2006-11-07 07:10:44 -0500 (Tue, 07 Nov 2006)
New Revision: 7421

Modified:
   labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/decisiontable/EditableDTGrid.java
   labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/decisiontable/model/Cell.java
   labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/decisiontable/model/Column.java
   labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/decisiontable/model/DecisionTable.java
   labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/decisiontable/model/Row.java
Log:
Handle merging columns in the model

Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/decisiontable/EditableDTGrid.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/decisiontable/EditableDTGrid.java	2006-11-07 11:52:02 UTC (rev 7420)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/decisiontable/EditableDTGrid.java	2006-11-07 12:10:44 UTC (rev 7421)
@@ -44,6 +44,8 @@
 	private int currentRow;
 
 	private int currentCol;
+	
+	private Cell currentCell;
 
 	private FlexCellFormatter cellFormatter = table.getFlexCellFormatter();
 
@@ -112,11 +114,12 @@
 
 	protected void setCurrentCell(int row, int column) {
 		System.out.println("row: " + row + ", col: " + column);
-		Cell cell = dt.getRow(row - 1).getCell(column - 1);
-		System.out.println("cell: " + cell);
-		int col = cell.getColumnIndex() + 1;
-		if (col > 0 && col <= numCols() && row >= START_DATA_ROW
-				&& (row != currentRow || col != currentCol)) {
+		if (column > 0 && column <= numCols() && row >= START_DATA_ROW
+				&& (row != currentRow || column != currentCol)) {
+			Cell selectedCell = dt.getRow(row - 1).getCell(column - 1);
+			int col = selectedCell.getColumnIndex() + 1;
+			System.out.println("cell: " + selectedCell);
+
 			if (currentRow >= START_DATA_ROW) {
 				TextBox text = (TextBox) table
 						.getWidget(currentRow, currentCol);
@@ -132,16 +135,17 @@
 			}
 			if (currentCol != col) {
 				if (currentCol > 0) {
-					cellFormatter.setStyleName(0, currentCol,
+					cellFormatter.setStyleName(0, currentCell.getColumnIndex() + 1,
 							"dt-editor-DescriptionCell");
 				}
 				cellFormatter.setStyleName(0, col,
 						"dt-editor-DescriptionCell-selected");
 			}
-			cellFormatter.setStyleName(row, col, "dt-editor-Cell-selected");
+			cellFormatter.setStyleName(row, column, "dt-editor-Cell-selected");
 			currentRow = row;
-			currentCol = col;
-			editColumn(row, col);
+			currentCol = column;
+			currentCell = selectedCell;
+			editColumn(row, column);
 		}
 	}
 
@@ -205,7 +209,9 @@
 	}
 
 	public void mergeCol() {
-		if (currentRow >= START_DATA_ROW && currentCol > 0) {
+		if (currentCell != null) {
+			dt.mergeCol(currentCell);
+//		if (currentRow >= START_DATA_ROW && currentCol > 0) {
 			int currentSpan = cellFormatter.getColSpan(currentRow, currentCol);
 			if (currentCol + currentSpan <= numCols()) {
 				int nextSpan = cellFormatter.getColSpan(currentRow,
@@ -441,8 +447,5 @@
 		return 6;
 	}
 
-	private int numRows() {
-		return numRows;
-	}
 
 }

Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/decisiontable/model/Cell.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/decisiontable/model/Cell.java	2006-11-07 11:52:02 UTC (rev 7420)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/decisiontable/model/Cell.java	2006-11-07 12:10:44 UTC (rev 7421)
@@ -50,6 +50,9 @@
 	public String toString() {
 		return "Cell[" + getRowIndex() + ", " + getColumnIndex() + ", " + getValue() + "]";
 	}
+	public void setColspan(int colspan) {
+		this.colspan = colspan;
+	}
 	
 	
 }

Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/decisiontable/model/Column.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/decisiontable/model/Column.java	2006-11-07 11:52:02 UTC (rev 7420)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/decisiontable/model/Column.java	2006-11-07 12:10:44 UTC (rev 7421)
@@ -17,4 +17,7 @@
 	public int getIndex() {
 		return parent.getColumnIndex(this);
 	}
+	public void removeCell(Cell cell) {
+		cells.remove(cell);
+	}
 }

Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/decisiontable/model/DecisionTable.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/decisiontable/model/DecisionTable.java	2006-11-07 11:52:02 UTC (rev 7420)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/decisiontable/model/DecisionTable.java	2006-11-07 12:10:44 UTC (rev 7421)
@@ -56,4 +56,19 @@
 	public int getColumnIndex(Column column) {
 		return columns.indexOf(column);
 	}
+
+	public void mergeCol(Cell currentCell) {
+		Row row = currentCell.getRow();
+		System.err.println("currentCell.getColumnIndex(): "
+				+ currentCell.getColumnIndex());
+		int currentColspan = currentCell.getColspan();
+		System.err.println("currentCell.getColspan(): "
+				+ currentColspan);
+		int nextCellColumnIndex = currentCell.getColumnIndex() + currentColspan;
+		Column nextColumn = (Column) columns.get(nextCellColumnIndex);
+		Cell nextCell = row.getCell(nextColumn);
+		currentCell.setColspan(currentColspan + nextCell.getColspan());
+		row.removeColumn(nextColumn);
+		nextColumn.removeCell(nextCell);
+	}
 }

Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/decisiontable/model/Row.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/decisiontable/model/Row.java	2006-11-07 11:52:02 UTC (rev 7420)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/decisiontable/model/Row.java	2006-11-07 12:10:44 UTC (rev 7421)
@@ -33,4 +33,7 @@
 		}
 		return getCell(column);
 	}
+	public void removeColumn(Column nextColumn) {
+		cells.remove(nextColumn);
+	}
 }




More information about the jboss-svn-commits mailing list