void fl_EndnoteLayout::collapse(void) { UT_DEBUGMSG(("Collapsing Endnote %p \n",this)); _localCollapse(); fp_EndnoteContainer *pFC = static_cast<fp_EndnoteContainer *>(getFirstContainer()); while(pFC) { fp_EndnoteContainer *pNext = static_cast<fp_EndnoteContainer *>(pFC->getLocalNext()); m_pLayout->removeEndnoteContainer(pFC); fp_EndnoteContainer * pPrev = static_cast<fp_EndnoteContainer *>(pFC->getPrev()); if(pPrev) { pPrev->setNext(pFC->getNext()); } if(pFC->getNext()) { pFC->getNext()->setPrev(pPrev); } delete pFC; pFC = pNext; } setFirstContainer(NULL); setLastContainer(NULL); m_bIsOnPage = false; }
/*! * This method creates a new footnote with its properties initially set * from the Attributes/properties of this Layout */ void fl_FrameLayout::_createFrameContainer(void) { lookupProperties(); fp_FrameContainer * pFrameContainer = new fp_FrameContainer(static_cast<fl_SectionLayout *>(this)); setFirstContainer(pFrameContainer); setLastContainer(pFrameContainer); pFrameContainer->setWidth(m_iWidth); pFrameContainer->setHeight(m_iHeight); // Now do Frame image const PP_AttrProp* pSectionAP = NULL; // This is a real NO-NO: must *always* call getAP() // m_pLayout->getDocument()->getAttrProp(m_apIndex, &pSectionAP); getAP(pSectionAP); const gchar * pszDataID = NULL; pSectionAP->getAttribute(PT_STRUX_IMAGE_DATAID, (const gchar *&)pszDataID); DELETEP(m_pGraphicImage); DELETEP(m_pImageImage); // // Set the image size from the full width // setImageWidth(pFrameContainer->getFullWidth()); setImageHeight(pFrameContainer->getFullHeight()); if(pszDataID && *pszDataID) { UT_DEBUGMSG(("!!!Found image of file %s \n",pszDataID)); m_pGraphicImage = FG_Graphic::createFromStrux(this); } setContainerProperties(); }
fl_FrameLayout::~fl_FrameLayout() { // NB: be careful about the order of these UT_DEBUGMSG(("Deleting Framelayout %p \n",this)); _purgeLayout(); fp_FrameContainer * pFC = static_cast<fp_FrameContainer *>(getFirstContainer()); while(pFC) { fp_FrameContainer * pNext = static_cast<fp_FrameContainer *>(pFC->getNext()); if(pFC == static_cast<fp_FrameContainer *>(getLastContainer())) { pNext = NULL; } delete pFC; pFC = pNext; } setFirstContainer(NULL); setLastContainer(NULL); // // Remove pointers to this if they exist // if(getDocLayout() && getDocLayout()->getView()) { FV_FrameEdit * pFE = getDocLayout()->getView()->getFrameEdit(); if(pFE->getFrameLayout() == this) { pFE->setMode(FV_FrameEdit_NOT_ACTIVE); } } }
void fl_AnnotationLayout::collapse(void) { _localCollapse(); fp_AnnotationContainer *pAC = static_cast<fp_AnnotationContainer *>(getFirstContainer()); if (pAC) { // // Remove it from the page. // if(pAC->getPage()) { pAC->getPage()->removeAnnotationContainer(pAC); pAC->setPage(NULL); } // // remove it from the linked list. // fp_AnnotationContainer * pPrev = static_cast<fp_AnnotationContainer *>(pAC->getPrev()); if(pPrev) { pPrev->setNext(pAC->getNext()); } if(pAC->getNext()) { pAC->getNext()->setPrev(pPrev); } delete pAC; } setFirstContainer(NULL); setLastContainer(NULL); m_bIsOnPage = false; }
void fl_FootnoteLayout::collapse(void) { _localCollapse(); fp_FootnoteContainer *pFC = static_cast<fp_FootnoteContainer *>(getFirstContainer()); if (pFC) { // // Remove it from the page. // if(pFC->getPage()) { pFC->getPage()->removeFootnoteContainer(pFC); pFC->setPage(NULL); } // // remove it from the linked list. // fp_FootnoteContainer * pPrev = static_cast<fp_FootnoteContainer *>(pFC->getPrev()); if(pPrev) { pPrev->setNext(pFC->getNext()); } if(pFC->getNext()) { pFC->getNext()->setPrev(pPrev); } delete pFC; } setFirstContainer(NULL); setLastContainer(NULL); }
/*! * This method creates a new footnote with its properties initially set * from the Attributes/properties of this Layout */ void fl_EndnoteLayout::_createEndnoteContainer(void) { lookupProperties(); fp_EndnoteContainer * pEndnoteContainer = new fp_EndnoteContainer(static_cast<fl_SectionLayout *>(this)); setFirstContainer(pEndnoteContainer); setLastContainer(pEndnoteContainer); fl_DocSectionLayout * pDSL = m_pLayout->getDocSecForEndnote(pEndnoteContainer); UT_sint32 iWidth = m_pLayout->getLastPage()->getWidth(); iWidth = iWidth - pDSL->getLeftMargin() - pDSL->getRightMargin(); pEndnoteContainer->setWidth(iWidth); m_bNeedsReformat = true; m_bNeedsFormat = true; }
/*! * This method creates a new footnote with its properties initially set * from the Attributes/properties of this Layout */ void fl_AnnotationLayout::_createAnnotationContainer(void) { lookupProperties(); fp_AnnotationContainer * pAnnotationContainer = new fp_AnnotationContainer(static_cast<fl_SectionLayout *>(this)); setFirstContainer(pAnnotationContainer); setLastContainer(pAnnotationContainer); fl_ContainerLayout * pCL = myContainingLayout(); while(pCL!= NULL && pCL->getContainerType() != FL_CONTAINER_DOCSECTION) { pCL = pCL->myContainingLayout(); } fl_DocSectionLayout * pDSL = static_cast<fl_DocSectionLayout *>(pCL); UT_return_if_fail(pDSL != NULL); fp_Container * pCon = pCL->getLastContainer(); UT_return_if_fail(pCon); UT_sint32 iWidth = pCon->getPage()->getWidth(); iWidth = iWidth - pDSL->getLeftMargin() - pDSL->getRightMargin(); pAnnotationContainer->setWidth(iWidth); }
void fl_FrameLayout::collapse(void) { FV_View * pView = getDocLayout()->getView(); if(pView) { if(pView->getFrameEdit()->getFrameLayout() == this) { pView->getFrameEdit()->setMode(FV_FrameEdit_NOT_ACTIVE); } } localCollapse(); fp_FrameContainer *pFC = static_cast<fp_FrameContainer *>(getFirstContainer()); if (pFC) { // // Remove it from the page. // if(pFC->getPage()) { pFC->getPage()->removeFrameContainer(pFC); pFC->setPage(NULL); } // // remove it from the linked list. // fp_FrameContainer * pPrev = static_cast<fp_FrameContainer *>(pFC->getPrev()); if(pPrev) { pPrev->setNext(pFC->getNext()); } if(pFC->getNext()) { pFC->getNext()->setPrev(pPrev); } delete pFC; } setFirstContainer(NULL); setLastContainer(NULL); }
fl_EndnoteLayout::~fl_EndnoteLayout() { // NB: be careful about the order of these xxx_UT_DEBUGMSG(("Deleting Endlayout %x \n",this)); _purgeLayout(); fp_EndnoteContainer * pEC = static_cast<fp_EndnoteContainer *>(getFirstContainer()); while(pEC) { fp_EndnoteContainer * pNext = static_cast<fp_EndnoteContainer *>(pEC->getNext()); if(pEC == static_cast<fp_EndnoteContainer *>(getLastContainer())) { pNext = NULL; } m_pLayout->removeEndnoteContainer(pEC); delete pEC; pEC = pNext; } setFirstContainer(NULL); setLastContainer(NULL); m_pLayout->removeEndnote(this); }
fl_AnnotationLayout::~fl_AnnotationLayout() { // NB: be careful about the order of these UT_DEBUGMSG(("Deleting Annotationlayout %p \n",this)); _purgeLayout(); fp_AnnotationContainer * pAC = static_cast<fp_AnnotationContainer *>(getFirstContainer()); while(pAC) { fp_AnnotationContainer * pNext = static_cast<fp_AnnotationContainer *>(pAC->getNext()); if(pAC == static_cast<fp_AnnotationContainer *>(getLastContainer())) { pNext = NULL; } delete pAC; pAC = pNext; } setFirstContainer(NULL); setLastContainer(NULL); UT_return_if_fail( m_pLayout ); m_pLayout->removeAnnotation(this); }
fl_FootnoteLayout::~fl_FootnoteLayout() { // NB: be careful about the order of these xxx_UT_DEBUGMSG(("Deleting Footlayout %x \n",this)); _purgeLayout(); fp_FootnoteContainer * pFC = static_cast<fp_FootnoteContainer *>(getFirstContainer()); while(pFC) { fp_FootnoteContainer * pNext = static_cast<fp_FootnoteContainer *>(pFC->getNext()); if(pFC == static_cast<fp_FootnoteContainer *>(getLastContainer())) { pNext = NULL; } delete pFC; pFC = pNext; } setFirstContainer(NULL); setLastContainer(NULL); UT_return_if_fail( m_pLayout ); m_pLayout->removeFootnote(this); }