Logo Search packages:      
Sourcecode: xulrunner-1.9 version File versions

nsTableFrame Class Reference

#include <nsTableFrame.h>

Inheritance diagram for nsTableFrame:

nsITableLayout nsContainerFrame nsISupports nsFrame nsIFrame nsISupports

List of all members.

Detailed Description

nsTableFrame maps the inner portion of a table (everything except captions.) Used as a pseudo-frame within nsTableOuterFrame, it may also be used stand-alone as the top-level frame.

The flowed child list contains row group frames. There is also an additional named child list:

See also:

Definition at line 139 of file nsTableFrame.h.

Public Types

enum  {
  eMathML = 1 << 0, eSVG = 1 << 1, eSVGForeignObject = 1 << 2, eBidiInlineContainer = 1 << 3,
  eReplaced = 1 << 4, eReplacedContainsBlock = 1 << 5, eLineParticipant = 1 << 6, eXULBox = 1 << 7,
  eCanContainOverflowContainers = 1 << 8, eBlockFrame = 1 << 9, eDEBUGAllFrames = 1 << 30, eDEBUGNoFrames = 1 << 31
typedef nsresult(* DisplayGenericTablePartTraversal )(nsDisplayListBuilder *aBuilder, nsFrame *aFrame, const nsRect &aDirtyRect, const nsDisplayListSet &aLists)
enum  Halignment { hAlign_Left, hAlign_Right, hAlign_Center }
typedef nsAutoTPtrArray
< nsTableRowGroupFrame, 8 > 
enum  Valignment { vAlign_Top, vAlign_Middle, vAlign_BaseLine, vAlign_Bottom }

Public Member Functions

void AddBorderAndPadding (nsSize &aSize)
virtual nsresult AddFrames (nsIFrame *aFrameList, nsIFrame *aPrevSibling)
virtual void AddInlineMinWidth (nsIRenderingContext *aRenderingContext, InlineMinWidthData *aData)
virtual void AddInlinePrefWidth (nsIRenderingContext *aRenderingContext, InlinePrefWidthData *aData)
void AddMargin (nsSize &aSize)
void AddStateBits (nsFrameState aBits)
virtual void AdjustOffsetsForBidi (PRInt32 aStart, PRInt32 aEnd)
void AdjustRowIndices (PRInt32 aRowIndex, PRInt32 aAdjustment)
virtual void AppendCell (nsTableCellFrame &aCellFrame, PRInt32 aRowIndex)
NS_IMETHOD AppendFrames (nsIAtom *aListName, nsIFrame *aFrameList)
void AppendRowGroups (nsIFrame *aFirstRowGroupFrame)
void AppendRows (nsTableRowGroupFrame &aRowGroupFrame, PRInt32 aRowIndex, nsVoidArray &aRowFrames)
void ApplySkipSides (nsMargin &aMargin) const
virtual PRBool AreAncestorViewsVisible () const
NS_IMETHOD AttributeChanged (PRInt32 aNameSpaceID, nsIAtom *aAttribute, PRInt32 aModType)
void AttributeChangedFor (nsIFrame *aFrame, nsIContent *aContent, nsIAtom *aAttribute)
PRBool BreakWordBetweenPunctuation (const PeekWordState *aState, PRBool aForward, PRBool aPunctAfter, PRBool aWhitespaceAfter, PRBool aIsKeyboardSelect)
NS_IMETHOD BuildDisplayList (nsDisplayListBuilder *aBuilder, const nsRect &aDirtyRect, const nsDisplayListSet &aLists)
nsresult BuildDisplayListForChild (nsDisplayListBuilder *aBuilder, nsIFrame *aChild, const nsRect &aDirtyRect, const nsDisplayListSet &aLists, PRUint32 aFlags=0)
nsresult BuildDisplayListForStackingContext (nsDisplayListBuilder *aBuilder, const nsRect &aDirtyRect, nsDisplayList *aList)
virtual PRBool CachedIsEmpty ()
nscoord CalcBorderBoxHeight (const nsHTMLReflowState &aReflowState)
virtual ContentOffsets CalcContentOffsetsFromFramePoint (nsPoint aPoint)
virtual PRBool CanContinueTextRun () const
NS_IMETHOD CaptureMouse (nsPresContext *aPresContext, PRBool aGrabMouseEvents)
NS_IMETHOD CharacterDataChanged (nsPresContext *aPresContext, nsIContent *aChild, PRBool aAppend)
void CheckInvalidateSizeChange (nsPresContext *aPresContext, nsHTMLReflowMetrics &aDesiredSize, const nsHTMLReflowState &aReflowState)
NS_IMETHOD CheckVisibility (nsPresContext *aContext, PRInt32 aStartIndex, PRInt32 aEndIndex, PRBool aRecurse, PRBool *aFinished, PRBool *_retval)
virtual void ChildIsDirty (nsIFrame *aChild)
virtual PRBool ChildrenMustHaveWidgets () const
void ClearColCache ()
void ClearGeometryDirty ()
nsresult Clip (nsDisplayListBuilder *aBuilder, const nsDisplayListSet &aFromSet, const nsDisplayListSet &aToSet, const nsRect &aClipRect)
PRBool ColHasSpanningCells (PRInt32 aColIndex)
PRBool ColIsSpannedInto (PRInt32 aColIndex)
virtual nsSize ComputeAutoSize (nsIRenderingContext *aRenderingContext, nsSize aCBSize, nscoord aAvailableWidth, nsSize aMargin, nsSize aBorder, nsSize aPadding, PRBool aShrinkWrap)
nsRect ComputeSimpleTightBounds (gfxContext *aContext) const
virtual nsSize ComputeSize (nsIRenderingContext *aRenderingContext, nsSize aCBSize, nscoord aAvailableWidth, nsSize aMargin, nsSize aBorder, nsSize aPadding, PRBool aShrinkWrap)
virtual PRBool ComputesOwnOverflowArea ()
virtual nsRect ComputeTightBounds (gfxContext *aContext) const
void ConsiderChildOverflow (nsRect &aOverflowArea, nsIFrame *aChildFrame)
void CoordNeedsRecalc (nscoord &aCoord)
void CreateAnonymousColFrames (nsTableColGroupFrame *aColGroupFrame, PRInt32 aNumColsToAdd, nsTableColType aColType, PRBool aAddToColGroupAndTable, nsIFrame *aPrevCol, nsIFrame **aFirstNewFrame)
void CreateAnonymousColFrames (PRInt32 aNumColsToAdd, nsTableColType aColType, PRBool aDoAppend, nsIFrame *aPrevCol=nsnull)
nsTableColGroupFrameCreateAnonymousColGroupFrame (nsTableColGroupType aType)
virtual nsresult CreateWidgetForView (nsIView *aView)
virtual void DeleteNextInFlowChild (nsPresContext *aPresContext, nsIFrame *aNextInFlow)
virtual void Destroy ()
PRInt32 DestroyAnonymousColFrames (PRInt32 aNumFrames)
NS_IMETHOD DidReflow (nsPresContext *aPresContext, const nsHTMLReflowState *aReflowState, nsDidReflowStatus aStatus)
void DidResizeColumns ()
nsresult DisplayBorderBackgroundOutline (nsDisplayListBuilder *aBuilder, const nsDisplayListSet &aLists, PRBool aForceBackground=PR_FALSE)
nsresult DisplayCaret (nsDisplayListBuilder *aBuilder, const nsRect &aDirtyRect, const nsDisplayListSet &aLists)
nsresult DisplayOutline (nsDisplayListBuilder *aBuilder, const nsDisplayListSet &aLists)
nsresult DisplayOutlineUnconditional (nsDisplayListBuilder *aBuilder, const nsDisplayListSet &aLists)
void DisplayOverflowContainers (nsDisplayListBuilder *aBuilder, const nsRect &aDirtyRect, const nsDisplayListSet &aLists)
nsresult DisplayTextDecorations (nsDisplayListBuilder *aBuilder, nsDisplayList *aBelowTextDecorations, nsDisplayList *aAboveTextDecorations, nsLineBox *aLine)
virtual PRBool DoesClipChildren ()
PRBool DoesNeedRecalc (nscoord aCoord)
PRBool DoesNeedRecalc (const nsSize &aSize)
nsresult DoGetParentStyleContextFrame (nsPresContext *aPresContext, nsIFrame **aProviderFrame, PRBool *aIsChild)
void DoInlineIntrinsicWidth (nsIRenderingContext *aRenderingContext, InlineIntrinsicWidthData *aData, nsLayoutUtils::IntrinsicWidthType aType)
void FinishAndStoreOverflow (nsHTMLReflowMetrics *aMetrics)
void FinishAndStoreOverflow (nsRect *aOverflowArea, nsSize aNewSize)
PRBool GetAbsPosClipRect (const nsStyleDisplay *aDisp, nsRect *aRect, const nsSize &aSize)
virtual nsIAtom * GetAdditionalChildListName (PRInt32 aIndex) const
virtual nsStyleContext * GetAdditionalStyleContext (PRInt32 aIndex) const
nsIFrameGetAncestorWithView () const
virtual nsIFrameGetAncestorWithViewExternal () const
virtual nscoord GetBaseline () const
NS_IMETHOD GetBorder (nsMargin &aBorderAndPadding)
NS_IMETHOD GetBorderAndPadding (nsMargin &aBorderAndPadding)
virtual nscoord GetBoxAscent (nsBoxLayoutState &aBoxLayoutState)
NS_IMETHOD GetCellDataAt (PRInt32 aRowIndex, PRInt32 aColIndex, nsIDOMElement *&aCell, PRInt32 &aStartRowIndex, PRInt32 &aStartColIndex, PRInt32 &aRowSpan, PRInt32 &aColSpan, PRInt32 &aActualRowSpan, PRInt32 &aActualColSpan, PRBool &aIsSelected)
virtual nsTableCellMap * GetCellMap () const
virtual nscoord GetCellSpacingX ()
virtual nscoord GetCellSpacingY ()
nsMargin GetChildAreaOffset (const nsHTMLReflowState *aReflowState) const
nsIBox * GetChildBox () const
NS_IMETHOD GetChildFrameContainingOffset (PRInt32 inContentOffset, PRBool inHint, PRInt32 *outFrameContentOffset, nsIFrame **outChildFrame)
nsIViewGetClosestView (nsPoint *aOffset=nsnull) const
nsVoidArrayGetColCache ()
PRInt32 GetColCount () const
nsTableColFrame * GetColFrame (PRInt32 aColIndex) const
nsFrameListGetColGroups ()
virtual PRInt32 GetColumnWidth (PRInt32 aColIndex)
const nsFrameSelectionGetConstFrameSelection ()
nsIContentGetContent () const
nsMargin GetContentAreaOffset (const nsHTMLReflowState *aReflowState) const
NS_IMETHOD GetContentForEvent (nsPresContext *aPresContext, nsEvent *aEvent, nsIContent **aContent)
virtual nsIFrameGetContentInsertionFrame ()
ContentOffsets GetContentOffsetsFromPoint (nsPoint aPoint, PRBool aIgnoreSelectionStyle=PR_FALSE)
virtual ContentOffsets GetContentOffsetsFromPointExternal (nsPoint aPoint, PRBool aIgnoreSelectionStyle=PR_FALSE)
nsRect GetContentRect () const
nscoord GetContinuousLeftBCBorderWidth () const
NS_IMETHOD GetCursor (const nsPoint &aPoint, nsIFrame::Cursor &aCursor)
PRInt32 GetEffectiveColCount () const
PRInt32 GetEffectiveCOLSAttribute ()
virtual PRInt32 GetEffectiveColSpan (const nsTableCellFrame &aCell, nsCellMap *aCellMap=nsnull) const
virtual PRInt32 GetEffectiveRowSpan (const nsTableCellFrame &aCell, nsCellMap *aCellMap=nsnull)
virtual PRInt32 GetEffectiveRowSpan (PRInt32 aStartRowIndex, const nsTableCellFrame &aCell) const
nsMargin GetExcludedOuterBCBorder () const
nsPeekOffsetStruct GetExtremeCaretPosition (PRBool aStart)
virtual nsIFrameGetFirstChild (nsIAtom *aListName) const
virtual nsIFrameGetFirstContinuation () const
virtual nsIFrameGetFirstInFlow () const
nsPoint GetFirstSectionOrigin (const nsHTMLReflowState &aReflowState) const
virtual nscoord GetFlex (nsBoxLayoutState &aBoxLayoutState)
nsresult GetFrameFromDirection (nsDirection aDirection, PRBool aVisual, PRBool aJumpLines, PRBool aScrollViewStop, nsIFrame **aOutFrame, PRInt32 *aOutOffset, PRBool *aOutJumpedLine)
< nsFrameSelection
GetFrameSelection ()
virtual Halignment GetHAlign () const
nsMargin GetIncludedOuterBCBorder () const
NS_IMETHOD GetIndexByRowAndColumn (PRInt32 aRow, PRInt32 aColumn, PRInt32 *aIndex)
PRInt32 GetIndexOfLastRealCol ()
virtual nsSize GetIntrinsicRatio ()
virtual IntrinsicSize GetIntrinsicSize ()
virtual nsIFrameGetLastContinuation () const
virtual nsIFrameGetLastInFlow () const
NS_IMETHOD GetLayoutManager (nsIBoxLayout **aLayout)
NS_IMETHOD GetMargin (nsMargin &aMargin)
nsRect GetMarginRect () const
virtual nsSize GetMaxSize (nsBoxLayoutState &aBoxLayoutState)
virtual nsSize GetMinSize (nsBoxLayoutState &aBoxLayoutState)
virtual nsSize GetMinSizeForScrollArea (nsBoxLayoutState &aBoxLayoutState)
virtual nscoord GetMinWidth (nsIRenderingContext *aRenderingContext)
virtual nsIViewGetMouseCapturer () const
virtual PRBool GetMouseThrough () const
nsIBox * GetNextBox () const
virtual nsIFrameGetNextContinuation () const
nsIFrameGetNextInFlow () const
virtual nsIFrameGetNextInFlowVirtual () const
nsIFrameGetNextSibling () const
PRInt32 GetNumCellsOriginatingInCol (PRInt32 aColIndex) const
PRInt32 GetNumCellsOriginatingInRow (PRInt32 aRowIndex) const
NS_IMETHOD GetOffsetFromView (nsPoint &aOffset, nsIView **aView) const
NS_IMETHOD GetOffsets (PRInt32 &aStart, PRInt32 &aEnd) const
nsPoint GetOffsetTo (const nsIFrame *aOther) const
virtual nsPoint GetOffsetToExternal (const nsIFrame *aOther) const
PRUint32 GetOrdinal (nsBoxLayoutState &aBoxLayoutState)
NS_IMETHOD GetOriginToViewOffset (nsPoint &aOffset, nsIView **aView) const
nsMargin GetOuterBCBorder () const
nsRect GetOverflowRect () const
NS_IMETHOD GetPadding (nsMargin &aBorderAndPadding)
nsRect GetPaddingRect () const
nsIFrameGetParent () const
nsIBox * GetParentBox () const
NS_IMETHOD GetParentStyleContextFrame (nsPresContext *aPresContext, nsIFrame **aProviderFrame, PRBool *aIsChild)
virtual nsIViewGetParentViewForChildFrame (nsIFrame *aFrame) const
NS_IMETHOD GetPointFromOffset (PRInt32 inOffset, nsPoint *outPoint)
nsPoint GetPosition () const
nsPoint GetPositionIgnoringScrolling ()
virtual nsPoint GetPositionOfChildIgnoringScrolling (nsIFrame *aChild)
virtual nsSize GetPrefSize (nsBoxLayoutState &aBoxLayoutState)
virtual nscoord GetPrefWidth (nsIRenderingContext *aRenderingContext)
virtual nsIFrameGetPrevContinuation () const
nsIFrameGetPrevInFlow () const
virtual nsIFrameGetPrevInFlowVirtual () const
nsRect GetRect () const
nsPoint GetRelativeOffset (const nsStyleDisplay *aDisplay=nsnull) const
virtual nsresult GetRenderedText (nsAString *aAppendToString=nsnull, gfxSkipChars *aSkipChars=nsnull, gfxSkipCharsIterator *aSkipIter=nsnull, PRUint32 aSkippedStartOffset=0, PRUint32 aSkippedMaxLength=PR_UINT32_MAX)
NS_IMETHOD GetRowAndColumnByIndex (PRInt32 aIndex, PRInt32 *aRow, PRInt32 *aColumn)
PRInt32 GetRowCount () const
nsIntRect GetScreenRect () const
virtual nsIntRect GetScreenRectExternal () const
NS_IMETHOD GetSelected (PRBool *aSelected) const
NS_IMETHOD GetSelectionController (nsPresContext *aPresContext, nsISelectionController **aSelCon)
nsSize GetSize () const
virtual nsSplittableType GetSplittableType () const
PRInt32 GetStartRowIndex (nsTableRowGroupFrame &aRowGroupFrame)
nsFrameState GetStateBits () const
nsStyleContext * GetStyleContext () const
virtual const void * GetStyleDataExternal (nsStyleStructID aSID) const
NS_IMETHOD GetTableSize (PRInt32 &aRowCount, PRInt32 &aColCount)
nsIFrameGetTailContinuation ()
nsTableRowGroupFrameGetTFoot () const
nsTableRowGroupFrameGetTHead () const
virtual nsIAtom * GetType () const
virtual nsMargin GetUsedBorder () const
nsMargin GetUsedBorderAndPadding () const
virtual nsMargin GetUsedMargin () const
virtual nsMargin GetUsedPadding () const
virtual Valignment GetVAlign () const
nsIViewGetView () const
virtual nsIViewGetViewExternal () const
virtual nsIWidgetGetWindow () const
NS_IMETHOD HandleDrag (nsPresContext *aPresContext, nsGUIEvent *aEvent, nsEventStatus *aEventStatus)
NS_IMETHOD HandleEvent (nsPresContext *aPresContext, nsGUIEvent *aEvent, nsEventStatus *aEventStatus)
NS_IMETHOD HandleMultiplePress (nsPresContext *aPresContext, nsGUIEvent *aEvent, nsEventStatus *aEventStatus)
NS_IMETHOD HandlePress (nsPresContext *aPresContext, nsGUIEvent *aEvent, nsEventStatus *aEventStatus)
NS_IMETHOD HandleRelease (nsPresContext *aPresContext, nsGUIEvent *aEvent, nsEventStatus *aEventStatus)
PRBool HasCellSpanningPctCol () const
PRBool HasMoreThanOneCell (PRInt32 aRowIndex) const
PRBool HasPctCol () const
virtual PRBool HasTerminalNewline () const
PRBool HasView () const
PRBool HasZeroColSpans () const
virtual PRBool HonorPrintBackgroundSettings ()
NS_IMETHOD Init (nsIContent *aContent, nsIFrame *aParent, nsIFrame *aPrevInFlow)
virtual void InsertCells (nsVoidArray &aCellFrames, PRInt32 aRowIndex, PRInt32 aColIndexBefore)
void InsertCol (nsTableColFrame &aColFrame, PRInt32 aColIndex)
void InsertColGroups (PRInt32 aColIndex, nsIFrame *aFirstFrame, nsIFrame *aLastFrame=nsnull)
NS_IMETHOD InsertFrames (nsIAtom *aListName, nsIFrame *aPrevFrame, nsIFrame *aFrameList)
PRInt32 InsertRow (nsTableRowGroupFrame &aRowGroupFrame, nsIFrame &aFrame, PRInt32 aRowIndex, PRBool aConsiderSpans)
void InsertRowGroups (nsIFrame *aFirstRowGroupFrame, nsIFrame *aLastRowGroupFrame)
PRInt32 InsertRows (nsTableRowGroupFrame &aRowGroupFrame, nsVoidArray &aFrames, PRInt32 aRowIndex, PRBool aConsiderSpans)
virtual IntrinsicWidthOffsetData IntrinsicWidthOffsets (nsIRenderingContext *aRenderingContext)
void Invalidate (const nsRect &aDamageRect, PRBool aImmediate=PR_FALSE)
virtual void InvalidateInternal (const nsRect &aDamageRect, nscoord aOffsetX, nscoord aOffsetY, nsIFrame *aForChild, PRBool aImmediate)
void InvalidateOverflowRect ()
void InvalidateRectDifference (const nsRect &aR1, const nsRect &aR2)
PRBool IsAutoHeight ()
virtual PRBool IsAutoLayout ()
PRBool IsAutoWidth (PRBool *aIsPctWidth=nsnull)
PRBool IsBorderCollapse () const
PRBool IsBoxFrame () const
PRBool IsBoxWrapped () const
virtual PRBool IsCollapsed (nsBoxLayoutState &aBoxLayoutState)
virtual PRBool IsContainingBlock () const
virtual PRBool IsEmpty ()
virtual PRBool IsFloatContainingBlock () const
virtual PRBool IsFocusable (PRInt32 *aTabIndex=nsnull, PRBool aWithMouse=PR_FALSE)
virtual PRBool IsFrameOfType (PRUint32 aFlags) const
PRBool IsFrameTreeTooDeep (const nsHTMLReflowState &aReflowState, nsHTMLReflowMetrics &aMetrics)
PRBool IsGeneratedContentFrame ()
PRBool IsGeometryDirty () const
PRBool IsHorizontal () const
virtual PRBool IsLeaf () const
PRBool IsMouseCaptured (nsPresContext *aPresContext)
PRBool IsNormalDirection () const
PRBool IsPseudoFrame (nsIContent *aParentContent)
PRBool IsPseudoStackingContextFromStyle ()
PRBool IsRowGroup (PRInt32 aDisplayType) const
PRBool IsRowInserted () const
NS_IMETHOD IsSelectable (PRBool *aIsSelectable, PRUint8 *aSelectStyle) const
virtual PRBool IsSelfEmpty ()
PRBool IsThemed (const nsStyleDisplay *aDisp)
PRBool IsThemed ()
PRBool IsVisibleForPainting ()
PRBool IsVisibleForPainting (nsDisplayListBuilder *aBuilder)
virtual PRBool IsVisibleInSelection (nsISelection *aSelection)
PRBool IsVisibleInSelection (nsDisplayListBuilder *aBuilder)
PRBool IsVisibleOrCollapsedForPainting (nsDisplayListBuilder *aBuilder)
virtual void MarkIntrinsicWidthsDirty ()
void MatchCellMapToColCache (nsTableCellMap *aCellMap)
PRBool NeedColSpanExpansion () const
virtual PRBool NeedsView ()
PRBool NeedToCalcBCBorders () const
PRBool NeedToCollapse () const
 NS_HIDDEN_ (nsresult) DeleteProperty(nsIAtom *aPropertyName) const
 NS_HIDDEN_ (void *) GetProperty(nsIAtom *aPropertyName
 NS_HIDDEN_ (nsresult) SyncLayout(nsBoxLayoutState &aBoxLayoutState)
void operator delete (void *aPtr, size_t sz)
void * operator new (size_t sz, nsIPresShell *aPresShell) CPP_THROW_NEW
void OrderRowGroups (RowGroupArray &aChildren) const
nsresult OverflowClip (nsDisplayListBuilder *aBuilder, const nsDisplayListSet &aFromSet, const nsDisplayListSet &aToSet, const nsRect &aClipRect, PRBool aClipBorderBackground=PR_FALSE, PRBool aClipAll=PR_FALSE)
void PaintBCBorders (nsIRenderingContext &aRenderingContext, const nsRect &aDirtyRect)
void PaintTableBorderBackground (nsIRenderingContext &aRenderingContext, const nsRect &aDirtyRect, nsPoint aPt)
NS_IMETHOD PeekBackwardAndForward (nsSelectionAmount aAmountBack, nsSelectionAmount aAmountForward, PRInt32 aStartPos, nsPresContext *aPresContext, PRBool aJumpLines)
NS_IMETHOD PeekOffset (nsPeekOffsetStruct *aPos)
virtual PRBool PeekOffsetCharacter (PRBool aForward, PRInt32 *aOffset)
virtual PRBool PeekOffsetNoAmount (PRBool aForward, PRInt32 *aOffset)
virtual PRBool PeekOffsetWord (PRBool aForward, PRBool aWordSelectEatSpace, PRBool aIsKeyboardSelect, PRInt32 *aOffset, PeekWordState *aState)
nsPresContext * PresContext () const
NS_IMETHOD QueryInterface (const nsIID &aIID, void **aInstancePtr)
NS_IMETHOD Reflow (nsPresContext *aPresContext, nsHTMLReflowMetrics &aDesiredSize, const nsHTMLReflowState &aReflowState, nsReflowStatus &aStatus)
nsresult ReflowChild (nsIFrame *aKidFrame, nsPresContext *aPresContext, nsHTMLReflowMetrics &aDesiredSize, const nsHTMLReflowState &aReflowState, nscoord aX, nscoord aY, PRUint32 aFlags, nsReflowStatus &aStatus, nsOverflowContinuationTracker *aTracker=nsnull)
nsresult ReflowOverflowContainerChildren (nsPresContext *aPresContext, const nsHTMLReflowState &aReflowState, nsRect &aOverflowRect, PRUint32 aFlags, nsReflowStatus &aStatus)
nsresult ReflowTable (nsHTMLReflowMetrics &aDesiredSize, const nsHTMLReflowState &aReflowState, nscoord aAvailHeight, nsIFrame *&aLastChildReflowed, nsReflowStatus &aStatus)
NS_IMETHOD RelayoutChildAtOrdinal (nsBoxLayoutState &aState, nsIBox *aChild)
virtual void RemoveCell (nsTableCellFrame *aCellFrame, PRInt32 aRowIndex)
virtual void RemoveCol (nsTableColGroupFrame *aColGroupFrame, PRInt32 aColIndex, PRBool aRemoveFromCache, PRBool aRemoveFromCellMap)
virtual void RemovedAsPrimaryFrame ()
NS_IMETHOD RemoveFrame (nsIAtom *aListName, nsIFrame *aOldFrame)
virtual void RemoveRows (nsTableRowFrame &aFirstRowFrame, PRInt32 aNumRowsToRemove, PRBool aConsiderSpans)
void RemoveStateBits (nsFrameState aBits)
void ResetRowIndices (nsIFrame *aFirstRowGroupFrame=nsnull, nsIFrame *aLastRowGroupFrame=nsnull)
PRBool RowHasSpanningCells (PRInt32 aRowIndex, PRInt32 aNumEffCols)
PRBool RowIsSpannedInto (PRInt32 aRowIndex, PRInt32 aNumEffCols)
virtual void SetAdditionalStyleContext (PRInt32 aIndex, nsStyleContext *aStyleContext)
void SetBCDamageArea (const nsRect &aValue)
virtual void SetBounds (nsBoxLayoutState &aBoxLayoutState, const nsRect &aRect, PRBool aRemoveOverflowArea=PR_FALSE)
virtual void SetColumnWidth (PRInt32 aColIndex, nscoord aWidth)
void SetGeometryDirty ()
void SetHasCellSpanningPctCol (PRBool aValue)
void SetHasPctCol (PRBool aValue)
void SetHasZeroColSpans (PRBool aValue)
NS_IMETHOD SetInitialChildList (nsIAtom *aListName, nsIFrame *aChildList)
NS_IMETHOD SetLayoutManager (nsIBoxLayout *aLayout)
void SetNeedColSpanExpansion (PRBool aValue)
void SetNeedToCalcBCBorders (PRBool aValue)
void SetNeedToCollapse (PRBool aValue)
NS_IMETHOD SetNextContinuation (nsIFrame *)
NS_IMETHOD SetNextInFlow (nsIFrame *)
void SetNextSibling (nsIFrame *aNextSibling)
NS_IMETHOD SetParent (const nsIFrame *aParent)
void SetPosition (const nsPoint &aPt)
NS_IMETHOD SetPrevContinuation (nsIFrame *)
NS_IMETHOD SetPrevInFlow (nsIFrame *)
void SetRect (const nsRect &aRect)
void SetRowInserted (PRBool aValue)
NS_IMETHOD SetSelected (nsPresContext *aPresContext, nsIDOMRange *aRange, PRBool aSelected, nsSpread aSpread)
void SetSize (const nsSize &aSize)
void SetStyleContext (nsStyleContext *aContext)
void SetStyleContextWithoutNotification (nsStyleContext *aContext)
nsresult SetView (nsIView *aView)
nscoord ShrinkWidthToFit (nsIRenderingContext *aRenderingContext, nscoord aWidthInCB)
void SizeNeedsRecalc (nsSize &aSize)
virtual nsresult StealFrame (nsPresContext *aPresContext, nsIFrame *aChild, PRBool aForceNormal=PR_FALSE)
virtual PRBool SupportsVisibilityHidden ()
nscoord TableShrinkWidthToFit (nsIRenderingContext *aRenderingContext, nscoord aWidthInCB)
NS_IMETHOD WillReflow (nsPresContext *aPresContext)
NS_IMETHOD QueryInterface (REFNSIID aIID, void **aInstancePtr)=0

Static Public Member Functions

static void AddBorderAndPadding (nsIBox *aBox, nsSize &aSize)
static PRBool AddCSSCollapsed (nsBoxLayoutState &aState, nsIBox *aBox, PRBool &aCollapsed)
static PRBool AddCSSFlex (nsBoxLayoutState &aState, nsIBox *aBox, nscoord &aFlex)
static PRBool AddCSSMaxSize (nsBoxLayoutState &aState, nsIBox *aBox, nsSize &aSize)
static PRBool AddCSSMinSize (nsBoxLayoutState &aState, nsIBox *aBox, nsSize &aSize)
static PRBool AddCSSOrdinal (nsBoxLayoutState &aState, nsIBox *aBox, PRUint32 &aOrdinal)
static PRBool AddCSSPrefSize (nsBoxLayoutState &aState, nsIBox *aBox, nsSize &aSize)
static void AddMargin (nsSize &aSize, const nsMargin &aMargin)
static void AddMargin (nsIBox *aChild, nsSize &aSize)
static PRBool AncestorsHaveStyleHeight (const nsHTMLReflowState &aParentReflowState)
static nscoord BoundsCheck (nscoord aMinSize, nscoord aPrefSize, nscoord aMaxSize)
static nsSize BoundsCheck (const nsSize &aMinSize, const nsSize &aPrefSize, const nsSize &aMaxSize)
static nsSize BoundsCheckMinMax (const nsSize &aMinSize, const nsSize &aMaxSize)
static void BreakFromPrevFlow (nsIFrame *aFrame)
static void CheckRequestSpecialHeightReflow (const nsHTMLReflowState &aReflowState)
static nsIFrameCorrectStyleParentFrame (nsIFrame *aProspectiveParent, nsIAtom *aChildPseudo)
static nsresult CreateNextInFlow (nsPresContext *aPresContext, nsIFrame *aOuterFrame, nsIFrame *aFrame, nsIFrame *&aNextInFlowResult)
static nsresult CreateViewForFrame (nsIFrame *aFrame, nsIFrame *aContentParentFrame, PRBool aForce)
static nsresult DisplayGenericTablePart (nsDisplayListBuilder *aBuilder, nsFrame *aFrame, const nsRect &aDirtyRect, const nsDisplayListSet &aLists, nsDisplayTableItem *aDisplayItem, DisplayGenericTablePartTraversal aTraversal=GenericTraversal)
static nsresult FinishReflowChild (nsIFrame *aKidFrame, nsPresContext *aPresContext, const nsHTMLReflowState *aReflowState, const nsHTMLReflowMetrics &aDesiredSize, nscoord aX, nscoord aY, PRUint32 aFlags)
static PRBool FrameNeedsView (nsIFrame *aFrame)
static nsresult GenericTraversal (nsDisplayListBuilder *aBuilder, nsFrame *aFrame, const nsRect &aDirtyRect, const nsDisplayListSet &aLists)
static void GetFirstLeaf (nsPresContext *aPresContext, nsIFrame **aFrame)
static nsIFrameGetFrameAtOrBefore (nsIFrame *aParentFrame, nsIFrame *aPriorChildFrame, nsIAtom *aChildType)
static void GetLastLeaf (nsPresContext *aPresContext, nsIFrame **aFrame)
static PRInt32 GetLineNumber (nsIFrame *aFrame, nsIFrame **aContainingBlock=nsnull)
static nsIFrameGetNearestCapturingFrame (nsIFrame *aFrame)
static nsresult GetNextPrevLineFromeBlockFrame (nsPresContext *aPresContext, nsPeekOffsetStruct *aPos, nsIFrame *aBlockFrame, PRInt32 aLineStart, PRInt8 aOutSideLimit)
static void * GetProperty (nsIFrame *aFrame, nsIAtom *aPropertyName, PRBool aCreateIfNecessary=PR_FALSE)
static nsTableRowGroupFrameGetRowGroupFrame (nsIFrame *aFrame, nsIAtom *aFrameTypeIn=nsnull)
static nsTableFrameGetTableFrame (nsIFrame *aSourceFrame)
static float GetTwipsToPixels (nsPresContext *aPresContext)
static void InvalidateFrame (nsIFrame *aFrame, const nsRect &aOrigRect, const nsRect &aOrigOverflowRect, PRBool aIsFirstReflow)
static PRBool IsPctHeight (nsStyleContext *aStyleContext)
static PRInt32 LengthOf (nsIFrame *aFrameList)
static PRBool PageBreakAfter (nsIFrame &aSourceFrame, nsIFrame *aNextFrame)
static void PositionChildViews (nsIFrame *aFrame)
static void PositionFrameView (nsIFrame *aKidFrame)
static void RemoveFromFlow (nsIFrame *aFrame)
static nsresult ReparentFrameView (nsPresContext *aPresContext, nsIFrame *aChildFrame, nsIFrame *aOldParentFrame, nsIFrame *aNewParentFrame)
static nsresult ReparentFrameViewList (nsPresContext *aPresContext, nsIFrame *aChildFrameList, nsIFrame *aOldParentFrame, nsIFrame *aNewParentFrame)
static void RePositionViews (nsIFrame *aFrame)
static void RequestSpecialHeightReflow (const nsHTMLReflowState &aReflowState)
static void Shutdown ()
static void SyncFrameViewAfterReflow (nsPresContext *aPresContext, nsIFrame *aFrame, nsIView *aView, const nsRect *aCombinedArea, PRUint32 aFlags=0)
static void SyncFrameViewProperties (nsPresContext *aPresContext, nsIFrame *aFrame, nsStyleContext *aStyleContext, nsIView *aView, PRUint32 aFlags=0)

Public Attributes

void NSPropertyDtorFunc aDestructor = nsnull
void NSPropertyDtorFunc void * aDtorData = nsnull)
const nsRect PRBool aImmediate = PR_FALSE)
const nsRect * aRect = nsnull
nsresult * aStatus = nsnull) const
void * aValue
virtual nsresult *aStatus const

