示例#1
0
  void PanelUserData::notifyUpdateUserData(MyGUI::EditBox* _widget)
  {
    size_t item = mMultilist->getIndexSelected();
    if (MyGUI::ITEM_NONE == item)
    {
      notifyAddUserData();
      return;
    }
    std::string key = mEditKey->getOnlyText();
    std::string value = mEditValue->getOnlyText();
    std::string lastkey = mMultilist->getItemNameAt(item);

    WidgetContainer* widgetContainer = EditorWidgets::getInstance().find(mCurrentWidget);
    mMultilist->removeItemAt(mMultilist->findSubItemWith(0, lastkey));
    widgetContainer->clearUserData(lastkey);
    if (!widgetContainer->existUserData(key))
    {
      mMultilist->addItem(key);
    }
    mMultilist->setSubItemNameAt(1, mMultilist->findSubItemWith(0, key), MyGUI::TextIterator::toTagsString(value));
    mMultilist->setIndexSelected(mMultilist->findSubItemWith(0, key));
    widgetContainer->setUserData(key, value);
    UndoManager::getInstance().addValue();
  }
示例#2
0
	void PanelUserData::notifyUpdateUserData(MyGUI::EditBox* _widget)
	{
		size_t item = mMultilist->getIndexSelected();
		if (MyGUI::ITEM_NONE == item)
		{
			notifyAddUserData();
			return;
		}
		std::string key = mEditKey->getOnlyText();
		std::string value = mEditValue->getOnlyText();
		std::string lastkey = mMultilist->getItemNameAt(item);

		WidgetContainer* widgetContainer = EditorWidgets::getInstance().find(mCurrentWidget);
		mMultilist->removeItemAt(mMultilist->findSubItemWith(0, lastkey));
		utility::mapErase(widgetContainer->mUserString, lastkey);
		if (utility::mapFind(widgetContainer->mUserString, key) == widgetContainer->mUserString.end())
		{
			mMultilist->addItem(key);
		}
		mMultilist->setSubItemNameAt(1, mMultilist->findSubItemWith(0, key), value);
		mMultilist->setIndexSelected(mMultilist->findSubItemWith(0, key));
		utility::mapSet(widgetContainer->mUserString, key, value);
		UndoManager::getInstance().addValue();
	}