Deleting text from text frame only removes visible content, not overflow text
Hello All,
I am trying to delete text from a text frame using a custom function. However, the function only deletes the visible text inside the frame. There is still additional text present as overflow (indicated by the “+” icon at the bottom right of the text frame).
It seems like my code is only targeting the visible portion and not the entire content of the text frame.
Question:
How can I delete all the text from the text frame, including the overflow text?
What I’ve tried:
I have written a function to clear the text, but it only affects the visible content.
ErrorCode DeleteText(const UIDRef &textFrameUIDRef)
{
ErrorCode status = kFailure;
do{
IDataBase* iDataBase = textFrameUIDRef.GetDataBase();
if(!iDataBase)
break;
InterfacePtr<IGraphicFrameData> frame(textFrameUIDRef, UseDefaultIID());
if(!frame)
break;
if(frame->GetTextContentUID() == kInvalidUID)
break;
InterfacePtr<IMultiColumnTextFrame> mcFrame(iDataBase, frame->GetTextContentUID(), UseDefaultIID());
if(!mcFrame)
break;
InterfacePtr<ITextModel> iTextModel(iDataBase, mcFrame->GetTextModelUID(), UseDefaultIID());
if(!iTextModel)
break;
TextIndex start = mcFrame->TextStart();
int32 length = mcFrame->TextSpan() - 1;;
if(length > 0)
iTextModel->Delete(start,length);
// UID id = (GetNextThreadedTextFrameUID(textFrameUIDRef)).Get();
}while(false);
return status;
}
Thank You
Chetan
