本文整理汇总了C++中LLPanel::getHelpTopic方法的典型用法代码示例。如果您正苦于以下问题:C++ LLPanel::getHelpTopic方法的具体用法?C++ LLPanel::getHelpTopic怎么用?C++ LLPanel::getHelpTopic使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类LLPanel
的用法示例。
在下文中一共展示了LLPanel::getHelpTopic方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: findHelpTopic
bool LLUICtrl::findHelpTopic(std::string& help_topic_out)
{
LLUICtrl* ctrl = this;
// search back through the control's parents for a panel
// or tab with a help_topic string defined
while (ctrl)
{
LLPanel *panel = dynamic_cast<LLPanel *>(ctrl);
if (panel)
{
// does the panel have a sub-panel with a help topic?
LLPanel *subpanel = panel->childGetVisiblePanelWithHelp();
if (subpanel)
{
help_topic_out = subpanel->getHelpTopic();
return true; // success (subpanel)
}
// does the panel have an active tab with a help topic?
LLPanel *tab = panel->childGetVisibleTabWithHelp();
if (tab)
{
help_topic_out = tab->getHelpTopic();
return true; // success (tab)
}
// otherwise, does the panel have a help topic itself?
if (!panel->getHelpTopic().empty())
{
help_topic_out = panel->getHelpTopic();
return true; // success (panel)
}
}
ctrl = ctrl->getParentUICtrl();
}
return false; // no help topic found
}
示例2:
static LLPanel *childGetVisibleTabWithHelp(LLView *parent)
{
LLView *child;
// look through immediate children first for an active tab with help
for (child = parent->getFirstChild(); child; child = parent->findNextSibling(child))
{
LLPanel *curTabPanel = NULL;
// do we have a tab container?
LLTabContainer *tab = dynamic_cast<LLTabContainer *>(child);
if (tab && tab->getVisible())
{
curTabPanel = tab->getCurrentPanel();
}
// do we have an accordion tab?
LLAccordionCtrlTab* accordion = dynamic_cast<LLAccordionCtrlTab *>(child);
if (accordion && accordion->getDisplayChildren())
{
curTabPanel = dynamic_cast<LLPanel *>(accordion->getAccordionView());
}
// if we found a valid tab, does it have a help topic?
if (curTabPanel && !curTabPanel->getHelpTopic().empty())
{
return curTabPanel;
}
}
// then try a bit harder and recurse through all children
for (child = parent->getFirstChild(); child; child = parent->findNextSibling(child))
{
if (child->getVisible())
{
LLPanel* tab = ::childGetVisibleTabWithHelp(child);
if (tab)
{
return tab;
}
}
}
// couldn't find any active tabs with a help topic string
return NULL;
}
示例3: beginTreeBFS
LLPanel *LLPanel::childGetVisiblePanelWithHelp()
{
LLView *child;
bfs_tree_iterator_t it = beginTreeBFS();
// skip ourselves
++it;
for (; it != endTreeBFS(); ++it)
{
child = *it;
// do we have a panel with a help topic?
LLPanel *panel = dynamic_cast<LLPanel *>(child);
if (panel && panel->getVisible() && !panel->getHelpTopic().empty())
{
return panel;
}
}
// couldn't find any active panels with a help topic string
return NULL;
}
示例4: childGetVisibleTabWithHelp
LLPanel* LLPanel::childGetVisibleTabWithHelp()
{
LLView *child;
bfs_tree_iterator_t it = beginTreeBFS();
// skip ourselves
++it;
for (; it != endTreeBFS(); ++it)
{
child = *it;
LLPanel *curTabPanel = NULL;
// do we have a tab container?
LLTabContainer *tab = dynamic_cast<LLTabContainer *>(child);
if (tab && tab->getVisible())
{
curTabPanel = tab->getCurrentPanel();
}
// do we have an accordion tab?
LLAccordionCtrlTab* accordion = dynamic_cast<LLAccordionCtrlTab *>(child);
if (accordion && accordion->getDisplayChildren())
{
curTabPanel = dynamic_cast<LLPanel *>(accordion->getAccordionView());
}
// if we found a valid tab, does it have a help topic?
if (curTabPanel && !curTabPanel->getHelpTopic().empty())
{
return curTabPanel;
}
}
// couldn't find any active tabs with a help topic string
return NULL;
}