#include <fp_TableContainer.h>

| fp_TableContainer::fp_TableContainer | ( | fl_SectionLayout * | pSectionLayout | ) |
Create a Master Table container. This is broken across other vertical Containers.
| iType | Container type | |
| pSectionLayout | Section layout type used for this container |
References fp_ContainerObject::getSectionLayout(), fl_SectionLayout::markAllRunsDirty(), and fl_SectionLayout::setNeedsRedraw().
Referenced by VBreakAt().
| fp_TableContainer::fp_TableContainer | ( | fl_SectionLayout * | pSectionLayout, | |
| fp_TableContainer * | pMaster | |||
| ) |
Create a broken Table container. This is placed between the cells and drawing. A vertical offset is subtracted from the Cells Y location for all manipulations.
| iType | Container type | |
| pSectionLayout | Section layout type used for this container |
| fp_TableContainer::~fp_TableContainer | ( | ) |
Destruct container
References fp_Container::clearCons(), deleteBrokenTables(), m_pMasterTable, m_vecColumns, m_vecRows, setContainer(), fp_Container::setNext(), fp_Container::setPrev(), UT_VECTOR_PURGEALL, and xxx_UT_DEBUGMSG.
| void fp_TableContainer::sizeRequest | ( | fp_Requisition * | pRequest | ) |
References _size_request_init(), _size_request_pass1(), _size_request_pass2(), _size_request_pass3(), UT_GenericVector< T >::getItemCount(), getNthCol(), UT_GenericVector< T >::getNthItem(), getNthRow(), getRowHeight(), fp_ContainerObject::getSectionLayout(), fl_TableLayout::getVecColProps(), _fp_Requisition::height, m_iBorderWidth, m_iCols, fl_ColProps::m_iColWidth, m_iRows, m_vecColumns, fp_TableRowColumn::requisition, fp_TableRowColumn::spacing, _fp_Requisition::width, and xxx_UT_DEBUGMSG.
Referenced by layout().
| void fp_TableContainer::sizeAllocate | ( | fp_Allocation * | pAllocate | ) |
References _size_allocate_init(), _size_allocate_pass1(), _size_allocate_pass2(), _fp_Allocation::height, m_MyAllocation, _fp_Allocation::width, _fp_Allocation::x, xxx_UT_DEBUGMSG, and _fp_Allocation::y.
Referenced by layout().
| void fp_TableContainer::mapXYToPosition | ( | UT_sint32 | x, | |
| UT_sint32 | y, | |||
| PT_DocPosition & | pos, | |||
| bool & | bBOL, | |||
| bool & | bEOL, | |||
| bool & | isTOC | |||
| ) | [virtual] |
Find document position from X and Y coordinates
| x | X coordinate | |
| y | Y coordinate |
| pos | Document position | |
| bBOL | True if position is at begining of line, otherwise false | |
| bEOL | True if position is at end of line, otherwise false |
Reimplemented from fp_VerticalContainer.
References fp_Container::countCons(), d, fp_VerticalContainer::distanceFromPoint(), FP_CONTAINER_TABLE, fp_ContainerObject::getContainerType(), getFirstBrokenTable(), getMasterTable(), fp_VerticalContainer::getMaxHeight(), fp_Container::getNthCon(), fp_VerticalContainer::getWidth(), fp_VerticalContainer::getX(), fp_VerticalContainer::getY(), getYBreak(), isThisBroken(), fp_VerticalContainer::mapXYToPosition(), mapXYToPosition(), UT_return_if_fail, and xxx_UT_DEBUGMSG.
Referenced by mapXYToPosition(), and fp_VerticalContainer::mapXYToPosition().
| fp_Page * fp_TableContainer::getPage | ( | void | ) | [virtual] |
References FP_CONTAINER_CELL, getBrokenColumn(), fp_CellContainer::getColumn(), fp_Container::getContainer(), fp_ContainerObject::getContainerType(), getFirstBrokenTable(), getMasterTable(), fp_Column::getPage(), fp_Container::getPage(), and isThisBroken().
Referenced by fp_CellContainer::_clear(), _drawBoundaries(), fp_CellContainer::_drawBoundaries(), _drawBrokenBoundaries(), AP_LeftRuler::_drawCellProperties(), FV_View::_drawOrClearBetweenPositions(), fp_CellContainer::_getBrokenRect(), AP_LeftRuler::_getCellMarkerRects(), clearScreen(), fp_CellContainer::drawLines(), fp_VerticalContainer::getOffsets(), and fp_CellContainer::getScreenPositions().
returns the first fp_Line of the table in this column by recursively searching down the table structure.
References fp_CellContainer::doesOverlapBrokenTable(), FP_CONTAINER_LINE, FP_CONTAINER_TABLE, fp_CellContainer::getColumn(), fp_ContainerObject::getContainerType(), getMasterTable(), fp_Container::getNext(), fp_Container::getNthCon(), isThisBroken(), UT_ASSERT, and UT_SHOULD_NOT_HAPPEN.
Referenced by fp_Page::getFirstLastPos().
returns the Last fp_Line of the table in this column by recursively searching down the table structure.
References fp_Container::countCons(), fp_CellContainer::doesOverlapBrokenTable(), FP_CONTAINER_LINE, FP_CONTAINER_TABLE, fp_CellContainer::getColumn(), fp_ContainerObject::getContainerType(), getMasterTable(), fp_Container::getNext(), fp_Container::getNthCon(), fp_Container::getPrev(), isThisBroken(), UT_ASSERT, UT_return_val_if_fail, and UT_SHOULD_NOT_HAPPEN.
Referenced by fp_Page::getFirstLastPos().
| void fp_TableContainer::layout | ( | void | ) |
References fl_TableLayout::getBottomOffset(), fp_ContainerObject::getSectionLayout(), fl_TableLayout::getTopOffset(), fp_VerticalContainer::getWidth(), fp_VerticalContainer::getX(), fp_VerticalContainer::getY(), _fp_Requisition::height, _fp_Allocation::height, isThisBroken(), m_iBorderWidth, setToAllocation(), fp_VerticalContainer::setX(), sizeAllocate(), sizeRequest(), UT_ASSERT, UT_SHOULD_NOT_HAPPEN, _fp_Allocation::width, _fp_Allocation::x, xxx_UT_DEBUGMSG, and _fp_Allocation::y.
| void fp_TableContainer::setY | ( | UT_sint32 | i | ) | [virtual] |
Overload the setY method
Reimplemented from fp_VerticalContainer.
References adjustBrokenTables(), clearScreen(), getFirstBrokenTable(), getMasterTable(), fp_ContainerObject::getSectionLayout(), fp_VerticalContainer::getY(), isThisBroken(), fp_VerticalContainer::setY(), VBreakAt(), and xxx_UT_DEBUGMSG.
Referenced by fp_CellContainer::drawBroken(), fp_CellContainer::getBrokenTable(), fp_CellContainer::layout(), VBreakAt(), and fp_CellContainer::VBreakAt().
| UT_sint32 fp_TableContainer::getHeight | ( | void | ) | [virtual] |
Return the height of this Table taking into account the possibility of it being broken.
References getFirstBrokenTable(), getHeight(), fp_VerticalContainer::getHeight(), getYBottom(), getYBreak(), and isThisBroken().
Referenced by fb_ColumnBreaker::_breakTable(), _drawBoundaries(), _drawBrokenBoundaries(), fp_CellContainer::_getBrokenRect(), adjustBrokenTables(), fp_Page::breakPage(), clearScreen(), fp_CellContainer::doesOverlapBrokenTable(), fl_TableLayout::doSimpleChange(), fp_VerticalContainer::draw(), fp_CellContainer::getBrokenTable(), fp_Page::getFilledHeight(), getHeight(), isInBrokenTable(), fp_CellContainer::layout(), fp_FrameContainer::layout(), fp_HdrFtrContainer::layout(), fp_ShadowContainer::layout(), fp_Column::layout(), setHeight(), fp_VerticalContainer::setHeight(), fp_VerticalContainer::validate(), VBreakAt(), and fp_CellContainer::VBreakAt().
| void fp_TableContainer::setHeight | ( | UT_sint32 | iHeight | ) | [virtual] |
Reimplemented from fp_VerticalContainer.
References getHeight(), isThisBroken(), fp_VerticalContainer::setHeight(), and xxx_UT_DEBUGMSG.
Referenced by fl_TableLayout::doSimpleChange(), setToAllocation(), and VBreakAt().
| void fp_TableContainer::setContainer | ( | fp_Container * | pContainer | ) | [virtual] |
Reimplemented from fp_Container.
References clearScreen(), fp_Container::getContainer(), getFirstBrokenTable(), fp_ContainerObject::getWidth(), isThisBroken(), setContainer(), fp_Container::setContainer(), fp_VerticalContainer::setWidth(), and xxx_UT_DEBUGMSG.
Referenced by deleteBrokenTables(), fl_TableLayout::insertTableContainer(), setContainer(), VBreakAt(), and ~fp_TableContainer().
| void fp_TableContainer::draw | ( | dg_DrawArgs * | pDA | ) | [virtual] |
Reimplemented from fp_VerticalContainer.
References _brokenDraw(), _drawBoundaries(), dg_DrawArgs::bDirtyRunsOnly, fp_ContainerObject::draw(), draw(), getFirstBrokenTable(), fp_Container::getNext(), fp_Container::getNthCon(), fp_ContainerObject::getSectionLayout(), isThisBroken(), and xxx_UT_DEBUGMSG.
Referenced by draw(), and fp_CellContainer::drawBroken().
| virtual void fp_TableContainer::draw | ( | GR_Graphics * | ) | [inline, virtual] |
Reimplemented from fp_VerticalContainer.
| UT_sint32 fp_TableContainer::getMarginBefore | ( | void | ) | const [virtual] |
Reimplemented from fp_VerticalContainer.
References FL_CONTAINER_BLOCK, fl_ContainerLayout::getContainerType(), getMasterTable(), fl_ContainerLayout::getPrev(), fp_Container::getPrev(), fp_ContainerObject::getSectionLayout(), and isThisBroken().
| UT_sint32 fp_TableContainer::getMarginAfter | ( | void | ) | const [virtual] |
Reimplemented from fp_VerticalContainer.
References FL_CONTAINER_BLOCK, fl_ContainerLayout::getContainerType(), fl_ContainerLayout::getNext(), fp_Container::getNext(), fp_ContainerObject::getSectionLayout(), and isThisBroken().
| void fp_TableContainer::setAdditionalMargin | ( | UT_sint32 | iMarg | ) | [inline] |
| fp_Column * fp_TableContainer::getBrokenColumn | ( | void | ) |
References FP_CONTAINER_CELL, FP_CONTAINER_COLUMN, fp_CellContainer::getBrokenTable(), fp_Container::getColumn(), fp_Container::getContainer(), fp_ContainerObject::getContainerType(), fp_ContainerObject::isColumnType(), isThisBroken(), and UT_ASSERT.
Referenced by fp_CellContainer::_clear(), fp_CellContainer::_getBrokenRect(), getPage(), fp_CellContainer::getScreenPositions(), and isInBrokenTable().
| void fp_TableContainer::drawLines | ( | void | ) |
| bool fp_TableContainer::containsFootnoteReference | ( | void | ) |
Return true if the table contains footnote references
References containsFootnoteReference(), fp_Line::containsFootnoteReference(), fp_CellContainer::containsFootnoteReference(), FP_CONTAINER_CELL, FP_CONTAINER_LINE, FP_CONTAINER_TABLE, fp_ContainerObject::getContainerType(), fp_VerticalContainer::getFirstContainer(), getMasterTable(), fp_Container::getNext(), isInBrokenTable(), and isThisBroken().
Referenced by fb_ColumnBreaker::breakSection(), containsAnnotations(), containsFootnoteReference(), fp_CellContainer::containsFootnoteReference(), getFootnoteContainers(), and fp_CellContainer::getFootnoteContainers().
| bool fp_TableContainer::getFootnoteContainers | ( | UT_GenericVector< fp_FootnoteContainer * > * | pVecFoots | ) |
This method returns a vector of call the footnote layouts in this table
References UT_GenericVector< T >::addItem(), containsFootnoteReference(), fp_Line::containsFootnoteReference(), fp_CellContainer::containsFootnoteReference(), FP_CONTAINER_CELL, FP_CONTAINER_LINE, FP_CONTAINER_TABLE, fp_ContainerObject::getContainerType(), fp_VerticalContainer::getFirstContainer(), fp_CellContainer::getFootnoteContainers(), getFootnoteContainers(), fp_Line::getFootnoteContainers(), UT_GenericVector< T >::getItemCount(), getMasterTable(), fp_Container::getNext(), UT_GenericVector< T >::getNthItem(), isInBrokenTable(), and isThisBroken().
Referenced by fb_ColumnBreaker::breakSection(), getFootnoteContainers(), and fp_CellContainer::getFootnoteContainers().
| bool fp_TableContainer::containsAnnotations | ( | void | ) |
Return true if the table contains Annotations
References containsAnnotations(), fp_CellContainer::containsAnnotations(), containsFootnoteReference(), fp_Line::containsFootnoteReference(), FP_CONTAINER_CELL, FP_CONTAINER_LINE, FP_CONTAINER_TABLE, fp_ContainerObject::getContainerType(), fp_VerticalContainer::getFirstContainer(), getMasterTable(), fp_Container::getNext(), isInBrokenTable(), and isThisBroken().
Referenced by fb_ColumnBreaker::breakSection(), containsAnnotations(), fp_CellContainer::containsAnnotations(), getAnnotationContainers(), and fp_CellContainer::getAnnotationContainers().
| bool fp_TableContainer::getAnnotationContainers | ( | UT_GenericVector< fp_AnnotationContainer * > * | pVecAnns | ) |
This method returns a vector of call the Annotation layouts in this table
References UT_GenericVector< T >::addItem(), containsAnnotations(), fp_Line::containsAnnotations(), fp_CellContainer::containsAnnotations(), FP_CONTAINER_CELL, FP_CONTAINER_LINE, FP_CONTAINER_TABLE, fp_CellContainer::getAnnotationContainers(), getAnnotationContainers(), fp_Line::getAnnotationContainers(), fp_ContainerObject::getContainerType(), fp_VerticalContainer::getFirstContainer(), UT_GenericVector< T >::getItemCount(), getMasterTable(), fp_Container::getNext(), UT_GenericVector< T >::getNthItem(), isInBrokenTable(), and isThisBroken().
Referenced by fb_ColumnBreaker::breakSection(), getAnnotationContainers(), and fp_CellContainer::getAnnotationContainers().
| UT_sint32 fp_TableContainer::tweakBrokenTable | ( | fp_TableContainer * | pBroke | ) |
References fp_Container::countCons(), getMasterTable(), fp_Container::getNthCon(), and fp_CellContainer::tweakBrokenTable().
Referenced by VBreakAt().
| void fp_TableContainer::clearScreen | ( | void | ) | [virtual] |
Reimplemented from fp_VerticalContainer.
References fp_CellContainer::clearScreen(), FP_CONTAINER_CELL, fp_Container::getContainer(), fp_ContainerObject::getContainerType(), fp_Page::getDocLayout(), getHeight(), fp_Container::getNext(), fp_Container::getNthCon(), getPage(), fp_Page::getScreenOffsets(), fp_ContainerObject::getSectionLayout(), FL_DocLayout::isLayoutFilling(), isThisBroken(), fl_SectionLayout::markAllRunsDirty(), fl_SectionLayout::setNeedsRedraw(), and xxx_UT_DEBUGMSG.
Referenced by fl_TableLayout::collapse(), deleteBrokenTables(), setContainer(), and setY().
| bool fp_TableContainer::isVBreakable | ( | void | ) | [virtual] |
Returns true since a table can be broken vertically.
Reimplemented from fp_VerticalContainer.
References FP_CONTAINER_CELL, fp_Container::getContainer(), and fp_ContainerObject::getContainerType().
| virtual bool fp_TableContainer::isHBreakable | ( | void | ) | [inline, virtual] |
Reimplemented from fp_VerticalContainer.
The caller to this method requests a break at the vertical height given. It returns the actual break height, which will always be less than or equal to the requested height.
Reimplemented from fp_VerticalContainer.
References fp_Container::countCons(), fp_VerticalContainer::getHeight(), getMasterTable(), fp_Container::getNthCon(), fp_VerticalContainer::getY(), isThisBroken(), fp_CellContainer::wantVBreakAt(), and wantVBreakAt().
Referenced by fb_ColumnBreaker::_breakTable(), and wantVBreakAt().
Reimplemented from fp_VerticalContainer.
| fp_ContainerObject * fp_TableContainer::VBreakAt | ( | UT_sint32 | vpos | ) | [virtual] |
This method creates a new broken tablecontainer, broken at the offset given. If the new tablecontainer is broken from a pre-existing broken table it is inserted into the holding vertical container after the old broken table. It also inserted into the linked list of containers in the vertical container. vpos is relative to the either the start of the table if it's the first non-zero vpos or relative to the previous ybreak if it's further down.
Reimplemented from fp_VerticalContainer.
References fp_Container::addCon(), breakCellsAt(), fp_Container::countCons(), fp_Container::findCon(), FP_CONTAINER_CELL, fp_TableContainer(), fp_Container::getContainer(), fp_ContainerObject::getContainerType(), getFirstBrokenTable(), getHeight(), fp_VerticalContainer::getHeight(), getLastBrokenTable(), getMasterTable(), fp_ContainerObject::getSectionLayout(), fp_VerticalContainer::getY(), getYBottom(), getYBreak(), fp_Container::insertConAt(), isThisBroken(), setContainer(), setFirstBrokenTable(), setHeight(), setLastBrokenTable(), fp_Container::setNext(), fp_Container::setPrev(), setY(), setYBottom(), setYBreakHere(), tweakBrokenTable(), UT_ASSERT, UT_return_val_if_fail, UT_SHOULD_NOT_HAPPEN, VBreakAt(), and xxx_UT_DEBUGMSG.
Referenced by fb_ColumnBreaker::_breakTable(), fp_CellContainer::drawBroken(), fp_CellContainer::getBrokenTable(), fp_CellContainer::layout(), fp_FrameContainer::layout(), setY(), VBreakAt(), and fp_CellContainer::VBreakAt().
| void fp_TableContainer::breakCellsAt | ( | UT_sint32 | vpos | ) |
vpos is the location from the top of the table that holds these cells.
References containsNestedTables(), fp_VerticalContainer::getHeight(), getMasterTable(), fp_Container::getNext(), fp_Container::getNthCon(), fp_VerticalContainer::getY(), isThisBroken(), and fp_CellContainer::VBreakAt().
Referenced by VBreakAt().
| virtual fp_ContainerObject* fp_TableContainer::HBreakAt | ( | UT_sint32 | ) | [inline, virtual] |
Reimplemented from fp_VerticalContainer.
| UT_sint32 fp_TableContainer::getBrokenNumber | ( | void | ) |
References getFirstBrokenTable(), getMasterTable(), fp_Container::getNext(), and isThisBroken().
| void fp_TableContainer::setToAllocation | ( | void | ) |
References deleteBrokenTables(), fp_VerticalContainer::getHeight(), fp_Container::getNext(), fp_Container::getNthCon(), _fp_Allocation::height, m_MyAllocation, setHeight(), fp_CellContainer::setLineMarkers(), fp_VerticalContainer::setMaxHeight(), fp_CellContainer::setToAllocation(), fp_VerticalContainer::setWidth(), setYBottom(), _fp_Allocation::width, and xxx_UT_DEBUGMSG.
Referenced by layout().
| void fp_TableContainer::tableAttach | ( | fp_CellContainer * | pCell | ) |
References fp_VerticalContainer::addContainer(), fp_Container::countCons(), fp_CellContainer::getBottomAttach(), fp_Container::getNthCon(), fp_CellContainer::getRightAttach(), m_iCols, m_iRows, queueResize(), resize(), fp_CellContainer::setContainer(), fp_Container::setNext(), fp_Container::setPrev(), and xxx_UT_DEBUGMSG.
Referenced by fl_TableLayout::attachCell().
| void fp_TableContainer::setHomogeneous | ( | bool | bIsHomogeneous | ) |
References m_bIsHomogeneous, and queueResize().
Referenced by fl_TableLayout::setTableContainerProperties().
| void fp_TableContainer::setColSpacings | ( | UT_sint32 | spacing | ) |
References getNthCol(), m_iCols, m_iColSpacing, queueResize(), and fp_TableRowColumn::spacing.
Referenced by fl_TableLayout::setTableContainerProperties().
| void fp_TableContainer::setRowSpacings | ( | UT_sint32 | spacing | ) |
References getNthRow(), m_iRows, m_iRowSpacing, queueResize(), and fp_TableRowColumn::spacing.
Referenced by fl_TableLayout::setTableContainerProperties().
References getNthCol(), queueResize(), and fp_TableRowColumn::spacing.
References getNthRow(), queueResize(), and fp_TableRowColumn::spacing.
References UT_GenericVector< T >::addItem(), fp_TableRowColumn::allocation, UT_GenericVector< T >::clear(), fp_TableRowColumn::expand, fp_CellContainer::getBottomAttach(), getNthCol(), fp_Container::getNthCon(), getNthRow(), fp_CellContainer::getRightAttach(), m_iCols, m_iColSpacing, m_iRows, m_iRowSpacing, m_vecColumns, m_vecRows, fp_TableRowColumn::need_expand, fp_TableRowColumn::need_shrink, fp_TableRowColumn::requisition, fp_TableRowColumn::shrink, fp_TableRowColumn::spacing, UT_MAX, UT_VECTOR_PURGEALL, and xxx_UT_DEBUGMSG.
Referenced by tableAttach().
| void fp_TableContainer::setBorderWidth | ( | UT_sint32 | i | ) |
References m_iBorderWidth, and queueResize().
Referenced by fl_TableLayout::setTableContainerProperties().