void CustomDropDown::OnItemSelected() { auto pressedState = state["pressed"]; if (pressedState) *pressedState = false; Collapse(); onSelectedPos(mItemsList->GetSelectedItemPos()); onSelectedItem(mItemsList->GetSelectedItem()); OnSelectionChanged(); }
name->setData(script.author, RoleAuthor); name->setData(script.description, RoleDescription); name->setData(script.program, RoleProgram); name->setData(script.version, RoleVersion); row << name << edited << apilevel; model->appendRow(row); } model->sort(0); setUpdatesEnabled(false); setModel(model); connect(selectionModel(), SIGNAL(selectionChanged(QItemSelection,QItemSelection)), this, SLOT(onSelectedItem(QItemSelection,QItemSelection))); expandAll(); setUpdatesEnabled(true); resizeColumnToContents(2); resizeColumnToContents(1); } QString GeneratorScriptView::getDataOfSelectedItem(DataRoles role) const { static int ColumnName = 0, ColumnLastEdited = 1, ColumnApiLevel = 2; if(!mSelectedItem)
void InventoryWindow::onAvatarClicked(MyGUI::Widget* _sender) { if (mDragAndDrop->mIsOnDragAndDrop) { MWWorld::Ptr ptr = *mDragAndDrop->mDraggedWidget->getUserData<MWWorld::Ptr>(); if (mDragAndDrop->mDraggedFrom != this) { // add item to the player's inventory MWWorld::ContainerStore& invStore = MWWorld::Class::get(mPtr).getContainerStore(mPtr); MWWorld::ContainerStoreIterator it = invStore.begin(); int origCount = ptr.getRefData().getCount(); ptr.getRefData().setCount(origCount - mDragAndDrop->mDraggedCount); it = invStore.add(ptr); (*it).getRefData().setCount(mDragAndDrop->mDraggedCount); ptr = *it; mDragAndDrop->mDraggedFrom->notifyItemDragged(ptr, -mDragAndDrop->mDraggedCount); } /// \todo scripts boost::shared_ptr<MWWorld::Action> action = MWWorld::Class::get(ptr).use(ptr); action->execute (MWBase::Environment::get().getWorld()->getPlayer().getPlayer()); // this is necessary for books/scrolls: if they are already in the player's inventory, // the "Take" button should not be visible. // NOTE: the take button is "reset" when the window opens, so we can safely do the following // without screwing up future book windows MWBase::Environment::get().getWindowManager()->getBookWindow()->setTakeButtonShow(false); MWBase::Environment::get().getWindowManager()->getScrollWindow()->setTakeButtonShow(false); mDragAndDrop->mIsOnDragAndDrop = false; MyGUI::Gui::getInstance().destroyWidget(mDragAndDrop->mDraggedWidget); MWBase::Environment::get().getWindowManager()->setDragDrop(false); drawItems(); notifyContentChanged(); } else { MyGUI::IntPoint mousePos = MyGUI::InputManager::getInstance ().getLastPressedPosition (MyGUI::MouseButton::Left); MyGUI::IntPoint relPos = mousePos - mAvatar->getAbsolutePosition (); int realX = int(float(relPos.left) / float(mAvatar->getSize().width) * 512.f ); int realY = int(float(relPos.top) / float(mAvatar->getSize().height) * 1024.f ); MWWorld::Ptr itemSelected = getAvatarSelectedItem (realX, realY); if (itemSelected.isEmpty ()) return; for (unsigned int i=0; i < mContainerWidget->getChildCount (); ++i) { MyGUI::Widget* w = mContainerWidget->getChildAt (i); if (*w->getUserData<MWWorld::Ptr>() == itemSelected) { onSelectedItem(w); return; } } } }