本文整理汇总了C++中TreeNode::addSibling方法的典型用法代码示例。如果您正苦于以下问题:C++ TreeNode::addSibling方法的具体用法?C++ TreeNode::addSibling怎么用?C++ TreeNode::addSibling使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TreeNode
的用法示例。
在下文中一共展示了TreeNode::addSibling方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: addMenuTreeNode
/*---------------------------------------------------------------------*//**
ノード追加
**//*---------------------------------------------------------------------*/
bool Menu::addMenuTreeNode(MenuTreeNode* mtnodePos, MenuTreeNode* mtnodeAdd, bool isChild)
{
TreeNode<MenuTreeNode>* tnodePos = findTreeNodeFromMenuTreeNode(mtnodePos, _tree->getRoot());
if(tnodePos == 0L) { return false; }
if(isChild)
{
tnodePos->addChild(mtnodeAdd);
}
else
{
tnodePos->addSibling(mtnodeAdd);
}
return true;
}
示例2: create
/*---------------------------------------------------------------------*//**
ノード配列から作成
単純な Function 集合メニューを作成する
○ルートノード
┣●親ノード
┃┗●子ノード(Fuction)
┣●親ノード
┃┗●子ノード(Fuction)
・
・
・
┗●親ノード
┗●子ノード(Fuction)
↑このような形
また、
mtnodeParentArrayEntr = NULL, mtnodeChildArrayEntr = NULL,
numArray = 0 でこの create 実行した後、
getMenuTreeRootNode でルートノードを得て、
addMenuTreeNode で要素となるノードを追加する方法もある
@param name 名前
@param mtnodeParentArrayEntr 親ノード配列(メモリの解放処理は Menu クラス内で行う)
@param mtnodeChildArrayEntr 子ノード配列(メモリの解放処理は Menu クラス内で行う)
# 親ノード配列と同配列数である必要がある
# 全ての子は Function ノードである必要がある
@param numArray 配列長
@param functblRef ファンクションテーブルデータ
@param objParam パラメータオブジェクト
@retval true 成功
@retval false 失敗
**//*---------------------------------------------------------------------*/
bool Menu::create(const CStringBase* name, MenuTreeNode** mtnodeParentArrayEntr, MenuTreeNode** mtnodeChildArrayEntr, int numArray, MenuFuncTable* functblRef, MenuPanelFactory* pnlfctryRef, void* objCreateParam)
{
// ツリーを作成する
_tree = new Tree<MenuTreeNode>(true);
// 表示対象においての根ノードを作る
MenuTreeNode* mtnodeRoot = new MenuTreeNode();
if(!mtnodeRoot->create(name, false, false, false, 0, 0))
{
return false;
}
// ノードを作成する
TreeNode<MenuTreeNode>* tnode = _tree->addRootNode();
tnode = tnode->addChild(mtnodeRoot);
for(int i = 0; i < numArray; i++)
{
// 表示される親ノードの追加
if(i == 0)
{
tnode = tnode->addChild(mtnodeParentArrayEntr[i]);
}
else
{
tnode = tnode->addSibling(mtnodeParentArrayEntr[i]);
}
// Fuction を提供する子ノードを追加
tnode->addChild(mtnodeChildArrayEntr[i]);
}
// ファンクションテーブルを保存する
_functblRef = functblRef;
// パネルファクトリを保存する
_pnlfctryRef = pnlfctryRef;
// パラメータオブジェクトを保存する
_objCreateParamRef = objCreateParam;
// メモリ管理を委譲された配列を削除
delete[] mtnodeParentArrayEntr;
delete[] mtnodeChildArrayEntr;
return true;
}