当前位置: 首页>>代码示例>>C++>>正文


C++ TreeNode::addSibling方法代码示例

本文整理汇总了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;
}
开发者ID:Altoterras,项目名称:TheHeartOfSourcerer,代码行数:18,代码来源:Menu.cpp

示例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;
}
开发者ID:Altoterras,项目名称:TheHeartOfSourcerer,代码行数:77,代码来源:Menu.cpp


注:本文中的TreeNode::addSibling方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。