#include <fp_FrameContainer.h>
fp_FrameContainer::fp_FrameContainer | ( | fl_SectionLayout * | pSectionLayout | ) |
Create Frame container
iType | Container type | |
pSectionLayout | Section layout type used for this container |
fp_FrameContainer::~fp_FrameContainer | ( | ) | [virtual] |
Destruct container
References m_pPage, and UT_DEBUGMSG.
void fp_FrameContainer::_drawLine | ( | const PP_PropertyMap::Line & | style, | |
UT_sint32 | left, | |||
UT_sint32 | top, | |||
UT_sint32 | right, | |||
UT_sint32 | bot, | |||
GR_Graphics * | pGr | |||
) | [private] |
References GR_Painter::drawLine(), GR_Graphics::LINE_DOTTED, GR_Graphics::LINE_ON_OFF_DASH, GR_Graphics::LINE_SOLID, PP_PropertyMap::linestyle_dashed, PP_PropertyMap::linestyle_dotted, PP_PropertyMap::linestyle_none, PP_PropertyMap::linestyle_solid, PP_PropertyMap::Line::m_color, PP_PropertyMap::Line::m_t_linestyle, PP_PropertyMap::Line::m_thickness, GR_Graphics::setColor(), GR_Graphics::setLineProperties(), GR_Graphics::setLineWidth(), GR_Graphics::tlu(), and xxx_UT_DEBUGMSG.
Referenced by drawBoundaries().
void fp_FrameContainer::clearScreen | ( | void | ) | [virtual] |
Reimplemented from fp_VerticalContainer.
References fp_ContainerObject::clearScreen(), fp_Container::countCons(), fg_FillType::Fill(), fp_Container::getFillType(), getFullHeight(), getFullWidth(), getFullX(), getFullY(), fp_ContainerObject::getGraphics(), fp_Container::getNthCon(), getPage(), FV_View::getPageScreenOffsets(), fg_FillType::getParent(), fp_VerticalContainer::getView(), m_bNeverDrawn, m_lineBottom, m_lineLeft, m_lineRight, m_lineTop, PP_PropertyMap::Line::m_thickness, and xxx_UT_DEBUGMSG.
Referenced by fp_Page::clearScreenFrames(), fl_FrameLayout::localCollapse(), fp_Page::removeFrameContainer(), setHeight(), and setPage().
virtual void fp_FrameContainer::draw | ( | GR_Graphics * | ) | [inline, virtual] |
Reimplemented from fp_VerticalContainer.
void fp_FrameContainer::draw | ( | dg_DrawArgs * | pDA | ) | [virtual] |
Draw container content
pDA | Draw arguments |
Reimplemented from fp_VerticalContainer.
References dg_DrawArgs::bDirtyRunsOnly, fl_SectionLayout::checkGraphicTick(), fp_Container::countCons(), GR_Graphics::DGP_PAPER, GR_Graphics::DGP_SCREEN, fp_ContainerObject::draw(), drawBoundaries(), fp_Page::expandDamageRect(), fg_FillType::Fill(), fl_ContainerLayout::format(), fl_DocSectionLayout::getActualColumnHeight(), GR_Graphics::getClipRect(), getDocSectionLayout(), fp_Container::getFillType(), FV_FrameEdit::getFrameContainer(), FV_View::getFrameEdit(), FV_FrameEdit::getFrameEditMode(), getFullHeight(), getFullWidth(), getFullY(), fp_Page::getHeight(), fp_Container::getNthCon(), getPage(), fp_VerticalContainer::getScreenRect(), fp_ContainerObject::getSectionLayout(), fp_VerticalContainer::getView(), FV_View::getViewMode(), fp_ContainerObject::getX(), fp_ContainerObject::getY(), UT_Rect::height, UT_Rect::intersectsRect(), UT_Rect::left, m_bNeverDrawn, m_bOverWrote, m_iXpad, m_iYpad, dg_DrawArgs::pG, GR_Graphics::queryProperties(), GR_Graphics::setClipRect(), fl_SectionLayout::setNeedsReformat(), UT_Rect::top, UT_DEBUGMSG, UT_MAX, UT_MIN, UT_return_if_fail, UT_Rect::width, dg_DrawArgs::xoff, xxx_UT_DEBUGMSG, and dg_DrawArgs::yoff.
Referenced by fp_Page::draw(), FV_FrameEdit::drawFrame(), and fp_Page::redrawDamagedFrames().
void fp_FrameContainer::drawBoundaries | ( | dg_DrawArgs * | pDA | ) |
Draw the frame boundaries
References _drawLine(), GR_Graphics::DGP_PAPER, fp_Page::expandDamageRect(), fl_DocSectionLayout::getActualColumnHeight(), getDocSectionLayout(), getFullHeight(), getFullWidth(), getFullY(), fp_Page::getHeight(), getPage(), fp_VerticalContainer::getView(), FV_View::getViewMode(), m_iXpad, m_iYpad, m_lineBottom, m_lineLeft, m_lineRight, m_lineTop, dg_DrawArgs::pG, GR_Graphics::queryProperties(), dg_DrawArgs::xoff, and dg_DrawArgs::yoff.
Referenced by draw().
void fp_FrameContainer::drawHandles | ( | dg_DrawArgs * | pDA | ) |
Draw the frame handles
References GR_Graphics::DGP_PAPER, FV_View::drawSelectionBox(), fp_Page::expandDamageRect(), fl_ContainerLayout::format(), fl_DocSectionLayout::getActualColumnHeight(), getDocSectionLayout(), getFullHeight(), getFullWidth(), getFullY(), fp_Page::getHeight(), getPage(), fp_ContainerObject::getSectionLayout(), fp_VerticalContainer::getView(), FV_View::getViewMode(), m_iXpad, m_iYpad, dg_DrawArgs::pG, GR_Graphics::queryProperties(), fl_SectionLayout::setNeedsReformat(), GR_Graphics::tlu(), dg_DrawArgs::xoff, and dg_DrawArgs::yoff.
Referenced by FV_FrameEdit::drawFrame().
PP_PropertyMap::Background fp_FrameContainer::getBackground | ( | ) | const |
void fp_FrameContainer::getBlocksAroundFrame | ( | UT_GenericVector< fl_BlockLayout * > & | vecBlocks | ) |
Fill the supplied vector with a list of the blocks whose lines are affected by the Frame.
References UT_GenericVector< T >::addItem(), fp_Page::countColumnLeaders(), fp_Container::countCons(), fp_Line::getBlock(), fp_ContainerObject::getContainerType(), fp_VerticalContainer::getFirstContainer(), fp_Column::getFollower(), getFullHeight(), getFullY(), fp_Line::getHeight(), UT_GenericVector< T >::getItemCount(), fl_ContainerLayout::getNextBlockInDocument(), fp_Page::getNthColumnLeader(), fp_Container::getNthCon(), getPage(), getPreferedPageNo(), fp_ContainerObject::getSectionLayout(), fp_Line::getY(), fp_VerticalContainer::getY(), setPreferedPageNo(), and xxx_UT_DEBUGMSG.
Referenced by FV_View::convertPositionedToInLine(), and fl_FrameLayout::doclistener_deleteStrux().
fl_DocSectionLayout * fp_FrameContainer::getDocSectionLayout | ( | void | ) |
Reimplemented from fp_ContainerObject.
References fl_ContainerLayout::getContainerType(), fl_FrameLayout::getSectionLayout(), fp_ContainerObject::getSectionLayout(), and UT_ASSERT.
Referenced by draw(), drawBoundaries(), drawHandles(), fp_Container::getPageRelativeOffsets(), and setHeight().
UT_sint32 fp_FrameContainer::getFullHeight | ( | void | ) | const |
References getHeight().
Referenced by fl_FrameLayout::_createFrameContainer(), FV_View::_getMouseContext(), clearScreen(), draw(), drawBoundaries(), drawHandles(), getBlocksAroundFrame(), FV_View::getLeftRulerInfo(), fp_Page::mapXYToPosition(), fl_FrameLayout::miniFormat(), fl_FrameLayout::setContainerProperties(), FV_FrameEdit::setDragType(), and setHeight().
UT_sint32 fp_FrameContainer::getFullWidth | ( | void | ) | const |
All these methods are used to implement an X and Y padding around the Frame
References getWidth().
Referenced by fl_FrameLayout::_createFrameContainer(), FV_View::_getMouseContext(), clearScreen(), draw(), drawBoundaries(), drawHandles(), getLeftPad(), getRightPad(), FV_View::getTopRulerInfo(), fp_Page::mapXYToPosition(), fl_FrameLayout::miniFormat(), fl_FrameLayout::setContainerProperties(), and FV_FrameEdit::setDragType().
UT_sint32 fp_FrameContainer::getFullX | ( | void | ) | const |
UT_sint32 fp_FrameContainer::getFullY | ( | void | ) | const |
References getY().
Referenced by FV_View::_getMouseContext(), FV_FrameEdit::_mouseDrag(), clearScreen(), FV_View::convertPositionedToInLine(), draw(), drawBoundaries(), drawHandles(), getBlocksAroundFrame(), FV_View::getLeftRulerInfo(), fp_Page::mapXYToPosition(), FV_FrameEdit::mouseLeftPress(), and FV_FrameEdit::setDragType().
UT_sint32 fp_FrameContainer::getHeight | ( | void | ) | const [virtual] |
Reimplemented from fp_VerticalContainer.
References m_iYpad.
Referenced by fp_Page::draw(), getFullHeight(), layout(), fp_Page::mapXYToPosition(), fp_Page::redrawDamagedFrames(), and setHeight().
This method returns the padding to be applied between a line approaching wrapped frame or image from the left. y Is the top of the line in logical units as defined relative to the y position on the screen. height is the height of the line. If tight wrapping is set on a positioned object this number can be negative which means the line can encroach into the rectangular region of the image provided the region is transparent.
References FL_FRAME_TEXTBOX_TYPE, fl_SectionLayout::getBackgroundImage(), fl_FrameLayout::getBoundingSpace(), fl_FrameLayout::getFrameType(), getFullWidth(), fp_ContainerObject::getGraphics(), GR_Image::GetOffsetFromLeft(), fp_VerticalContainer::getScreenRect(), fp_ContainerObject::getSectionLayout(), isTightWrapped(), isWrappingSet(), UT_Rect::top, and xxx_UT_DEBUGMSG.
Referenced by fl_BlockLayout::getLeftRightForWrapping().
fp_Container * fp_FrameContainer::getNextContainerInSection | ( | void | ) | const [virtual] |
FrameContainers are not in the linked list of physical containers
Reimplemented from fp_VerticalContainer.
virtual fp_Page* fp_FrameContainer::getPage | ( | void | ) | const [inline, virtual] |
Reimplemented from fp_Container.
Referenced by clearScreen(), fl_FrameLayout::collapse(), FV_View::convertPositionedToInLine(), fl_BlockLayout::doclistener_insertBlock(), draw(), drawBoundaries(), FV_FrameEdit::drawFrame(), drawHandles(), fl_FrameLayout::format(), getBlocksAroundFrame(), FV_View::getTopRulerInfo(), and setHeight().
UT_sint32 fp_FrameContainer::getPreferedColumnNo | ( | void | ) | [inline] |
Referenced by fl_BlockLayout::setFramesOnPage().
UT_sint32 fp_FrameContainer::getPreferedPageNo | ( | void | ) | [inline] |
fp_Container * fp_FrameContainer::getPrevContainerInSection | ( | void | ) | const [virtual] |
FrameContainers are not in the linked list of physical containers
Reimplemented from fp_VerticalContainer.
This method returns the padding to be applied between a line approaching wrapped frame or image from the right. y Is the top of the line in logical units as defined relative to the y position on the screen. height is the height of the line. If tight wrapping is set on a positioned object this number can be negative which means the line can encroach into the rectangular region of the image provided the region is transparent.
References FL_FRAME_TEXTBOX_TYPE, fl_SectionLayout::getBackgroundImage(), fl_FrameLayout::getBoundingSpace(), fl_FrameLayout::getFrameType(), getFullWidth(), fp_ContainerObject::getGraphics(), GR_Image::GetOffsetFromRight(), fp_VerticalContainer::getScreenRect(), fp_ContainerObject::getSectionLayout(), isTightWrapped(), isWrappingSet(), UT_Rect::top, and xxx_UT_DEBUGMSG.
Referenced by fl_BlockLayout::getLeftRightForWrapping().
UT_sint32 fp_FrameContainer::getWidth | ( | void | ) | const [virtual] |
Reimplemented from fp_VerticalContainer.
References m_iXpad.
Referenced by fp_Page::draw(), getFullWidth(), overlapsRect(), and fp_Page::redrawDamagedFrames().
UT_sint32 fp_FrameContainer::getX | ( | void | ) | const [virtual] |
Reimplemented from fp_VerticalContainer.
References m_iXpad.
Referenced by fp_CellContainer::_getBrokenRect(), AP_Dialog_FormatFrame::applyChanges(), Defun1(), fl_BlockLayout::doclistener_insertBlock(), fp_Page::draw(), FV_FrameEdit::drawFrame(), getFullX(), fp_CellContainer::getScreenPositions(), FV_View::getTopRulerInfo(), fp_Page::mapXYToPosition(), and fp_Page::redrawDamagedFrames().
UT_sint32 fp_FrameContainer::getXPad | ( | void | ) | const [inline] |
Referenced by AP_Dialog_FormatFrame::applyChanges(), Defun1(), and fg_FillType::Fill().
UT_sint32 fp_FrameContainer::getY | ( | void | ) | const [virtual] |
Reimplemented from fp_VerticalContainer.
References m_iYpad.
Referenced by fp_CellContainer::_getBrokenRect(), AP_LeftRuler::_getCellMarkerRects(), AP_Dialog_FormatFrame::applyChanges(), Defun1(), fl_BlockLayout::doclistener_insertBlock(), fp_Page::draw(), FV_FrameEdit::drawFrame(), getFullY(), fp_CellContainer::getScreenPositions(), fp_Page::mapXYToPosition(), and fp_Page::redrawDamagedFrames().
UT_sint32 fp_FrameContainer::getYPad | ( | void | ) | const [inline] |
Referenced by AP_Dialog_FormatFrame::applyChanges(), Defun1(), and fg_FillType::Fill().
bool fp_FrameContainer::isAbove | ( | void | ) |
References m_bIsAbove.
Referenced by fp_Page::findFrameContainer(), fp_Page::insertFrameContainer(), and fp_Page::removeFrameContainer().
bool fp_FrameContainer::isLeftWrapped | ( | void | ) | const [inline] |
Referenced by fl_BlockLayout::getLeftRightForWrapping().
bool fp_FrameContainer::isRightWrapped | ( | void | ) | const [inline] |
Referenced by fl_BlockLayout::getLeftRightForWrapping().
bool fp_FrameContainer::isTightWrapped | ( | void | ) | const [inline] |
bool fp_FrameContainer::isTopBot | ( | void | ) | const [inline] |
virtual bool fp_FrameContainer::isVBreakable | ( | void | ) | [inline, virtual] |
Reimplemented from fp_VerticalContainer.
bool fp_FrameContainer::isWrappingSet | ( | void | ) | const [inline] |
void fp_FrameContainer::layout | ( | void | ) |
References fp_VerticalContainer::_getMaxContainerHeight(), fp_VerticalContainer::_setMaxContainerHeight(), fp_ContainerObject::clearScreen(), fp_Container::countCons(), fl_FrameLayout::expandHeight(), fp_ContainerObject::getContainerType(), fp_TableContainer::getFirstBrokenTable(), fp_TableContainer::getHeight(), getHeight(), fp_ContainerObject::getHeight(), fp_Container::getMarginAfter(), fp_Container::getNthCon(), fp_ContainerObject::getSectionLayout(), fp_ContainerObject::getY(), fp_TableContainer::isThisBroken(), m_iYpad, fl_FrameLayout::minHeight(), fp_Container::setAssignedScreenHeight(), setHeight(), fp_ContainerObject::setY(), and fp_TableContainer::VBreakAt().
Referenced by fl_FrameLayout::miniFormat().
bool fp_FrameContainer::overlapsRect | ( | const UT_Rect & | rec | ) |
Returns true if the supplied screen rectangle overlaps with frame container. This method takes account of transparening and tight wrapping.
References fl_SectionLayout::getBackgroundImage(), fl_FrameLayout::getBoundingSpace(), fp_ContainerObject::getGraphics(), GR_Image::GetOffsetFromLeft(), GR_Image::GetOffsetFromRight(), fp_VerticalContainer::getScreenRect(), fp_ContainerObject::getSectionLayout(), getWidth(), UT_Rect::height, UT_Rect::intersectsRect(), isTightWrapped(), UT_Rect::left, GR_Graphics::tlu(), UT_Rect::top, UT_Rect::width, and xxx_UT_DEBUGMSG.
Referenced by fl_BlockLayout::getLeftRightForWrapping(), and fp_Page::overlapsWrappedFrame().
void fp_FrameContainer::setAbove | ( | bool | bAbove | ) | [inline] |
Referenced by fl_FrameLayout::setContainerProperties().
void fp_FrameContainer::setBackground | ( | const PP_PropertyMap::Background & | style | ) |
void fp_FrameContainer::setBottomStyle | ( | const PP_PropertyMap::Line & | style | ) | [inline] |
Referenced by fl_FrameLayout::setContainerProperties().
void fp_FrameContainer::setContainer | ( | fp_Container * | pContainer | ) | [virtual] |
Reimplemented from fp_Container.
References UT_ASSERT, and UT_SHOULD_NOT_HAPPEN.
void fp_FrameContainer::setHeight | ( | UT_sint32 | iHeight | ) | [virtual] |
Reimplemented from fp_VerticalContainer.
References clearScreen(), getDocSectionLayout(), getFullHeight(), getHeight(), getPage(), fl_DocSectionLayout::setNeedsSectionBreak(), and xxx_UT_DEBUGMSG.
Referenced by fl_FrameLayout::_createFrameContainer(), and layout().
void fp_FrameContainer::setLeftStyle | ( | const PP_PropertyMap::Line & | style | ) | [inline] |
Referenced by fl_FrameLayout::setContainerProperties().
void fp_FrameContainer::setLeftWrapped | ( | bool | b | ) | [inline] |
Referenced by fl_FrameLayout::setContainerProperties().
void fp_FrameContainer::setOverWrote | ( | void | ) | [inline] |
Referenced by fp_Page::draw(), and fp_Page::redrawDamagedFrames().
void fp_FrameContainer::setPage | ( | fp_Page * | pPage | ) |
References UT_GenericVector< T >::clear(), clearScreen(), fl_ContainerLayout::collapse(), fl_ContainerLayout::format(), fp_Page::getAllLayouts(), fp_Page::getFillType(), fp_Container::getFillType(), UT_GenericVector< T >::getItemCount(), UT_GenericVector< T >::getNthItem(), fp_Page::getOwningSection(), fp_ContainerObject::getSectionLayout(), m_pPage, fl_SectionLayout::markAllRunsDirty(), fp_Page::removeFrameContainer(), fl_DocSectionLayout::setNeedsSectionBreak(), and fg_FillType::setParent().
Referenced by fl_FrameLayout::collapse(), and fp_Page::insertFrameContainer().
void fp_FrameContainer::setPreferedColumnNo | ( | UT_sint32 | i | ) |
References PD_Document::changeStruxAttsNoUpdate(), fl_SectionLayout::getDocLayout(), FL_DocLayout::getDocument(), fp_ContainerObject::getSectionLayout(), fl_Layout::getStruxDocHandle(), FL_DocLayout::isLayoutFilling(), m_iPreferedColumnNo, UT_UTF8String_sprintf(), and UT_UTF8String::utf8_str().
Referenced by fl_FrameLayout::setContainerProperties(), and fl_BlockLayout::setFramesOnPage().
void fp_FrameContainer::setPreferedPageNo | ( | UT_sint32 | i | ) |
References PD_Document::changeStruxAttsNoUpdate(), fl_SectionLayout::getDocLayout(), FL_DocLayout::getDocument(), fp_ContainerObject::getSectionLayout(), fl_Layout::getStruxDocHandle(), FL_DocLayout::isLayoutFilling(), m_iPreferedPageNo, UT_UTF8String_sprintf(), and UT_UTF8String::utf8_str().
Referenced by getBlocksAroundFrame(), fl_FrameLayout::setContainerProperties(), fl_BlockLayout::setFramesOnPage(), and fp_Page::setPageNumberInFrames().
void fp_FrameContainer::setRightStyle | ( | const PP_PropertyMap::Line & | style | ) | [inline] |
Referenced by fl_FrameLayout::setContainerProperties().
void fp_FrameContainer::setRightWrapped | ( | bool | b | ) | [inline] |
Referenced by fl_FrameLayout::setContainerProperties().
void fp_FrameContainer::setTightWrapping | ( | bool | bTight | ) | [inline] |
Referenced by fl_FrameLayout::setContainerProperties().
void fp_FrameContainer::setTopBot | ( | bool | b | ) | [inline] |
Referenced by fl_FrameLayout::setContainerProperties().
void fp_FrameContainer::setTopStyle | ( | const PP_PropertyMap::Line & | style | ) | [inline] |
Referenced by fl_FrameLayout::setContainerProperties().
void fp_FrameContainer::setWrapping | ( | bool | bWrapping | ) | [inline] |
Referenced by fl_FrameLayout::setContainerProperties().
void fp_FrameContainer::setXpad | ( | UT_sint32 | xPad | ) | [inline] |
Referenced by fl_FrameLayout::setContainerProperties().
void fp_FrameContainer::setYpad | ( | UT_sint32 | yPad | ) | [inline] |
Referenced by fl_FrameLayout::setContainerProperties().
Referenced by setBackground().
bool fp_FrameContainer::m_bIsAbove [private] |
Referenced by isAbove().
bool fp_FrameContainer::m_bIsLeftWrapped [private] |
bool fp_FrameContainer::m_bIsRightWrapped [private] |
bool fp_FrameContainer::m_bIsTightWrapped [private] |
bool fp_FrameContainer::m_bIsTopBot [private] |
bool fp_FrameContainer::m_bIsWrapped [private] |
bool fp_FrameContainer::m_bNeverDrawn [private] |
Referenced by clearScreen(), and draw().
bool fp_FrameContainer::m_bOverWrote [private] |
Referenced by draw().
Referenced by setPreferedColumnNo().
Referenced by setPreferedPageNo().
UT_sint32 fp_FrameContainer::m_iXpad [private] |
Referenced by draw(), drawBoundaries(), drawHandles(), getWidth(), and getX().
UT_sint32 fp_FrameContainer::m_iYpad [private] |
Referenced by draw(), drawBoundaries(), drawHandles(), getHeight(), getY(), and layout().
Referenced by clearScreen(), and drawBoundaries().
Referenced by clearScreen(), and drawBoundaries().
Referenced by clearScreen(), and drawBoundaries().
Referenced by clearScreen(), and drawBoundaries().
fp_Page* fp_FrameContainer::m_pPage [private] |
Referenced by setPage(), and ~fp_FrameContainer().