From 69833aff50b1d1d360ff5568314d347dd3df40f5 Mon Sep 17 00:00:00 2001 From: Igor Borovkov Date: Thu, 1 Apr 2010 13:35:25 +0300 Subject: drafted out edit outfit panel XUI layout as major part of EXT-6548 Edit Outfit: Clean up XUI to allow all elements to fit properly in the panel Reviewed by Neal Orman at https://codereview.productengine.com/secondlife/r/143/ --HG-- branch : product-engine --- indra/newview/llpaneloutfitedit.cpp | 13 +- indra/newview/llpaneloutfitedit.h | 4 +- .../skins/default/xui/en/panel_outfit_edit.xml | 540 +++++++++++++-------- .../default/xui/en/panel_outfits_inventory.xml | 4 +- .../skins/default/xui/en/sidepanel_appearance.xml | 9 +- 5 files changed, 347 insertions(+), 223 deletions(-) diff --git a/indra/newview/llpaneloutfitedit.cpp b/indra/newview/llpaneloutfitedit.cpp index 421181dda1..ba22adc01c 100644 --- a/indra/newview/llpaneloutfitedit.cpp +++ b/indra/newview/llpaneloutfitedit.cpp @@ -62,7 +62,7 @@ #include "llsidepanelappearance.h" #include "llwearablelist.h" -static LLRegisterPanelClassWrapper t_look("panel_outfit_edit"); +static LLRegisterPanelClassWrapper t_outfit_edit("panel_outfit_edit"); const U64 WEARABLE_MASK = (1LL << LLInventoryType::IT_WEARABLE); const U64 ATTACHMENT_MASK = (1LL << LLInventoryType::IT_ATTACHMENT) | (1LL << LLInventoryType::IT_OBJECT); @@ -158,7 +158,9 @@ BOOL LLPanelOutfitEdit::postBuild() // gInventory.isInventoryUsable() no longer needs to be tested per Richard's fix for race conditions between inventory and panels mLookName = getChild("curr_look_name"); - + + childSetCommitCallback("add_btn", boost::bind(&LLPanelOutfitEdit::showAddWearablesPanel, this), NULL); + /* mLookContents->setDoubleClickCallback(onDoubleClickSpeaker, this); mLookContents->setCommitOnSelectionChange(TRUE); @@ -229,6 +231,11 @@ BOOL LLPanelOutfitEdit::postBuild() return TRUE; } +void LLPanelOutfitEdit::showAddWearablesPanel() +{ + childSetVisible("add_wearables_panel", childGetValue("add_btn")); +} + void LLPanelOutfitEdit::onTypeFilterChanged(LLUICtrl* ctrl) { LLComboBox* type_filter = dynamic_cast(ctrl); @@ -500,7 +507,7 @@ void LLPanelOutfitEdit::displayLookInfo(const LLInventoryCategory* pLook) if (mLookID != pLook->getUUID()) { mLookID = pLook->getUUID(); - mLookName->setText("Look: " + pLook->getName()); + mLookName->setText(pLook->getName()); updateLookInfo(); } } diff --git a/indra/newview/llpaneloutfitedit.h b/indra/newview/llpaneloutfitedit.h index 09ec51c056..5c00f84e0e 100644 --- a/indra/newview/llpaneloutfitedit.h +++ b/indra/newview/llpaneloutfitedit.h @@ -88,7 +88,9 @@ public: /*virtual*/ void setParcelID(const LLUUID& parcel_id); // Sends a request for data about the given parcel, which will // only update the location if there is none already available. - + + void showAddWearablesPanel(); + void onTypeFilterChanged(LLUICtrl* ctrl); void onSearchEdit(const std::string& string); void onInventorySelectionChange(const std::deque &items, BOOL user_action); diff --git a/indra/newview/skins/default/xui/en/panel_outfit_edit.xml b/indra/newview/skins/default/xui/en/panel_outfit_edit.xml index d4924562fb..535e24f3d9 100644 --- a/indra/newview/skins/default/xui/en/panel_outfit_edit.xml +++ b/indra/newview/skins/default/xui/en/panel_outfit_edit.xml @@ -1,13 +1,18 @@ + + background_visible="true" + border="false" + height="600" + follows="all" + label="Outfit Edit" + layout="topleft" + left="0" + min_height="350" + name="outfit_edit" + top="0" + width="320"> + (N\A) @@ -16,218 +21,325 @@ name="unknown"> (unknown) - - + + +