diff options
Diffstat (limited to 'indra')
| -rw-r--r-- | indra/newview/llpanelplaceinfo.cpp | 33 | ||||
| -rw-r--r-- | indra/newview/llpanelplaceinfo.h | 6 | ||||
| -rw-r--r-- | indra/newview/skins/default/xui/en/panel_landmark_info.xml | 6 | ||||
| -rw-r--r-- | indra/newview/skins/default/xui/en/panel_place_profile.xml | 6 | 
4 files changed, 44 insertions, 7 deletions
| diff --git a/indra/newview/llpanelplaceinfo.cpp b/indra/newview/llpanelplaceinfo.cpp index 963d39de8a..6ba3790fe2 100644 --- a/indra/newview/llpanelplaceinfo.cpp +++ b/indra/newview/llpanelplaceinfo.cpp @@ -57,7 +57,11 @@ LLPanelPlaceInfo::LLPanelPlaceInfo()  :	LLPanel(),  	mParcelID(),  	mRequestedID(), -	mPosRegion() +	mPosRegion(), +	mScrollingPanelMinHeight(0), +	mScrollingPanelWidth(0), +	mScrollingPanel(NULL), +	mScrollContainer(NULL)  {}  //virtual @@ -83,6 +87,12 @@ BOOL LLPanelPlaceInfo::postBuild()  	mMaturityRatingIcon = getChild<LLIconCtrl>("maturity_icon");  	mMaturityRatingText = getChild<LLTextBox>("maturity_value"); +	mScrollingPanel = getChild<LLPanel>("scrolling_panel"); +	mScrollContainer = getChild<LLScrollContainer>("place_scroll"); + +	mScrollingPanelMinHeight = mScrollContainer->getScrolledViewRect().getHeight(); +	mScrollingPanelWidth = mScrollingPanel->getRect().getWidth(); +  	return TRUE;  } @@ -231,6 +241,27 @@ void LLPanelPlaceInfo::processParcelInfo(const LLParcelData& parcel_data)  }  // virtual +void LLPanelPlaceInfo::reshape(S32 width, S32 height, BOOL called_from_parent) +{ +	LLPanel::reshape(width, height, called_from_parent); + +	if (!mScrollContainer || !mScrollingPanel) +		return; + +	static LLUICachedControl<S32> scrollbar_size ("UIScrollbarSize", 0); + +	S32 scroll_height = mScrollContainer->getRect().getHeight(); +	if (mScrollingPanelMinHeight >= scroll_height) +	{ +		mScrollingPanel->reshape(mScrollingPanelWidth, mScrollingPanelMinHeight); +	} +	else +	{ +		mScrollingPanel->reshape(mScrollingPanelWidth + scrollbar_size, scroll_height); +	} +} + +// virtual  void LLPanelPlaceInfo::handleVisibilityChange(BOOL new_visibility)  {  	LLPanel::handleVisibilityChange(new_visibility); diff --git a/indra/newview/llpanelplaceinfo.h b/indra/newview/llpanelplaceinfo.h index 133933a880..b9bf92b534 100644 --- a/indra/newview/llpanelplaceinfo.h +++ b/indra/newview/llpanelplaceinfo.h @@ -45,6 +45,7 @@ class LLIconCtrl;  class LLInventoryItem;  class LLPanelPickEdit;  class LLParcel; +class LLScrollContainer;  class LLTextBox;  class LLTextureCtrl;  class LLViewerRegion; @@ -92,6 +93,7 @@ public:  	/*virtual*/ void processParcelInfo(const LLParcelData& parcel_data); +	/*virtual*/ void reshape(S32 width, S32 height, BOOL called_from_parent = TRUE);  	/*virtual*/ void handleVisibilityChange (BOOL new_visibility);  	// Create a pick for the location specified @@ -110,8 +112,12 @@ protected:  	LLUUID					mRequestedID;  	LLVector3				mPosRegion;  	std::string				mCurrentTitle; +	S32						mScrollingPanelMinHeight; +	S32						mScrollingPanelWidth;  	INFO_TYPE 				mInfoType; +	LLScrollContainer*		mScrollContainer; +	LLPanel*				mScrollingPanel;  	LLTextBox*				mTitle;  	LLTextureCtrl*			mSnapshotCtrl;  	LLTextBox*				mRegionName; diff --git a/indra/newview/skins/default/xui/en/panel_landmark_info.xml b/indra/newview/skins/default/xui/en/panel_landmark_info.xml index b01ddbf75a..a219e30b8b 100644 --- a/indra/newview/skins/default/xui/en/panel_landmark_info.xml +++ b/indra/newview/skins/default/xui/en/panel_landmark_info.xml @@ -87,8 +87,8 @@       width="313">          <panel           bg_alpha_color="DkGray2" -         follows="all" -         height="533" +         follows="left|top|right" +         height="610"           layout="topleft"           left="0"           min_height="300" @@ -145,7 +145,7 @@               top_pad="10"               width="18" />              <text -             follows="right|top" +             follows="left|top|right"               height="16"               layout="topleft"               left_pad="8" diff --git a/indra/newview/skins/default/xui/en/panel_place_profile.xml b/indra/newview/skins/default/xui/en/panel_place_profile.xml index e6084202d7..9ab5c6b4f7 100644 --- a/indra/newview/skins/default/xui/en/panel_place_profile.xml +++ b/indra/newview/skins/default/xui/en/panel_place_profile.xml @@ -172,7 +172,7 @@       width="313">          <panel           bg_alpha_color="DkGray2" -         follows="all" +         follows="left|top|right"           height="533"           layout="topleft"           left="0" @@ -192,7 +192,7 @@              <layout_stack               border_size="0"               clip="false" -             follows="all" +             follows="left|top|right"               height="50"               layout="topleft"               mouse_opaque="false" @@ -305,7 +305,7 @@               top_delta="0"               width="18" />              <text -             follows="right|top" +             follows="left|top|right"               height="16"               layout="topleft"               left_pad="8" | 
