void InventoryWindow::updatePlayer() { mPtr = MWBase::Environment::get().getWorld ()->getPlayerPtr(); mTradeModel = new TradeItemModel(new InventoryItemModel(mPtr), MWWorld::Ptr()); if (mSortModel) // reuse existing SortModel when possible to keep previous category/filter settings mSortModel->setSourceModel(mTradeModel); else mSortModel = new SortFilterItemModel(mTradeModel); mItemView->setModel(mSortModel); mPreview->updatePtr(mPtr); mPreview->rebuild(); mPreview->update(); dirtyPreview(); updatePreviewSize(); }
void InventoryWindow::setGuiMode(GuiMode mode) { std::string setting = "inventory"; mGuiMode = mode; switch(mode) { case GM_Container: setPinButtonVisible(false); setting += " container"; break; case GM_Companion: setPinButtonVisible(false); setting += " companion"; break; case GM_Barter: setPinButtonVisible(false); setting += " barter"; break; case GM_Inventory: default: setPinButtonVisible(true); break; } MyGUI::IntSize viewSize = MyGUI::RenderManager::getInstance().getViewSize(); MyGUI::IntPoint pos(static_cast<int>(Settings::Manager::getFloat(setting + " x", "Windows") * viewSize.width), static_cast<int>(Settings::Manager::getFloat(setting + " y", "Windows") * viewSize.height)); MyGUI::IntSize size(static_cast<int>(Settings::Manager::getFloat(setting + " w", "Windows") * viewSize.width), static_cast<int>(Settings::Manager::getFloat(setting + " h", "Windows") * viewSize.height)); bool needUpdate = (size.width != mMainWidget->getWidth() || size.height != mMainWidget->getHeight()); mMainWidget->setPosition(pos); mMainWidget->setSize(size); adjustPanes(); if (needUpdate) updatePreviewSize(); }
void InventoryWindow::onWindowResize(MyGUI::Window* _sender) { adjustPanes(); std::string setting = "inventory"; switch(mGuiMode) { case GM_Container: setting += " container"; break; case GM_Companion: setting += " companion"; break; case GM_Barter: setting += " barter"; break; default: break; } MyGUI::IntSize viewSize = MyGUI::RenderManager::getInstance().getViewSize(); float x = _sender->getPosition().left / float(viewSize.width); float y = _sender->getPosition().top / float(viewSize.height); float w = _sender->getSize().width / float(viewSize.width); float h = _sender->getSize().height / float(viewSize.height); Settings::Manager::setFloat(setting + " x", "Windows", x); Settings::Manager::setFloat(setting + " y", "Windows", y); Settings::Manager::setFloat(setting + " w", "Windows", w); Settings::Manager::setFloat(setting + " h", "Windows", h); if (mMainWidget->getSize().width != mLastXSize || mMainWidget->getSize().height != mLastYSize) { mLastXSize = mMainWidget->getSize().width; mLastYSize = mMainWidget->getSize().height; updatePreviewSize(); updateArmorRating(); } }
status_t ParamsManager:: setParameters(CameraParameters const& params) { IParamsManager::showParameters(params.flatten()); // status_t status = OK; bool bIsSceneChanged = false; Size oldPrvSize, tmpPrvSize, newPrvSize; Size oldPicSize, newPicSize; // // (1) Check to see if new parameters are valid or not. if ( OK != (status = checkParams(params)) ) { MY_LOGE("checkParams() return %d", status); return status; } // (2) Check to see if Scene Changes or not. MY_LOGD("%d: +", getOpenId()); RWLock::AutoWLock _lock(mRWLock); MY_LOGD("AutoWLock"); // char const*const pOldScene = mParameters.get(CameraParameters::KEY_SCENE_MODE); char const*const pNewScene = params.get(CameraParameters::KEY_SCENE_MODE); if ( 0 != ::strcmp(pOldScene, pNewScene) ) { // scene mode has changed MY_LOGD("Scene change: %s -> %s", pOldScene, pNewScene); bIsSceneChanged = true; } // // (3.1) Check to see if Preview Size Changes or not. Get old preview size mParameters.getPreviewSize(&oldPrvSize.width, &oldPrvSize.height); params.getPreviewSize(&tmpPrvSize.width, &tmpPrvSize.height); // (3.2) Get old&new picture size mParameters.getPictureSize(&oldPicSize.width, &oldPicSize.height); params.getPictureSize(&newPicSize.width, &newPicSize.height); // (4) Update Parameter mParameters = params; if ( bIsSceneChanged ) { if ( ! updateSceneAndParams() ) { status = BAD_VALUE; } } // (5) Update Parameter: preview size updatePreviewSize(); // (6) Update FOV according to picture size MY_LOGI("picSZ(%d,%d)->(%d,%d)",oldPicSize.width,oldPicSize.height,newPicSize.width,newPicSize.height); if(oldPicSize.width != newPicSize.width || oldPicSize.height != newPicSize.height) { updateFov(newPicSize); } // (3.2) Check to see if Preview Size Changes or not. Get new preview size mParameters.getPreviewSize(&newPrvSize.width, &newPrvSize.height); if ( oldPrvSize.width != newPrvSize.width || oldPrvSize.height != newPrvSize.height ) { MY_LOGD( "Preview Size change: %dx%d/%dx%d -> (%dx%d)", oldPrvSize.width, oldPrvSize.height, tmpPrvSize.width, tmpPrvSize.height, newPrvSize.width, newPrvSize.height ); } // MY_LOGD("-"); return status; }