Skip to main content
summaryrefslogtreecommitdiffstats
blob: dce2d99996ea26a64395ba3981462b83163634fa (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
/*******************************************************************************
 * Copyright (c) 2006, 2007 Sybase, Inc. and others.
 *
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License 2.0
 * which accompanies this distribution, and is available at
 * https://www.eclipse.org/legal/epl-2.0/
 *
 * SPDX-License-Identifier: EPL-2.0
 *
 * Contributors:
 *     Sybase, Inc. - initial API and implementation
 *******************************************************************************/
package org.eclipse.jst.pagedesigner.css2.layout.table;

import org.eclipse.jst.jsf.common.ui.internal.logging.Logger;
import org.eclipse.jst.pagedesigner.PDPlugin;
import org.eclipse.jst.pagedesigner.utils.IntFlexArray;

/**
 * @author mengbo
 * @version 1.5
 */
/*package*/ class TableInfoContext {
	static Logger _log = PDPlugin.getLogger(TableInfoContext.class);

	int _currentCol = 0;

	int _currentRow = 0;

	IntFlexArray _array = new IntFlexArray();

	int _colCount = 0;

	int _rowCount = 0;

	/**
	 * 
	 */
	public TableInfoContext() {
        // do nothing
	}

	/**
	 * @return the flex array
	 */
	public IntFlexArray getIntFlexArray() {
		return _array;
	}

	/**
	 * @return the current column
	 */
	public int getCurrentCol() {
		return _currentCol;
	}

	/**
	 * @param currentcol
	 */
	public void setCurrentCol(int currentcol) {
		_currentCol = currentcol;
	}

	/**
	 * @return the current row
	 */
	public int getCurrentRow() {
		return _currentRow;
	}

	/**
	 * @return the column count
	 */
	public int getColumnCount() {
		return _colCount;
	}

	/**
	 * 
	 */
	public void finishRow() {
		if (_currentCol > _colCount) {
			_colCount = _currentCol;
		}
		_currentCol = 0;
		_currentRow++;
		for (int i = 0; i < _colCount; i++) {
			if (_array.getAt(i) > 0) {
				_array.setAt(i, _array.getAt(i) - 1);
			}
		}
	}

	/**
	 * 
	 */
	public void finishTable() {
		// do some checking here.
		int additionalRow = 0;
		for (int i = 0; i < _colCount; i++) {
			if (_array.getAt(i) > additionalRow) {
				additionalRow = _array.getAt(i);
			}
		}
		_rowCount = _currentRow + additionalRow;
	}

	/**
	 * 
	 */
	public void finishRowGroup() {
        // TODO: does nothing; only called in one places
	}

	/**
	 * @return the row count
	 */
	public int getRowCount() {
		return _rowCount;
	}
}

Back to the top