1998-04-14 00:24:54 +04:00
|
|
|
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
|
|
|
|
*
|
1999-11-06 06:40:37 +03:00
|
|
|
* The contents of this file are subject to the Netscape Public
|
|
|
|
* License Version 1.1 (the "License"); you may not use this file
|
|
|
|
* except in compliance with the License. You may obtain a copy of
|
|
|
|
* the License at http://www.mozilla.org/NPL/
|
1998-04-14 00:24:54 +04:00
|
|
|
*
|
1999-11-06 06:40:37 +03:00
|
|
|
* Software distributed under the License is distributed on an "AS
|
|
|
|
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
|
|
|
|
* implied. See the License for the specific language governing
|
|
|
|
* rights and limitations under the License.
|
1998-04-14 00:24:54 +04:00
|
|
|
*
|
1999-11-06 06:40:37 +03:00
|
|
|
* The Original Code is mozilla.org code.
|
|
|
|
*
|
|
|
|
* The Initial Developer of the Original Code is Netscape
|
1998-04-14 00:24:54 +04:00
|
|
|
* Communications Corporation. Portions created by Netscape are
|
1999-11-06 06:40:37 +03:00
|
|
|
* Copyright (C) 1998 Netscape Communications Corporation. All
|
|
|
|
* Rights Reserved.
|
|
|
|
*
|
|
|
|
* Contributor(s):
|
1998-04-14 00:24:54 +04:00
|
|
|
*/
|
|
|
|
#ifndef nsCellMap_h__
|
|
|
|
#define nsCellMap_h__
|
|
|
|
|
|
|
|
#include "nscore.h"
|
1998-07-11 04:47:29 +04:00
|
|
|
#include "celldata.h"
|
1998-09-15 21:58:24 +04:00
|
|
|
#include "nsVoidArray.h"
|
1998-07-11 04:00:31 +04:00
|
|
|
class nsTableColFrame;
|
|
|
|
class nsTableCellFrame;
|
1999-12-14 01:56:31 +03:00
|
|
|
class nsIPresContext;
|
2000-01-13 08:29:38 +03:00
|
|
|
class nsTableRowGroupFrame;
|
|
|
|
class nsTableFrame;
|
|
|
|
class nsCellMap;
|
1999-12-14 01:56:31 +03:00
|
|
|
|
|
|
|
struct nsColInfo
|
|
|
|
{
|
|
|
|
PRInt32 mNumCellsOrig; // number of cells originating in the col
|
|
|
|
PRInt32 mNumCellsSpan; // number of cells spanning into the col via colspans (not rowspans)
|
|
|
|
|
|
|
|
nsColInfo();
|
|
|
|
nsColInfo(PRInt32 aNumCellsOrig,
|
|
|
|
PRInt32 aNumCellsSpan);
|
|
|
|
};
|
1998-04-14 00:24:54 +04:00
|
|
|
|
2000-01-13 08:29:38 +03:00
|
|
|
class nsTableCellMap
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
nsTableCellMap(nsTableFrame& aTableFrame);
|
|
|
|
|
|
|
|
/** destructor
|
|
|
|
* NOT VIRTUAL BECAUSE THIS CLASS SHOULD **NEVER** BE SUBCLASSED
|
|
|
|
*/
|
|
|
|
~nsTableCellMap();
|
|
|
|
|
|
|
|
void RemoveGroupCellMap(nsTableRowGroupFrame* aRowGroup);
|
|
|
|
void InsertGroupCellMap(PRInt32 aRowIndex,
|
|
|
|
nsTableRowGroupFrame& aNewRowGroup);
|
|
|
|
void InsertGroupCellMap(nsTableRowGroupFrame* aPrevRowGroup,
|
|
|
|
nsTableRowGroupFrame& aNewRowGroup);
|
|
|
|
|
|
|
|
nsTableCellFrame* GetCellFrame(PRInt32 aRowIndex,
|
|
|
|
PRInt32 aColIndex,
|
|
|
|
CellData& aData,
|
|
|
|
PRBool aUseRowIfOverlap) const;
|
|
|
|
|
|
|
|
/** return the CellData for the cell at (aTableRowIndex, aTableColIndex) */
|
|
|
|
CellData* GetCellAt(PRInt32 aRowIndex,
|
|
|
|
PRInt32 aColIndex);
|
|
|
|
|
|
|
|
nsColInfo* GetColInfoAt(PRInt32 aColIndex);
|
|
|
|
|
|
|
|
/** append the cellFrame at the end of the row at aRowIndex and return the col index
|
|
|
|
*/
|
|
|
|
PRInt32 AppendCell(nsTableCellFrame& aCellFrame,
|
|
|
|
PRInt32 aRowIndex,
|
|
|
|
PRBool aRebuildIfNecessary);
|
|
|
|
|
|
|
|
void InsertCells(nsVoidArray& aCellFrames,
|
|
|
|
PRInt32 aRowIndex,
|
|
|
|
PRInt32 aColIndexBefore);
|
|
|
|
|
|
|
|
void RemoveCell(nsTableCellFrame* aCellFrame,
|
|
|
|
PRInt32 aRowIndex);
|
|
|
|
|
|
|
|
void InsertRows(nsTableRowGroupFrame& aRowGroup,
|
|
|
|
nsVoidArray& aRows,
|
|
|
|
PRInt32 aFirstRowIndex,
|
|
|
|
PRBool aConsiderSpans);
|
|
|
|
|
|
|
|
void RemoveRows(PRInt32 aFirstRowIndex,
|
|
|
|
PRInt32 aNumRowsToRemove,
|
|
|
|
PRBool aConsiderSpans);
|
|
|
|
|
|
|
|
PRInt32 GetEffectiveColSpan(PRInt32 aColIndex,
|
2000-01-15 23:10:00 +03:00
|
|
|
const nsTableCellFrame& aCell);
|
2000-01-13 08:29:38 +03:00
|
|
|
|
|
|
|
PRInt32 GetNumCellsOriginatingInRow(PRInt32 aRowIndex) const;
|
|
|
|
PRInt32 GetNumCellsOriginatingInCol(PRInt32 aColIndex) const;
|
|
|
|
|
|
|
|
PRInt32 GetRowSpan(PRInt32 aRowIndex,
|
|
|
|
PRInt32 aColIndex);
|
|
|
|
PRInt32 GetColSpan(PRInt32 aRowIndex,
|
|
|
|
PRInt32 aColIndex);
|
|
|
|
|
|
|
|
/** return the total number of columns in the table represented by this CellMap */
|
|
|
|
PRInt32 GetColCount() const;
|
|
|
|
|
|
|
|
/** return the actual number of rows in the table represented by this CellMap */
|
|
|
|
PRInt32 GetRowCount() const;
|
|
|
|
|
|
|
|
// temporary until nsTableFrame::GetCellData uses GetCellFrameAt
|
|
|
|
nsTableCellFrame* GetCellFrameOriginatingAt(PRInt32 aRowX,
|
|
|
|
PRInt32 aColX);
|
|
|
|
|
|
|
|
nsTableCellFrame* GetCellInfoAt(PRInt32 aRowX,
|
|
|
|
PRInt32 aColX,
|
|
|
|
PRBool* aOriginates = nsnull,
|
|
|
|
PRInt32* aColSpan = nsnull);
|
|
|
|
|
|
|
|
void AddColsAtEnd(PRUint32 aNumCols);
|
|
|
|
PRInt32 RemoveUnusedCols(PRInt32 aMaxNumToRemove);
|
|
|
|
|
|
|
|
PRBool RowIsSpannedInto(PRInt32 aRowIndex);
|
|
|
|
PRBool RowHasSpanningCells(PRInt32 aRowIndex);
|
|
|
|
PRBool ColIsSpannedInto(PRInt32 aColIndex);
|
|
|
|
PRBool ColHasSpanningCells(PRInt32 aColIndex);
|
|
|
|
|
|
|
|
/** dump a representation of the cell map to stdout for debugging */
|
|
|
|
#ifdef NS_DEBUG
|
|
|
|
void Dump() const;
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifdef DEBUG
|
|
|
|
void SizeOf(nsISizeOfHandler* aHandler, PRUint32* aResult) const;
|
|
|
|
#endif
|
|
|
|
|
|
|
|
protected:
|
|
|
|
friend class nsCellMap;
|
|
|
|
void InsertGroupCellMap(nsCellMap* aPrevMap,
|
|
|
|
nsCellMap& aNewMap);
|
|
|
|
|
|
|
|
nsVoidArray mCols;
|
|
|
|
nsCellMap* mFirstMap;
|
|
|
|
};
|
|
|
|
|
1998-04-15 01:45:28 +04:00
|
|
|
/** nsCellMap is a support class for nsTablePart.
|
|
|
|
* It maintains an Rows x Columns grid onto which the cells of the table are mapped.
|
|
|
|
* This makes processing of rowspan and colspan attributes much easier.
|
|
|
|
* Each cell is represented by a CellData object.
|
|
|
|
*
|
|
|
|
* @see CellData
|
1998-09-01 01:23:28 +04:00
|
|
|
* @see nsTableFrame::AddCellToMap
|
1998-06-17 20:38:24 +04:00
|
|
|
* @see nsTableFrame::GrowCellMap
|
|
|
|
* @see nsTableFrame::BuildCellIntoMap
|
1998-04-15 01:45:28 +04:00
|
|
|
*
|
1998-09-01 01:23:28 +04:00
|
|
|
* mRows is an array of rows. a row cannot be null.
|
|
|
|
* each row is an array of cells. a cell can be null.
|
1998-04-14 00:24:54 +04:00
|
|
|
*/
|
|
|
|
class nsCellMap
|
|
|
|
{
|
|
|
|
public:
|
1998-09-01 01:23:28 +04:00
|
|
|
/** constructor
|
1999-07-28 12:09:02 +04:00
|
|
|
* @param aNumRows - initial number of rows
|
|
|
|
* @param aNumColumns - initial number of columns
|
1998-09-19 02:37:14 +04:00
|
|
|
*/
|
2000-01-13 08:29:38 +03:00
|
|
|
nsCellMap(nsTableRowGroupFrame& aRowGroupFrame);
|
1998-04-14 00:24:54 +04:00
|
|
|
|
1998-09-01 01:23:28 +04:00
|
|
|
/** destructor
|
|
|
|
* NOT VIRTUAL BECAUSE THIS CLASS SHOULD **NEVER** BE SUBCLASSED
|
1999-07-28 12:09:02 +04:00
|
|
|
*/
|
1998-04-14 00:24:54 +04:00
|
|
|
~nsCellMap();
|
|
|
|
|
2000-01-13 08:29:38 +03:00
|
|
|
nsCellMap* GetNextSibling() const;
|
|
|
|
void SetNextSibling(nsCellMap* aSibling);
|
|
|
|
|
|
|
|
nsTableRowGroupFrame* GetRowGroup() const;
|
|
|
|
|
|
|
|
nsTableCellFrame* GetCellFrame(PRInt32 aRowIndex,
|
|
|
|
PRInt32 aColIndex,
|
|
|
|
CellData& aData,
|
|
|
|
PRBool aUseRowSpanIfOverlap) const;
|
|
|
|
|
1999-07-28 12:09:02 +04:00
|
|
|
/** return the CellData for the cell at (aTableRowIndex, aTableColIndex) */
|
|
|
|
CellData* GetCellAt(PRInt32 aRowIndex,
|
2000-01-13 08:29:38 +03:00
|
|
|
PRInt32 aColIndex,
|
|
|
|
PRInt32 aNumColsInTable);
|
1999-08-30 04:01:09 +04:00
|
|
|
|
1999-07-28 12:09:02 +04:00
|
|
|
/** append the cellFrame at the end of the row at aRowIndex and return the col index
|
|
|
|
*/
|
2000-01-13 08:29:38 +03:00
|
|
|
PRInt32 AppendCell(nsTableCellMap& aMap,
|
|
|
|
nsTableCellFrame& aCellFrame,
|
1999-12-14 01:56:31 +03:00
|
|
|
PRInt32 aRowIndex,
|
|
|
|
PRBool aRebuildIfNecessary);
|
|
|
|
|
2000-01-13 08:29:38 +03:00
|
|
|
void InsertCells(nsTableCellMap& aMap,
|
|
|
|
nsVoidArray& aCellFrames,
|
|
|
|
PRInt32 aRowIndex,
|
|
|
|
PRInt32 aColIndexBefore);
|
1998-04-14 00:24:54 +04:00
|
|
|
|
2000-01-13 08:29:38 +03:00
|
|
|
void RemoveCell(nsTableCellMap& aMap,
|
|
|
|
nsTableCellFrame* aCellFrame,
|
1999-07-28 12:09:02 +04:00
|
|
|
PRInt32 aRowIndex);
|
1998-04-14 00:24:54 +04:00
|
|
|
|
2000-01-13 08:29:38 +03:00
|
|
|
void RemoveCol(PRInt32 aColIndex);
|
1999-12-14 01:56:31 +03:00
|
|
|
|
2000-01-13 08:29:38 +03:00
|
|
|
void InsertRows(nsTableCellMap& aMap,
|
|
|
|
nsVoidArray& aRows,
|
|
|
|
PRInt32 aFirstRowIndex,
|
|
|
|
PRBool aConsiderSpans);
|
1999-12-14 01:56:31 +03:00
|
|
|
|
2000-01-13 08:29:38 +03:00
|
|
|
void RemoveRows(nsTableCellMap& aMap,
|
|
|
|
PRInt32 aFirstRowIndex,
|
|
|
|
PRInt32 aNumRowsToRemove,
|
|
|
|
PRBool aConsiderSpans);
|
1999-02-11 09:22:33 +03:00
|
|
|
|
2000-01-13 08:29:38 +03:00
|
|
|
PRInt32 GetEffectiveColSpan(PRInt32 aRowIndex,
|
|
|
|
PRInt32 aColIndex,
|
|
|
|
PRInt32 aNumColsInTable,
|
2000-01-15 23:10:00 +03:00
|
|
|
const nsTableCellFrame& aCell);
|
1999-08-26 01:49:18 +04:00
|
|
|
|
|
|
|
PRInt32 GetNumCellsOriginatingInRow(PRInt32 aRowIndex) const;
|
|
|
|
PRInt32 GetNumCellsOriginatingInCol(PRInt32 aColIndex) const;
|
1999-02-11 09:22:33 +03:00
|
|
|
|
1998-09-01 01:23:28 +04:00
|
|
|
/** return the actual number of rows in the table represented by this CellMap */
|
1998-07-11 04:00:31 +04:00
|
|
|
PRInt32 GetRowCount() const;
|
|
|
|
|
1999-08-19 23:52:37 +04:00
|
|
|
// temporary until nsTableFrame::GetCellData uses GetCellFrameAt
|
|
|
|
nsTableCellFrame* GetCellFrameOriginatingAt(PRInt32 aRowX,
|
2000-01-13 08:29:38 +03:00
|
|
|
PRInt32 aColX,
|
|
|
|
PRInt32 aNumColsInTable);
|
1999-08-19 23:52:37 +04:00
|
|
|
|
|
|
|
nsTableCellFrame* GetCellInfoAt(PRInt32 aRowX,
|
|
|
|
PRInt32 aColX,
|
2000-01-13 08:29:38 +03:00
|
|
|
PRInt32 aNumColsInTable,
|
1999-08-19 23:52:37 +04:00
|
|
|
PRBool* aOriginates = nsnull,
|
2000-01-13 08:29:38 +03:00
|
|
|
PRInt32* aColSpan = nsnull);
|
1998-09-19 02:37:14 +04:00
|
|
|
|
2000-01-13 08:29:38 +03:00
|
|
|
PRBool RowIsSpannedInto(PRInt32 aRowIndex,
|
|
|
|
PRInt32 aNumColsInTable);
|
|
|
|
|
|
|
|
PRBool RowHasSpanningCells(PRInt32 aRowIndex,
|
|
|
|
PRInt32 aNumCols);
|
|
|
|
|
|
|
|
PRBool ColIsSpannedInto(PRInt32 aColIndex,
|
|
|
|
PRInt32 aNumCols);
|
1998-09-19 02:37:14 +04:00
|
|
|
|
2000-01-13 08:29:38 +03:00
|
|
|
PRBool ColHasSpanningCells(PRInt32 aColIndex,
|
|
|
|
PRInt32 aNumCols);
|
1999-08-19 23:52:37 +04:00
|
|
|
|
1998-09-19 02:37:14 +04:00
|
|
|
/** dump a representation of the cell map to stdout for debugging */
|
1999-07-28 12:09:02 +04:00
|
|
|
#ifdef NS_DEBUG
|
|
|
|
void Dump() const;
|
|
|
|
#endif
|
|
|
|
|
1999-10-02 04:02:54 +04:00
|
|
|
#ifdef DEBUG
|
|
|
|
void SizeOf(nsISizeOfHandler* aHandler, PRUint32* aResult) const;
|
|
|
|
#endif
|
|
|
|
|
1999-07-28 12:09:02 +04:00
|
|
|
protected:
|
2000-01-13 08:29:38 +03:00
|
|
|
friend class nsTableCellMap;
|
|
|
|
|
|
|
|
PRBool Grow(nsTableCellMap& aMap,
|
|
|
|
PRInt32 aNumRows,
|
|
|
|
PRInt32 aRowIndex = -1);
|
|
|
|
|
|
|
|
void GrowRow(nsVoidArray& aRow,
|
|
|
|
PRInt32 aNumCols);
|
1999-07-28 12:09:02 +04:00
|
|
|
|
|
|
|
/** assign aCellData to the cell at (aRow,aColumn) */
|
2000-01-13 08:29:38 +03:00
|
|
|
void SetMapCellAt(nsTableCellMap& aMap,
|
|
|
|
CellData& aCellData,
|
|
|
|
PRInt32 aMapRowIndex,
|
|
|
|
PRInt32 aColIndex,
|
|
|
|
PRBool aCountZeroSpanAsSpan);
|
1999-07-28 12:09:02 +04:00
|
|
|
|
|
|
|
CellData* GetMapCellAt(PRInt32 aMapRowIndex,
|
2000-01-13 08:29:38 +03:00
|
|
|
PRInt32 aColIndex,
|
|
|
|
PRInt32 aNumColsInTable);
|
1999-07-28 12:09:02 +04:00
|
|
|
|
1999-12-14 01:56:31 +03:00
|
|
|
PRInt32 GetNumCellsIn(PRInt32 aColIndex) const;
|
|
|
|
|
2000-01-13 08:29:38 +03:00
|
|
|
void ExpandWithRows(nsTableCellMap& aMap,
|
|
|
|
nsVoidArray& aRowFrames,
|
|
|
|
PRInt32 aStartRowIndex);
|
1999-07-28 12:09:02 +04:00
|
|
|
|
2000-01-13 08:29:38 +03:00
|
|
|
void ExpandWithCells(nsTableCellMap& aMap,
|
|
|
|
nsVoidArray& aCellFrames,
|
|
|
|
PRInt32 aRowIndex,
|
|
|
|
PRInt32 aColIndex,
|
|
|
|
PRInt32 aRowSpan,
|
|
|
|
PRBool aRowSpanIsZero);
|
1999-12-14 01:56:31 +03:00
|
|
|
|
2000-01-13 08:29:38 +03:00
|
|
|
void ShrinkWithoutRows(nsTableCellMap& aMap,
|
|
|
|
PRInt32 aFirstRowIndex,
|
|
|
|
PRInt32 aNumRowsToRemove);
|
1999-12-14 01:56:31 +03:00
|
|
|
|
2000-01-13 08:29:38 +03:00
|
|
|
void ShrinkWithoutCell(nsTableCellMap& aMap,
|
|
|
|
nsTableCellFrame& aCellFrame,
|
1999-12-14 01:56:31 +03:00
|
|
|
PRInt32 aRowIndex,
|
|
|
|
PRInt32 aColIndex);
|
|
|
|
|
2000-01-13 08:29:38 +03:00
|
|
|
void RebuildConsideringRows(nsTableCellMap& aMap,
|
|
|
|
PRInt32 aStartRowIndex,
|
|
|
|
nsVoidArray* aRowsToInsert,
|
|
|
|
PRInt32 aNumRowsToRemove = 0);
|
1999-12-14 01:56:31 +03:00
|
|
|
|
2000-01-13 08:29:38 +03:00
|
|
|
void RebuildConsideringCells(nsTableCellMap& aMap,
|
|
|
|
nsVoidArray* aCellFrames,
|
|
|
|
PRInt32 aRowIndex,
|
|
|
|
PRInt32 aColIndex,
|
|
|
|
PRBool aInsert);
|
1999-12-14 01:56:31 +03:00
|
|
|
|
|
|
|
PRBool CellsSpanOut(nsVoidArray& aNewRows);
|
|
|
|
|
|
|
|
PRBool CellsSpanInOrOut(PRInt32 aStartRowIndex,
|
|
|
|
PRInt32 aEndRowIndex,
|
|
|
|
PRInt32 aStartColIndex,
|
2000-01-13 08:29:38 +03:00
|
|
|
PRInt32 aEndColIndex,
|
|
|
|
PRInt32 aNumColsInTable);
|
|
|
|
|
|
|
|
void ExpandForZeroSpan(nsTableCellFrame* aCellFrame,
|
|
|
|
PRInt32 aNumColsInTable);
|
1999-12-14 01:56:31 +03:00
|
|
|
|
|
|
|
PRBool CreateEmptyRow(PRInt32 aRowIndex,
|
|
|
|
PRInt32 aNumCols);
|
2000-01-04 08:31:56 +03:00
|
|
|
|
2000-01-13 08:29:38 +03:00
|
|
|
PRInt32 GetColSpan(nsTableCellFrame& aCellFrameToAdd,
|
|
|
|
PRInt32 aColIndex,
|
|
|
|
PRInt32 aNumColsInTable,
|
|
|
|
PRBool& aIsZeroColSpan);
|
|
|
|
|
2000-01-04 08:31:56 +03:00
|
|
|
PRInt32 GetColSpan(PRInt32 aRowIndex,
|
2000-01-13 08:29:38 +03:00
|
|
|
PRInt32 aColIndex,
|
|
|
|
PRInt32 aNumColsInTable,
|
|
|
|
PRBool& aIsZeroColSpan);
|
2000-01-04 08:31:56 +03:00
|
|
|
|
|
|
|
PRInt32 GetRowSpan(PRInt32 aRowIndex,
|
2000-01-13 08:29:38 +03:00
|
|
|
PRInt32 aColIndex,
|
|
|
|
PRBool& aIsZeroRowSpan);
|
|
|
|
|
|
|
|
PRInt32 GetRowSpan(nsTableCellFrame& aCellFrameToAdd,
|
|
|
|
PRInt32 aRowIndex,
|
|
|
|
PRBool& aIsZeroRowSpan);
|
|
|
|
|
|
|
|
void AdjustForZeroSpan(PRInt32 aRowIndex,
|
|
|
|
PRInt32 aColIndex,
|
|
|
|
PRInt32 aNumColsInTable);
|
|
|
|
|
|
|
|
PRBool IsZeroColSpan(PRInt32 aRowIndex,
|
|
|
|
PRInt32 aColIndex) const;
|
2000-01-04 08:31:56 +03:00
|
|
|
|
1999-07-28 12:09:02 +04:00
|
|
|
/** an array containing col array. It can be larger than mRowCount due to
|
|
|
|
* row spans extending beyond the table */
|
|
|
|
nsVoidArray mRows;
|
|
|
|
|
|
|
|
/** the number of rows in the table which is <= the number of rows in the cell map
|
|
|
|
* due to row spans extending beyond the end of the table (dead rows) */
|
|
|
|
PRInt32 mRowCount;
|
|
|
|
|
2000-01-13 08:29:38 +03:00
|
|
|
// the row group that corresponds to this map
|
|
|
|
nsTableRowGroupFrame* mRowGroupFrame;
|
|
|
|
|
|
|
|
// the next row group cell map
|
|
|
|
nsCellMap* mNextSibling;
|
|
|
|
|
1998-04-14 00:24:54 +04:00
|
|
|
};
|
|
|
|
|
1998-07-11 04:00:31 +04:00
|
|
|
/* ----- inline methods ----- */
|
2000-01-13 08:29:38 +03:00
|
|
|
inline PRInt32 nsTableCellMap::GetColCount() const
|
1999-07-28 12:09:02 +04:00
|
|
|
{
|
2000-01-13 08:29:38 +03:00
|
|
|
return mCols.Count();
|
1999-07-28 12:09:02 +04:00
|
|
|
}
|
1998-07-11 04:00:31 +04:00
|
|
|
|
2000-01-13 08:29:38 +03:00
|
|
|
inline nsCellMap* nsCellMap::GetNextSibling() const
|
1998-06-08 23:57:04 +04:00
|
|
|
{
|
2000-01-13 08:29:38 +03:00
|
|
|
return mNextSibling;
|
1998-06-08 23:57:04 +04:00
|
|
|
}
|
|
|
|
|
2000-01-13 08:29:38 +03:00
|
|
|
inline void nsCellMap::SetNextSibling(nsCellMap* aSibling)
|
|
|
|
{
|
|
|
|
mNextSibling = aSibling;
|
|
|
|
}
|
|
|
|
|
|
|
|
inline nsTableRowGroupFrame* nsCellMap::GetRowGroup() const
|
|
|
|
{
|
|
|
|
return mRowGroupFrame;
|
1998-06-08 23:57:04 +04:00
|
|
|
}
|
|
|
|
|
1998-07-11 04:00:31 +04:00
|
|
|
inline PRInt32 nsCellMap::GetRowCount() const
|
1998-06-08 23:57:04 +04:00
|
|
|
{
|
|
|
|
return mRowCount;
|
|
|
|
}
|
|
|
|
|
1999-12-14 01:56:31 +03:00
|
|
|
// nsColInfo
|
1998-07-11 04:00:31 +04:00
|
|
|
|
1999-12-14 01:56:31 +03:00
|
|
|
inline nsColInfo::nsColInfo()
|
|
|
|
:mNumCellsOrig(0), mNumCellsSpan(0)
|
|
|
|
{}
|
|
|
|
|
|
|
|
inline nsColInfo::nsColInfo(PRInt32 aNumCellsOrig,
|
|
|
|
PRInt32 aNumCellsSpan)
|
|
|
|
:mNumCellsOrig(aNumCellsOrig), mNumCellsSpan(aNumCellsSpan)
|
|
|
|
{}
|
1998-10-14 20:32:45 +04:00
|
|
|
|
1998-07-11 04:00:31 +04:00
|
|
|
|
1998-04-14 00:24:54 +04:00
|
|
|
#endif
|