#include <fp_TOCContainer.h>
fp_TOCContainer::fp_TOCContainer | ( | fl_SectionLayout * | pSectionLayout | ) |
Create Table Of Contents container
iType | Container type | |
pSectionLayout | Section layout type used for this container |
Referenced by VBreakAt().
fp_TOCContainer::fp_TOCContainer | ( | fl_SectionLayout * | pSectionLayout, | |
fp_TOCContainer * | pMaster | |||
) |
References setY().
fp_TOCContainer::~fp_TOCContainer | ( | ) | [virtual] |
Destruct container
References fp_Container::clearCons(), deleteBrokenTOCs(), m_pMasterTOC, setContainer(), fp_Container::setNext(), fp_Container::setPrev(), and UT_DEBUGMSG.
void fp_TOCContainer::adjustBrokenTOCs | ( | void | ) |
This method adjusts the m_iYBreak and m_iYBottom variables after a setY method changes the start position of the top of the table.
References fp_Container::findCon(), fp_Container::getContainer(), getFirstBrokenTOC(), getHeight(), getLastBrokenTOC(), fp_VerticalContainer::getMaxHeight(), fp_Container::getNext(), fp_VerticalContainer::getY(), getYBottom(), getYBreak(), isThisBroken(), setLastBrokenTOC(), fp_Container::setNext(), setYBottom(), setYBreakHere(), UT_ASSERT, UT_DEBUGMSG, UT_SHOULD_NOT_HAPPEN, and xxx_UT_DEBUGMSG.
Referenced by setY().
void fp_TOCContainer::clearScreen | ( | void | ) | [virtual] |
Reimplemented from fp_VerticalContainer.
References fp_ContainerObject::clearScreen(), fp_Container::countCons(), fg_FillType::Fill(), fp_Container::getColumn(), fp_Container::getContainer(), fp_Container::getFillType(), getFirstBrokenTOC(), fp_ContainerObject::getGraphics(), getHeight(), getMasterTOC(), fp_Container::getNthCon(), fp_Container::getPage(), fp_Page::getScreenOffsets(), fp_ContainerObject::getWidth(), fp_VerticalContainer::getX(), fp_VerticalContainer::getY(), isThisBroken(), fg_FillType::setWidthHeight(), and xxx_UT_DEBUGMSG.
Referenced by fl_TOCLayout::_localCollapse(), fl_TOCLayout::collapse(), deleteBrokenAfter(), deleteBrokenTOCs(), fl_TOCLayout::removeBlock(), setContainer(), and setY().
void fp_TOCContainer::deleteBrokenAfter | ( | bool | bClearFirst | ) | [virtual] |
Reimplemented from fp_VerticalContainer.
References fp_Container::clearBrokenContainers(), clearScreen(), deleteBrokenAfter(), fp_Container::deleteNthCon(), fp_Container::findCon(), fp_Container::getContainer(), getFirstBrokenTOC(), getMasterTOC(), fp_Container::getNext(), fp_Container::getPrev(), getTotalTOCHeight(), isThisBroken(), setContainer(), setLastBrokenTOC(), fp_Container::setNext(), and setYBottom().
Referenced by deleteBrokenAfter().
void fp_TOCContainer::deleteBrokenTOCs | ( | bool | bClearFirst | ) |
This deletes all the broken TOCs from this master TOC. This routine assumes that a clear screen has been set already.
References fp_Container::clearBrokenContainers(), clearScreen(), fl_DocSectionLayout::deleteBrokenTablesFromHere(), fp_Container::deleteNthCon(), fp_Container::findCon(), fp_Container::getContainer(), fl_TOCLayout::getDocSectionLayout(), getFirstBrokenTOC(), getLastBrokenTOC(), fp_Container::getNext(), fp_ContainerObject::getSectionLayout(), isThisBroken(), setContainer(), setFirstBrokenTOC(), setLastBrokenTOC(), fp_Container::setNext(), fp_Container::setPrev(), and xxx_UT_DEBUGMSG.
Referenced by fp_VerticalContainer::bumpContainers(), fl_TOCLayout::collapse(), fl_DocSectionLayout::deleteBrokenTablesFromHere(), layout(), and ~fp_TOCContainer().
void fp_TOCContainer::draw | ( | dg_DrawArgs * | pDA | ) | [virtual] |
Draw container content
pDA | Draw arguments |
Reimplemented from fp_VerticalContainer.
References fp_VerticalContainer::_drawBoundaries(), fp_Container::countCons(), fp_ContainerObject::draw(), draw(), getFirstBrokenTOC(), getHeight(), getMasterTOC(), fp_Container::getNthCon(), fp_Container::getPage(), fp_VerticalContainer::getWidth(), fp_ContainerObject::getX(), fp_ContainerObject::getY(), getYBottom(), getYBreak(), isThisBroken(), dg_DrawArgs::xoff, xxx_UT_DEBUGMSG, and dg_DrawArgs::yoff.
Referenced by draw().
void fp_TOCContainer::draw | ( | GR_Graphics * | ) | [virtual] |
void fp_TOCContainer::forceClearScreen | ( | void | ) |
UT_sint32 fp_TOCContainer::getBrokenBot | ( | void | ) |
fp_Column * fp_TOCContainer::getBrokenColumn | ( | void | ) |
References fp_Container::getColumn(), fp_Container::getContainer(), fp_ContainerObject::getContainerType(), fp_ContainerObject::isColumnType(), isThisBroken(), and UT_ASSERT.
Referenced by isInBrokenTOC().
UT_sint32 fp_TOCContainer::getBrokenNumber | ( | void | ) |
References getFirstBrokenTOC(), getMasterTOC(), fp_Container::getNext(), and isThisBroken().
UT_sint32 fp_TOCContainer::getBrokenTop | ( | void | ) |
fl_DocSectionLayout * fp_TOCContainer::getDocSectionLayout | ( | void | ) |
Reimplemented from fp_ContainerObject.
References fl_ContainerLayout::getContainerType(), fp_ContainerObject::getSectionLayout(), fl_ContainerLayout::myContainingLayout(), and UT_ASSERT.
fp_Container * fp_TOCContainer::getFirstBrokenContainer | ( | ) | const [virtual] |
Reimplemented from fp_VerticalContainer.
References getFirstBrokenTOC().
fp_TOCContainer * fp_TOCContainer::getFirstBrokenTOC | ( | void | ) | const |
References getFirstBrokenTOC(), getMasterTOC(), isThisBroken(), and m_pFirstBrokenTOC.
Referenced by adjustBrokenTOCs(), clearScreen(), fl_TOCLayout::collapse(), deleteBrokenAfter(), deleteBrokenTOCs(), draw(), getBrokenNumber(), getFirstBrokenContainer(), getFirstBrokenTOC(), getHeight(), setContainer(), setY(), and VBreakAt().
UT_sint32 fp_TOCContainer::getHeight | ( | void | ) | const [virtual] |
Return the height of this Table taking into account the possibility of it being broken.
Reimplemented from fp_VerticalContainer.
References getFirstBrokenTOC(), getHeight(), getYBottom(), getYBreak(), and isThisBroken().
Referenced by adjustBrokenTOCs(), clearScreen(), draw(), fp_VerticalContainer::draw(), getHeight(), getTotalTOCHeight(), layout(), fp_ShadowContainer::layout(), fp_Column::layout(), fp_VerticalContainer::setHeight(), fp_VerticalContainer::validate(), and VBreakAt().
fp_TOCContainer * fp_TOCContainer::getLastBrokenTOC | ( | void | ) | const |
References getLastBrokenTOC(), getMasterTOC(), isThisBroken(), and m_pLastBrokenTOC.
Referenced by adjustBrokenTOCs(), deleteBrokenTOCs(), getLastBrokenTOC(), and VBreakAt().
virtual UT_sint32 fp_TOCContainer::getLastWantedVBreak | ( | void | ) | const [inline, virtual] |
Reimplemented from fp_VerticalContainer.
fp_TOCContainer* fp_TOCContainer::getMasterTOC | ( | void | ) | const [inline] |
fp_Container * fp_TOCContainer::getNextContainerInSection | ( | void | ) | const [virtual] |
fp_Container * fp_TOCContainer::getPrevContainerInSection | ( | void | ) | const [virtual] |
Reimplemented from fp_VerticalContainer.
References fl_ContainerLayout::getContainerType(), fl_ContainerLayout::getLastContainer(), fl_ContainerLayout::getPrev(), fp_Container::getPrev(), and fp_ContainerObject::getSectionLayout().
Referenced by fp_VerticalContainer::bumpContainers().
UT_sint32 fp_TOCContainer::getTotalTOCHeight | ( | void | ) | const |
References getHeight(), getMasterTOC(), and getTotalTOCHeight().
Referenced by deleteBrokenAfter(), getTotalTOCHeight(), VBreakAt(), and wantVBreakAt().
UT_sint32 fp_TOCContainer::getValue | ( | void | ) |
This method returns the value of the TOC reference (or anchor)
References fp_ContainerObject::getSectionLayout(), and fl_TOCLayout::getTOCPID().
UT_sint32 fp_TOCContainer::getYBottom | ( | void | ) | const [inline] |
Referenced by adjustBrokenTOCs(), draw(), getHeight(), and isInBrokenTOC().
UT_sint32 fp_TOCContainer::getYBreak | ( | void | ) | const [inline] |
Referenced by adjustBrokenTOCs(), draw(), getHeight(), isInBrokenTOC(), and VBreakAt().
virtual fp_ContainerObject* fp_TOCContainer::HBreakAt | ( | UT_sint32 | ) | [inline, virtual] |
Reimplemented from fp_VerticalContainer.
virtual bool fp_TOCContainer::isHBreakable | ( | void | ) | [inline, virtual] |
Reimplemented from fp_VerticalContainer.
bool fp_TOCContainer::isInBrokenTOC | ( | const fp_Container * | pCon | ) |
bool fp_TOCContainer::isThisBroken | ( | void | ) | const [inline] |
Referenced by adjustBrokenTOCs(), fp_VerticalContainer::bumpContainers(), clearScreen(), deleteBrokenAfter(), deleteBrokenTOCs(), draw(), fp_VerticalContainer::draw(), getBrokenColumn(), getBrokenNumber(), getFirstBrokenTOC(), getHeight(), getLastBrokenTOC(), setContainer(), setFirstBrokenTOC(), fp_VerticalContainer::setHeight(), setLastBrokenTOC(), setY(), VBreakAt(), and wantVBreakAt().
bool fp_TOCContainer::isVBreakable | ( | void | ) | [virtual] |
Reimplemented from fp_VerticalContainer.
void fp_TOCContainer::layout | ( | void | ) |
References fp_VerticalContainer::_getMaxContainerHeight(), fp_VerticalContainer::_setMaxContainerHeight(), fp_ContainerObject::clearScreen(), fp_Container::countCons(), deleteBrokenTOCs(), getHeight(), fp_VerticalContainer::getHeight(), fp_ContainerObject::getHeight(), fp_Container::getMarginAfter(), fp_Container::getNthCon(), fp_ContainerObject::getY(), fp_Container::setAssignedScreenHeight(), fp_VerticalContainer::setHeight(), fp_ContainerObject::setY(), and UT_DEBUGMSG.
void fp_TOCContainer::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. Note that the TOC only has one document position, so that mapXYToPosition is rather unhelpful for scrolling purposes.
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.
void fp_TOCContainer::setBrokenBot | ( | UT_sint32 | iBot | ) | [inline] |
void fp_TOCContainer::setBrokenTop | ( | UT_sint32 | iTop | ) | [inline] |
void fp_TOCContainer::setContainer | ( | fp_Container * | pContainer | ) | [virtual] |
Reimplemented from fp_Container.
References clearScreen(), fp_Container::getContainer(), getFirstBrokenTOC(), fp_ContainerObject::getWidth(), isThisBroken(), setContainer(), fp_VerticalContainer::setWidth(), and xxx_UT_DEBUGMSG.
Referenced by fl_TOCLayout::_insertTOCContainer(), fl_TOCLayout::collapse(), deleteBrokenAfter(), deleteBrokenTOCs(), setContainer(), VBreakAt(), and ~fp_TOCContainer().
void fp_TOCContainer::setFirstBrokenTOC | ( | fp_TOCContainer * | pBroke | ) |
References getMasterTOC(), isThisBroken(), m_pFirstBrokenTOC, and setFirstBrokenTOC().
Referenced by deleteBrokenTOCs(), setFirstBrokenTOC(), and VBreakAt().
void fp_TOCContainer::setLastBrokenTOC | ( | fp_TOCContainer * | pBroke | ) |
References getMasterTOC(), isThisBroken(), m_pLastBrokenTOC, and setLastBrokenTOC().
Referenced by adjustBrokenTOCs(), deleteBrokenAfter(), deleteBrokenTOCs(), setLastBrokenTOC(), and VBreakAt().
virtual void fp_TOCContainer::setLastWantedVBreak | ( | UT_sint32 | iBreakAt | ) | [inline, virtual] |
Reimplemented from fp_VerticalContainer.
void fp_TOCContainer::setSelected | ( | bool | bIsSelected | ) |
void fp_TOCContainer::setY | ( | UT_sint32 | i | ) | [virtual] |
Overload the setY method
Reimplemented from fp_VerticalContainer.
References adjustBrokenTOCs(), clearScreen(), getFirstBrokenTOC(), getMasterTOC(), fp_ContainerObject::getSectionLayout(), fp_VerticalContainer::getY(), isThisBroken(), fl_SectionLayout::setNeedsReformat(), VBreakAt(), and xxx_UT_DEBUGMSG.
Referenced by fp_TOCContainer(), and VBreakAt().
void fp_TOCContainer::setYBottom | ( | UT_sint32 | iBotContainer | ) |
References m_iYBottom.
Referenced by adjustBrokenTOCs(), deleteBrokenAfter(), and VBreakAt().
void fp_TOCContainer::setYBreakHere | ( | UT_sint32 | iBreakHere | ) |
References m_iYBreakHere, and xxx_UT_DEBUGMSG.
Referenced by adjustBrokenTOCs(), and VBreakAt().
fp_ContainerObject * fp_TOCContainer::VBreakAt | ( | UT_sint32 | vpos | ) | [virtual] |
This method creates a new broken toccontainer, broken at the offset given. If the new TOCcontainer is broken from a pre-existing broken TOC it is inserted into the holding vertical container after the old broken TOC. It also inserted into the linked list of containers in the vertical container. vpos is relative to the either the start of the TOC 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(), fp_Container::countCons(), fp_Container::findCon(), fp_TOCContainer(), fp_Container::getContainer(), getFirstBrokenTOC(), getHeight(), fp_VerticalContainer::getHeight(), getLastBrokenTOC(), getMasterTOC(), fp_ContainerObject::getSectionLayout(), getTotalTOCHeight(), fp_VerticalContainer::getY(), getYBreak(), fp_Container::insertConAt(), isThisBroken(), setContainer(), setFirstBrokenTOC(), fp_VerticalContainer::setHeight(), setLastBrokenTOC(), fp_Container::setNext(), fp_Container::setPrev(), setY(), setYBottom(), setYBreakHere(), UT_ASSERT, UT_DEBUGMSG, UT_SHOULD_NOT_HAPPEN, VBreakAt(), and xxx_UT_DEBUGMSG.
Referenced by setY(), and VBreakAt().
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. The function returns -1 if the table does not need to be broken.
Reimplemented from fp_VerticalContainer.
References fp_Container::countCons(), FP_TABLE_MIN_BROKEN_HEIGHT, fp_Line::getHeight(), fp_Line::getMarginAfter(), getMasterTOC(), fp_Container::getNthCon(), getTotalTOCHeight(), fp_Line::getY(), isThisBroken(), and wantVBreakAt().
Referenced by wantVBreakAt().
bool fp_TOCContainer::m_bIsBroken [private] |
UT_sint32 fp_TOCContainer::m_iBrokenBottom [private] |
UT_sint32 fp_TOCContainer::m_iBrokenTop [private] |
UT_sint32 fp_TOCContainer::m_iYBottom [private] |
Referenced by setYBottom().
UT_sint32 fp_TOCContainer::m_iYBreakHere [private] |
Referenced by setYBreakHere().
Referenced by getFirstBrokenTOC(), and setFirstBrokenTOC().
fp_TOCContainer* fp_TOCContainer::m_pLastBrokenTOC [private] |
Referenced by getLastBrokenTOC(), and setLastBrokenTOC().
fp_TOCContainer* fp_TOCContainer::m_pMasterTOC [private] |
Referenced by ~fp_TOCContainer().