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); } } }
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); }