Add SetVisibility method to Scroll Views

Bug 92333 r=kmcclusk sr=attinasi a=asa
This commit is contained in:
rods%netscape.com 2002-03-27 02:56:27 +00:00
Родитель 68ab258aed
Коммит 6bdd9485c2
5 изменённых файлов: 28 добавлений и 0 удалений

Просмотреть файл

@ -176,6 +176,11 @@ public:
NS_IMETHOD GetScrollbarVisibility(PRBool *aVerticalVisible,
PRBool *aHorizontalVisible) const = 0;
/**
* Set the visible (disables the scrollbars when the are hidden)
*/
NS_IMETHOD SetScrollbarVisibility(PRBool aVerticalVisible,
PRBool aHorizontalVisible) = 0;
/**
* Set the properties describing how scrolling can be performed
* in this scrollable.

Просмотреть файл

@ -345,6 +345,14 @@ NS_IMETHODIMP nsScrollPortView::GetScrollbarVisibility(PRBool *aVerticalVisible,
return NS_OK;
}
NS_IMETHODIMP nsScrollPortView::SetScrollbarVisibility(PRBool aVerticalVisible,
PRBool aHorizontalVisible)
{
NS_WARNING("Attempt to set scrollbars visibility this is not xp!");
return NS_OK;
}
void nsScrollPortView::AdjustChildWidgets(nsScrollPortView *aScrolling, nsView *aView, nscoord aDx, nscoord aDy, float scale)
{

Просмотреть файл

@ -75,6 +75,8 @@ public:
NS_IMETHOD GetControlInsets(nsMargin &aInsets) const;
NS_IMETHOD GetScrollbarVisibility(PRBool *aVerticalVisible,
PRBool *aHorizontalVisible) const;
NS_IMETHOD SetScrollbarVisibility(PRBool aVerticalVisible,
PRBool aHorizontalVisible);
NS_IMETHOD SetScrollProperties(PRUint32 aProperties);
NS_IMETHOD GetScrollProperties(PRUint32 *aProperties);
NS_IMETHOD SetLineHeight(nscoord aHeight);

Просмотреть файл

@ -1389,6 +1389,17 @@ NS_IMETHODIMP nsScrollingView::GetScrollbarVisibility(PRBool *aVerticalVisible,
return NS_OK;
}
// must also disable them or they get turned back on
NS_IMETHODIMP nsScrollingView::SetScrollbarVisibility(PRBool aVerticalVisible,
PRBool aHorizontalVisible)
{
((ScrollBarView *)mHScrollBarView)->SetEnabled(aHorizontalVisible);
((ScrollBarView *)mVScrollBarView)->SetEnabled(aVerticalVisible);
mHScrollBarView->SetVisibility(aHorizontalVisible?nsViewVisibility_kShow:nsViewVisibility_kHide);
mVScrollBarView->SetVisibility(aVerticalVisible?nsViewVisibility_kShow:nsViewVisibility_kHide);
return NS_OK;
}
void nsScrollingView::AdjustChildWidgets(nsScrollingView *aScrolling, nsView *aView,
nscoord aDx, nscoord aDy, float scale)
{

Просмотреть файл

@ -89,6 +89,8 @@ public:
NS_IMETHOD GetControlInsets(nsMargin &aInsets) const;
NS_IMETHOD GetScrollbarVisibility(PRBool *aVerticalVisible,
PRBool *aHorizontalVisible) const;
NS_IMETHOD SetScrollbarVisibility(PRBool aVerticalVisible,
PRBool aHorizontalVisible);
NS_IMETHOD SetScrollProperties(PRUint32 aProperties);
NS_IMETHOD GetScrollProperties(PRUint32 *aProperties);
NS_IMETHOD SetLineHeight(nscoord aHeight);