本文整理汇总了C++中LLScriptFloater::savePosition方法的典型用法代码示例。如果您正苦于以下问题:C++ LLScriptFloater::savePosition方法的具体用法?C++ LLScriptFloater::savePosition怎么用?C++ LLScriptFloater::savePosition使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类LLScriptFloater
的用法示例。
在下文中一共展示了LLScriptFloater::savePosition方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: show
LLScriptFloater* LLScriptFloater::show(const LLUUID& notification_id)
{
LLScriptFloater* floater = LLFloaterReg::getTypedInstance<LLScriptFloater>("script_floater", notification_id);
floater->setNotificationId(notification_id);
floater->createForm(notification_id);
//LLDialog(LLGiveInventory and LLLoadURL) should no longer steal focus (see EXT-5445)
floater->setAutoFocus(FALSE);
LLScriptFloaterManager::e_object_type floaterType=LLScriptFloaterManager::getObjectType(notification_id);
// for some reason an inventory offer comes back as OBJ_UNKNOWN -Zi
if(floaterType==LLScriptFloaterManager::OBJ_UNKNOWN ||
floaterType==LLScriptFloaterManager::OBJ_SCRIPT)
{
floater->setSavePosition(true);
if(gSavedSettings.getBOOL("ShowScriptDialogsTopRight"))
{
// undock the dialog
floater->setDocked(false,true);
LLRect pos=floater->getRect();
S32 width=pos.getWidth();
S32 height=pos.getHeight();
pos.setOriginAndSize(gViewerWindow->getWorldViewWidthScaled()-width,
gViewerWindow->getWorldViewHeightScaled()-height,
width,height);
floater->setRect(pos);
floater->savePosition();
}
// do this only for inventory offers -Zi
else if(floaterType==LLScriptFloaterManager::OBJ_UNKNOWN)
{
// undock the dialog
floater->setDocked(false,true);
LLRect pos=floater->getRect();
S32 width=pos.getWidth();
S32 height=pos.getHeight();
pos.setOriginAndSize(gViewerWindow->getWorldViewWidthScaled()-width,
gViewerWindow->getWorldViewHeightScaled()-height,
width,height);
floater->setRect(pos);
floater->savePosition();
}
floater->restorePosition();
}
else
{
floater->dockToChiclet(true);
}
//LLDialog(LLGiveInventory and LLLoadURL) should no longer steal focus (see EXT-5445)
LLFloaterReg::showTypedInstance<LLScriptFloater>("script_floater", notification_id, FALSE);
return floater;
}
示例2: onRemoveNotification
void LLScriptFloaterManager::onRemoveNotification(const LLUUID& notification_id)
{
if(notification_id.isNull())
{
llwarns << "Invalid notification ID" << llendl;
return;
}
// remove related chiclet
if (LLChicletBar::instanceExists())
{
LLChicletBar::getInstance()->getChicletPanel()->removeChiclet(notification_id);
}
LLIMWellWindow* im_well_window = LLIMWellWindow::findInstance();
if (im_well_window)
{
im_well_window->removeObjectRow(notification_id);
}
mNotifications.erase(notification_id);
// close floater
LLScriptFloater* floater = LLFloaterReg::findTypedInstance<LLScriptFloater>("script_floater", notification_id);
if(floater)
{
floater->savePosition();
floater->setNotificationId(LLUUID::null);
floater->closeFloater();
}
}