Answered
How can I find the paragraph style (styleUID) of each cell in a table?
Hi everyone,
I need some help finding the paragraph style (styleUID) of each cell in a table.
So far this is what I have.
InterfacePtr<ITableModel> tableModel(tableFrame->GetModelRef(), UseDefaultIID());
if (tableModel == nil) break;
int rows = tableModel->GetTotalRows().count;
int cols = tableModel->GetTotalCols().count;
UID currentStyle = kInvalidUID;
for (int r = 0; r < rows; r++)
{
for (int c = 0; c < cols; c++)
{
GridAddress address = GridAddress(r, c);
GridID gridid = tableModel->GetGridID(address);
InterfacePtr<ITableTextContainer> tableTextContainer(tableModel, UseDefaultIID());
if (tableTextContainer == nil)
break;
InterfacePtr<ITextModel> textModel(tableTextContainer->QueryTextModel());
if (textModel == nil)
break;
InterfacePtr<ITextStoryThreadDict> textStoryThreadDict(tableModel, UseDefaultIID());
if (textStoryThreadDict == nil)
break;
InterfacePtr<ITextStoryThread> textStoryThread(textStoryThreadDict->QueryThread(gridid));
if (textStoryThread == nil)
break;
InterfacePtr<ITextModel> iTextModel(textStoryThread->QueryTextModel());
if (iTextModel == nil)
break;
const UIDRef tableRef(::GetUIDRef(tableModel));
TextIndex threadStart, threadLength;
iTextModel->FindStoryThread(tableRef.GetUID(), gridid, &threadStart, &threadLength);
// how can I get the styleUID (Paragraph style) of this cell?
}
}