本文整理汇总了C++中CDocument::SetIndexNode方法的典型用法代码示例。如果您正苦于以下问题:C++ CDocument::SetIndexNode方法的具体用法?C++ CDocument::SetIndexNode怎么用?C++ CDocument::SetIndexNode使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CDocument
的用法示例。
在下文中一共展示了CDocument::SetIndexNode方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: MergeTopicIndex
void CHelpSystemCore::MergeTopicIndex(
CChm &chmRef, chmIndexIter chmBegin, chmIndexIter chmEnd,
CIndexTree *parent, CIndexTree::CHILDREN &indexNodes
)
{
for (; chmBegin != chmEnd; ++chmBegin)
{
const std::string *nodeName = &(*chmBegin)->name;
CIndexTree::CHILDREN::iterator node = indexNodes.find(nodeName);
if (node == indexNodes.end())
{
node = indexNodes.insert(std::make_pair(nodeName, CIndexTree(parent, nodeName))).first;
}
for (std::list<chm::chm_index_topic>::const_iterator i = (*chmBegin)->topics.begin(); i != (*chmBegin)->topics.end(); ++i)
{
CDocument * doc = chmRef.GetDocument(&i->path);
doc->SetIndexNode(&node->second);
node->second.GetTopics().push_back(CIndexTopic(&i->title, doc));
}
if (!(*chmBegin)->children.empty())
{
MergeTopicIndex(
chmRef, (*chmBegin)->children.begin(), (*chmBegin)->children.end(),
&node->second, node->second.GetChildren()
);
}
}
}