Update for major task EXT-2251 - Implement panels for creating, editing and viewing Classifieds.
Implemented "Map", "Teleport", and "Edit" buttons in Classified Info panel. --HG-- branch : product-enginemaster
parent
ebfb32f35b
commit
1e9cdef67c
|
|
@ -1167,7 +1167,9 @@ LLPanelClassifiedInfo* LLPanelClassifiedInfo::create()
|
|||
|
||||
BOOL LLPanelClassifiedInfo::postBuild()
|
||||
{
|
||||
childSetAction("back_btn", boost::bind(&LLPanelClassifiedInfo::onExit, this), NULL);
|
||||
childSetAction("back_btn", boost::bind(&LLPanelClassifiedInfo::onExit, this));
|
||||
childSetAction("show_on_map_btn", boost::bind(&LLPanelClassifiedInfo::onMapClick, this));
|
||||
childSetAction("teleport_btn", boost::bind(&LLPanelClassifiedInfo::onTeleportClick, this));
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
|
@ -1177,6 +1179,11 @@ void LLPanelClassifiedInfo::setExitCallback(const commit_callback_t& cb)
|
|||
getChild<LLButton>("back_btn")->setClickedCallback(cb);
|
||||
}
|
||||
|
||||
void LLPanelClassifiedInfo::setEditClassifiedCallback(const commit_callback_t& cb)
|
||||
{
|
||||
getChild<LLButton>("edit_btn")->setClickedCallback(cb);
|
||||
}
|
||||
|
||||
void LLPanelClassifiedInfo::onOpen(const LLSD& key)
|
||||
{
|
||||
LLUUID avatar_id = key["avatar_id"];
|
||||
|
|
@ -1216,6 +1223,7 @@ void LLPanelClassifiedInfo::processProperties(void* data, EAvatarProcessorType t
|
|||
setDescription(c_info->description);
|
||||
setSnapshotId(c_info->snapshot_id);
|
||||
setParcelId(c_info->parcel_id);
|
||||
setPosGlobal(c_info->pos_global);
|
||||
setClassifiedLocation(createLocationText(c_info->parcel_name, c_info->sim_name, c_info->pos_global));
|
||||
childSetValue("category", LLClassifiedInfo::sCategories[c_info->category]);
|
||||
|
||||
|
|
@ -1325,6 +1333,21 @@ std::string LLPanelClassifiedInfo::createLocationText(
|
|||
return location_text;
|
||||
}
|
||||
|
||||
void LLPanelClassifiedInfo::onMapClick()
|
||||
{
|
||||
LLFloaterWorldMap::getInstance()->trackLocation(getPosGlobal());
|
||||
LLFloaterReg::showInstance("world_map", "center");
|
||||
}
|
||||
|
||||
void LLPanelClassifiedInfo::onTeleportClick()
|
||||
{
|
||||
if (!getPosGlobal().isExactlyZero())
|
||||
{
|
||||
gAgent.teleportViaLocation(getPosGlobal());
|
||||
LLFloaterWorldMap::getInstance()->trackLocation(getPosGlobal());
|
||||
}
|
||||
}
|
||||
|
||||
void LLPanelClassifiedInfo::onExit()
|
||||
{
|
||||
LLAvatarPropertiesProcessor::getInstance()->removeObserver(getAvatarId(), this);
|
||||
|
|
|
|||
|
|
@ -249,7 +249,9 @@ public:
|
|||
|
||||
void setInfoLoaded(bool loaded) { mInfoLoaded = loaded; }
|
||||
|
||||
virtual void setExitCallback(const commit_callback_t& cb);
|
||||
void setExitCallback(const commit_callback_t& cb);
|
||||
|
||||
void setEditClassifiedCallback(const commit_callback_t& cb);
|
||||
|
||||
protected:
|
||||
|
||||
|
|
@ -264,9 +266,8 @@ protected:
|
|||
const std::string& sim_name,
|
||||
const LLVector3d& pos_global);
|
||||
|
||||
void onClickMap();
|
||||
void onClickTeleport();
|
||||
void onClickBack();
|
||||
void onMapClick();
|
||||
void onTeleportClick();
|
||||
void onExit();
|
||||
|
||||
private:
|
||||
|
|
|
|||
|
|
@ -740,6 +740,7 @@ void LLPanelPicks::createClassifiedInfoPanel()
|
|||
{
|
||||
mPanelClassifiedInfo = LLPanelClassifiedInfo::create();
|
||||
mPanelClassifiedInfo->setExitCallback(boost::bind(&LLPanelPicks::onPanelClassifiedClose, this, mPanelClassifiedInfo));
|
||||
mPanelClassifiedInfo->setEditClassifiedCallback(boost::bind(&LLPanelPicks::onPanelClassifiedEdit, this));
|
||||
mPanelClassifiedInfo->setVisible(FALSE);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue