void ReviewDialog::updateSkillArea() { for (std::vector<MyGUI::Widget*>::iterator it = mSkillWidgets.begin(); it != mSkillWidgets.end(); ++it) { MyGUI::Gui::getInstance().destroyWidget(*it); } mSkillWidgets.clear(); const int valueSize = 40; MyGUI::IntCoord coord1(10, 0, mSkillView->getWidth() - (10 + valueSize) - 24, 18); MyGUI::IntCoord coord2(coord1.left + coord1.width, coord1.top, valueSize, coord1.height); if (!mMajorSkills.empty()) addSkills(mMajorSkills, "sSkillClassMajor", "Major Skills", coord1, coord2); if (!mMinorSkills.empty()) addSkills(mMinorSkills, "sSkillClassMinor", "Minor Skills", coord1, coord2); if (!mMiscSkills.empty()) addSkills(mMiscSkills, "sSkillClassMisc", "Misc Skills", coord1, coord2); // Canvas size must be expressed with VScroll disabled, otherwise MyGUI would expand the scroll area when the scrollbar is hidden mSkillView->setVisibleVScroll(false); mSkillView->setCanvasSize (mSkillView->getWidth(), std::max(mSkillView->getHeight(), coord1.top)); mSkillView->setVisibleVScroll(true); }
void Engine::addPackage(Package *package){ if(findChild<const Package *>(package->objectName())) return; package->setParent(this); QList<Card *> all_cards = package->findChildren<Card *>(); foreach(Card *card, all_cards){ if(card->getNumber() < 0) continue; card->setId(cards.length()); cards << card; QString card_name = card->objectName(); metaobjects.insert(card_name, card->metaObject()); } addSkills(package->getSkills()); QList<General *> all_generals = package->findChildren<General *>(); foreach(General *general, all_generals){ addSkills(general->findChildren<const Skill *>()); if(general->isHidden()){ hidden_generals.insert(general->objectName(), general); continue; } if(general->isLord()) lord_list << general->objectName(); else nonlord_list << general->objectName(); generals.insert(general->objectName(), general); }