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


C++ Listbox::invalidate方法代码示例

本文整理汇总了C++中cegui::Listbox::invalidate方法的典型用法代码示例。如果您正苦于以下问题:C++ Listbox::invalidate方法的具体用法?C++ Listbox::invalidate怎么用?C++ Listbox::invalidate使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在cegui::Listbox的用法示例。


在下文中一共展示了Listbox::invalidate方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: UpdateFriend

/***********************************************************
add people friend
***********************************************************/
void CommunityBox::UpdateFriend(const LbaNet::FriendInfo & frd)
{
	//RemoveFriend(frd.Name);

	CEGUI::Listbox * lb = static_cast<CEGUI::Listbox *> (
		CEGUI::WindowManager::getSingleton().getWindow("Community/friendlist"));


	bool connected = false;
	std::string color = "FF777777";
	std::map<std::string, CEGUI::ListboxItem *>::iterator iton = _onlines.find(frd.Name);
	if(iton != _onlines.end())
	{
		connected = true;
		color = "FF33FF33";
	}

	std::string dis = "[colour='" + color + "']";
	if(frd.ToAccept)
		dis += "(Request) ";

	dis += frd.Name;

	if(frd.Pending)
		dis += " (Pending)";


	//check if already exist just update the text
	T_friendmap::iterator it = _friends.find(frd.Id);
	if(it != _friends.end())
	{
		it->second.second->setText(dis);
		lb->invalidate();
	}
	else
	{
		CEGUI::ListboxItem *item = new MyComListItem(dis);
		item->setID((unsigned int)frd.Id);
		lb->addItem(item);
		_friends[frd.Id] = std::make_pair<LbaNet::FriendInfo, CEGUI::ListboxItem *>(frd, item);

	}
}
开发者ID:leloulight,项目名称:lbanet,代码行数:46,代码来源:CommunityBox.cpp

示例2: AddOnline

/***********************************************************
add people online
***********************************************************/
void CommunityBox::AddOnline(const std::string & listname, const std::string &_online,
							 const std::string &_status, const std::string &color)
{
	if(listname == "online")
	{
		CEGUI::Listbox * lb = static_cast<CEGUI::Listbox *> (
			CEGUI::WindowManager::getSingleton().getWindow("Community/onlinelist"));

		std::string dis = "[colour='" + color + "']" + _online;
		if(_status != "")
			dis += " (" + _status + ")";

		std::map<std::string, CEGUI::ListboxItem *>::iterator itmap = _onlines.find(_online);
		if(itmap != _onlines.end())
		{
			itmap->second->setText(dis);
			lb->invalidate();
		}
		else
		{
			CEGUI::ListboxItem *it = new MyComListItem(dis);
			lb->addItem(it);
			_onlines[_online] = it;
		}


		if(IsFriend(_online))
			UpdateFriend(_online);
	}

	if(listname == "IRC")
	{
		CEGUI::Listbox * lb = static_cast<CEGUI::Listbox *> (
			CEGUI::WindowManager::getSingleton().getWindow("Community/IRClist"));

		CEGUI::ListboxItem *it = lb->findItemWithText(_online, NULL);
		if(it == NULL)
			lb->addItem(new MyComListItem(_online));
	}
}
开发者ID:leloulight,项目名称:lbanet,代码行数:43,代码来源:CommunityBox.cpp


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