本文整理汇总了C++中TProfile::TreeItemProfile_DisplayProfileInfoWithinNavigationTree方法的典型用法代码示例。如果您正苦于以下问题:C++ TProfile::TreeItemProfile_DisplayProfileInfoWithinNavigationTree方法的具体用法?C++ TProfile::TreeItemProfile_DisplayProfileInfoWithinNavigationTree怎么用?C++ TProfile::TreeItemProfile_DisplayProfileInfoWithinNavigationTree使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TProfile
的用法示例。
在下文中一共展示了TProfile::TreeItemProfile_DisplayProfileInfoWithinNavigationTree方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: if
void
NavigationTree_DisplayProfilesToogle()
{
TProfile * pProfileSelected = g_oConfiguration.m_pProfileSelected;
if (pProfileSelected != NULL)
{
if (pProfileSelected->m_paTreeItemW_YZ == NULL)
{
pProfileSelected->TreeItemProfile_DisplayProfileInfoWithinNavigationTree();
pProfileSelected->TreeItemW_Expand();
pProfileSelected->TreeItemLayout_SetFocus();
return;
}
pProfileSelected->TreeItemW_ToggleVisibilityAndSetFocus();
}
else if (g_pTreeItemProfiles != NULL)
{
g_pTreeItemProfiles->TreeItemW_ToggleVisibilityAndSetFocus();
}
}
示例2: oIterator
// Core routine to populate the Navigation Tree.
//
// IMPLEMENTATION NOTES
// At the moment the routine is written for a single configuration. This code will have to be revised to support multiple configurations.
void
NavigationTree_PopulateTreeItemsAccordingToSelectedProfile(TProfile * pProfileSelected, BOOL fCreateNewProfile)
{
Endorse(pProfileSelected == NULL); // Display all profiles
Assert(g_pwNavigationTree != NULL);
g_oConfiguration.m_pProfileSelected = pProfileSelected;
// Flush the existing content of the Navigation Tree
g_pwNavigationTree->NavigationTree_TreeItemUnselect();
WTreeWidget * pwTreeView = g_pwNavigationTree->m_pwTreeView;
QTreeWidgetItemIterator oIterator(pwTreeView);
while (TRUE)
{
CTreeItemW * pTreeWidgetItem = (CTreeItemW *)*oIterator++;
if (pTreeWidgetItem == NULL)
break;
ITreeItem * piTreeItem = pTreeWidgetItem->m_piTreeItem;
Assert(piTreeItem != NULL);
Assert(PGetRuntimeInterfaceOf_ITreeItem(piTreeItem) == piTreeItem); // Make sure the pointer is valid
Assert(piTreeItem->m_paTreeItemW_YZ != NULL);
// Remember the state of each Tree Item before switching profile, so next time the profile is re-selected, then the entire arborescence is restored.
if (piTreeItem->m_paTreeItemW_YZ->isExpanded())
piTreeItem->m_uFlagsTreeItem |= ITreeItem::FTI_kfTreeItem_IsExpanded;
else
piTreeItem->m_uFlagsTreeItem &= ~ITreeItem::FTI_kfTreeItem_IsExpanded;
//MessageLog_AppendTextFormatSev(eSeverityWarningToErrorLog, "0x$p: $s m_uFlagsTreeItem = 0x$x\n", piTreeItem, piTreeItem->TreeItem_PszGetNameDisplay(), piTreeItem->m_uFlagsTreeItem);
piTreeItem->m_paTreeItemW_YZ = NULL; // This would cause a memory leak in the absence of pwTreeView->clear()
} // while
pwTreeView->clear();
delete g_pTreeItemInbox;
g_pTreeItemInbox = NULL;
delete g_pTreeItemProfiles;
g_pTreeItemProfiles = NULL;
int cProfiles;
TProfile ** prgpProfiles = g_oConfiguration.m_arraypaProfiles.PrgpGetProfiles(OUT &cProfiles);
if (cProfiles == 1 && !fCreateNewProfile)
pProfileSelected = prgpProfiles[0]; // If there is only one profile, then pretend the user selected that profile. There is no need to show extra nodes which may confuse the user
if (pProfileSelected != NULL)
{
// Display a single profile. This is done by displaying the contacts first, and then the profile at the bottom
pProfileSelected->TreeItemProfile_DisplayContactsWithinNavigationTree();
if (pProfileSelected->m_arraypaAccountsXmpp.FIsEmpty())
pProfileSelected->TreeItemProfile_DisplayProfileInfoWithinNavigationTree();
pProfileSelected->TreeItemProfile_DisplayApplicationsWithinNavigationTree();
}
else
{
// Since we are displaying multiple profiles, we need to create two root items for the 'Inbox' and the 'Profiles'
g_pTreeItemInbox = new TTreeItemInbox;
g_pTreeItemProfiles = new TProfiles;
for (int iProfile = 0; iProfile < cProfiles; iProfile++)
{
TProfile * pProfile = prgpProfiles[iProfile];
Assert(pProfile->EGetRuntimeClass() == RTI(TProfile));
pProfile->TreeItemProfile_DisplayContactsWithinNavigationTree();
pProfile->TreeItemProfile_DisplayProfileInfoWithinNavigationTree();
pProfile->TreeItemProfile_DisplayApplicationsWithinNavigationTree();
}
}
NavigationTree_UpdateNameOfSelectedProfile();
if (fCreateNewProfile || cProfiles == 0)
{
// Set the focus to "Profiles" if creating a new profile, or if there is no profile
Assert(g_pTreeItemProfiles != NULL);
g_pTreeItemProfiles->TreeItemLayout_SetFocus();
}
else
pwTreeView->setCurrentItem(pwTreeView->topLevelItem(0)); // Select the first item
} // NavigationTree_PopulateTreeItemsAccordingToSelectedProfile()