void Message::setMessageIcon(MessageBoxStyle _icon) { if (nullptr == mIcon) return; if (mIcon->getItemResource() != nullptr) { mIcon->setItemName( getIconName(_icon.getIconIndex()) ); } else { mIcon->setImageIndex(_icon.getIconIndex()); } updateSize(); }
void Message::setMessageButton(MessageBoxStyle _info) { clearButton(); std::vector<MessageBoxStyle> buttons = _info.getButtons(); for (size_t index=0; index<buttons.size(); ++index) { // корректируем ее номер MessageBoxStyle info = buttons[index]; // если бит есть то ставим кнопку addButtonName(getButtonName(info)); // внутри адд сбрасывается mVectorButton.back()->_setInternalData(info); // первая кнопка if (mVectorButton.size() == 1) mInfoOk = info; // последняя кнопка mInfoCancel = info; } updateSize(); }
UString Message::getButtonName(MessageBoxStyle _style) { size_t index = _style.getButtonIndex(); const char* tag = getButtonTag(index); UString result = LanguageManager::getInstance().replaceTags(utility::toString("#{", tag, "}")); if (result == tag) return getButtonName(index); return result; }
Ogre::UTFString MessageFactory::getButtonName(MessageBoxStyle _style) { size_t index = _style.getButtonIndex(); if (mVectorButtonName.size() <= index) return ""; return mVectorButtonName[index]; }