Protected Types

enum  eMouseThrough { unset, never, always }
typedef nsAutoTPtrArray
< nsIFrame, 8 > 

Protected Member Functions

void AdjustForCollapsingRowsCols (nsHTMLReflowMetrics &aDesiredSize, nsMargin aBorderPadding)
nsBoxLayoutMetrics * BoxMetrics () const
nsresult BuildDisplayListForNonBlockChildren (nsDisplayListBuilder *aBuilder, const nsRect &aDirtyRect, const nsDisplayListSet &aLists, PRUint32 aFlags=0)
void CalcBCBorders ()
void CalcDesiredHeight (const nsHTMLReflowState &aReflowState, nsHTMLReflowMetrics &aDesiredSize)
PRInt32 CollectRows (nsIFrame *aFrame, nsVoidArray &aCollection)
NS_IMETHOD DidSetStyleContext ()
PRInt16 DisplaySelection (nsPresContext *aPresContext, PRBool isOkToTurnOn=PR_FALSE)
nsresult DisplaySelectionOverlay (nsDisplayListBuilder *aBuilder, const nsDisplayListSet &aLists, PRUint16 aContentType=nsISelectionDisplay::DISPLAY_FRAMES)
nsresult DisplayTextDecorationsAndChildren (nsDisplayListBuilder *aBuilder, const nsRect &aDirtyRect, const nsDisplayListSet &aLists)
void DistributeHeightToRows (const nsHTMLReflowState &aReflowState, nscoord aAmount)
NS_IMETHOD DoLayout (nsBoxLayoutState &aBoxLayoutState)
void ExpandBCDamageArea (nsRect &aRect) const
void FireDOMEvent (const nsAString &aDOMEventName, nsIContent *aContent=nsnull)
nscoord GetCollapsedWidth (nsMargin aBorderPadding)
NS_IMETHOD GetDataForTableSelection (const nsFrameSelection *aFrameSelection, nsIPresShell *aPresShell, nsMouseEvent *aMouseEvent, nsIContent **aParentContent, PRInt32 *aContentOffset, PRInt32 *aTarget)
virtual PRBool GetDefaultFlex (PRInt32 &aFlex)
nsIFrameGetFirstBodyRowGroupFrame ()
virtual void GetLayoutFlags (PRUint32 &aFlags)
nsIFrameGetOverflowFrames (nsPresContext *aPresContext, PRBool aRemoveProperty) const
nsFrameListGetPropTableFrames (nsPresContext *aPresContext, nsIAtom *aPropID) const
virtual PRIntn GetSkipSides () const
void GetTextDecorations (nsPresContext *aPresContext, PRBool aIsBlock, PRUint8 &aDecorations, nscolor &aUnderColor, nscolor &aOverColor, nscolor &aStrikeColor)
virtual PRBool GetWasCollapsed (nsBoxLayoutState &aState)
PRBool HasBorder () const
PRBool HaveReflowedColGroups () const
void InitBoxMetrics (PRBool aClear)
void InitChildReflowState (nsHTMLReflowState &aReflowState)
void InvalidateRoot (const nsRect &aDamageRect, nscoord aOffsetX, nscoord aOffsetY, PRBool aImmediate)
nsITableLayoutStrategy * LayoutStrategy ()
PRBool MoveOverflowToChildList (nsPresContext *aPresContext)
 NS_HIDDEN_ (nsresult) EndLayout(nsBoxLayoutState &aState)
 NS_HIDDEN_ (nsresult) BeginLayout(nsBoxLayoutState &aState)
 NS_IMETHOD_ (nsrefcnt) Release(void)
 NS_IMETHOD_ (nsrefcnt) AddRef(void)
 nsTableFrame (nsStyleContext *aContext)
PRUint32 OrderRowGroups (FrameArray &aChildren, nsTableRowGroupFrame **aHead, nsTableRowGroupFrame **aFoot) const
virtual void PaintTextDecorationLine (nsIRenderingContext &aRenderingContext, const nsPoint &aPt, nsLineBox *aLine, nscolor aColor, gfxFloat aOffset, gfxFloat aAscent, gfxFloat aSize, const PRUint8 aDecoration)
virtual PRBool ParentDisablesSelection () const
nsresult PeekOffsetParagraph (nsPeekOffsetStruct *aPos)
void PlaceChild (nsTableReflowState &aReflowState, nsIFrame *aKidFrame, nsHTMLReflowMetrics &aKidDesiredSize, const nsRect &aOriginalKidRect, const nsRect &aOriginalKidOverflowRect)
void PushChildren (nsPresContext *aPresContext, nsIFrame *aFromChild, nsIFrame *aPrevSibling)
void PushChildren (const FrameArray &aFrames, PRInt32 aPushFrom)
NS_METHOD ReflowChildren (nsTableReflowState &aReflowState, nsReflowStatus &aStatus, nsIFrame *&aLastChildReflowed, nsRect &aOverflowArea)
void ReflowColGroups (nsIRenderingContext *aRenderingContext)
PRBool RemovePropTableFrame (nsPresContext *aPresContext, nsIFrame *aFrame, nsIAtom *aPropID) const
nsFrameListRemovePropTableFrames (nsPresContext *aPresContext, nsIAtom *aPropID) const
void SetBorderCollapse (PRBool aValue)
void SetColumnDimensions (nscoord aHeight, const nsMargin &aReflowState)
void SetHaveReflowedColGroups (PRBool aValue)
nsresult SetOverflowFrames (nsPresContext *aPresContext, nsIFrame *aOverflowFrames)
nsresult SetPropTableFrames (nsPresContext *aPresContext, nsFrameList *aFrameList, nsIAtom *aPropID) const
nsresult SetupHeaderFooterChild (const nsTableReflowState &aReflowState, nsTableRowGroupFrame *aFrame, nscoord *aDesiredHeight)
virtual void SetWasCollapsed (nsBoxLayoutState &aState, PRBool aWas)
virtual ~nsTableFrame ()

Static Protected Member Functions

static void FillCursorInformationFromStyle (const nsStyleUserInterface *ui, nsIFrame::Cursor &aCursor)

Protected Attributes

struct nsTableFrame::TableBits mBits
nsTableCellMap * mCellMap
nsAutoVoidArray mColFrames
nsFrameList mColGroups
nsFrameList mFrames
nsRect mRect
nsFrameState mState
nsStyleContext * mStyleContext
nsITableLayoutStrategy * mTableLayoutStrategy

Static Protected Attributes

static PRBool gGotTheme = PR_FALSE
static nsIThemegTheme = nsnull

Private Member Functions

void ProcessRowInserted (nscoord aNewHeight)


nsIFrameNS_NewEmptyFrame (nsIPresShell *aShell, nsStyleContext *aContext)
nsIFrameNS_NewTableFrame (nsIPresShell *aPresShell, nsStyleContext *aContext)
class nsDisplayTextDecoration
class nsIFrame
class nsOverflowContinuationTracker
class nsTableOuterFrame


struct  TableBits

The documentation for this class was generated from the following files:

Generated by  Doxygen 1.6.0   Back to index