[Libreoffice-commits] core.git: include/vcl offapi/com toolkit/source vcl/source

Caolán McNamara (via logerrit) logerrit at kemper.freedesktop.org
Sun Oct 11 20:39:23 UTC 2020


 include/vcl/tabpage.hxx                                |   27 ---
 offapi/com/sun/star/awt/UnoControlDialogModel.idl      |   30 ---
 offapi/com/sun/star/awt/tab/UnoControlTabPageModel.idl |   43 -----
 toolkit/source/awt/vclxcontainer.cxx                   |   16 -
 toolkit/source/awt/vclxtoolkit.cxx                     |    3 
 toolkit/source/controls/tabpagemodel.cxx               |    6 
 vcl/source/window/tabpage.cxx                          |  137 -----------------
 7 files changed, 6 insertions(+), 256 deletions(-)

New commits:
commit 06e9c32d8be8192cd2b6c840aa639622ca0ff44e
Author:     Caolán McNamara <caolanm at redhat.com>
AuthorDate: Sun Oct 11 20:34:08 2020 +0100
Commit:     Caolán McNamara <caolanm at redhat.com>
CommitDate: Sun Oct 11 22:38:42 2020 +0200

    Revert "Permit scrollable AWT tab pages a la scrolled Dialog"
    
    UITest_sort failing
    
    https://gerrit.libreoffice.org/c/core/+/103942
    
    Jenkins Verified-1 Patch Set 7: Verified-1
    where UITest_sort failed
    Jenkins Verified+1 Patch Set 7: Verified+1
    but that's just an android build which doesn't run any tests
    
    This reverts commit b3f2530aa2767ba43cd4702422fc3ed0d37821d6.
    
    Change-Id: I9414e5d7cc5873848f95dab65f03836ccb2ff0c6
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104194
    Tested-by: Caolán McNamara <caolanm at redhat.com>
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/include/vcl/tabpage.hxx b/include/vcl/tabpage.hxx
index a357ec50f55e..bd308a96a355 100644
--- a/include/vcl/tabpage.hxx
+++ b/include/vcl/tabpage.hxx
@@ -24,9 +24,6 @@
 #include <vcl/window.hxx>
 #include <vcl/IContext.hxx>
 
-class ScrollBar;
-class ScrollBarBox;
-
 class VCL_DLLPUBLIC TabPage
     : public vcl::Window
     , public vcl::IContext
@@ -35,24 +32,10 @@ private:
     using Window::ImplInit;
     SAL_DLLPRIVATE void ImplInit( vcl::Window* pParent, WinBits nStyle );
     SAL_DLLPRIVATE void ImplInitSettings();
-    void    lcl_Scroll( long nX, long nY );
-    DECL_LINK( ScrollBarHdl, ScrollBar*, void );
-
-    VclPtr<ScrollBar>    m_pVScroll;
-    VclPtr<ScrollBar>    m_pHScroll;
-    VclPtr<ScrollBarBox> m_aScrollBarBox;
-    Size                 maScrollArea;
-    bool                 mbHasHoriBar;
-    bool                 mbHasVertBar;
-    Point                mnScrollPos;
-    long                 mnScrWidth;
-    enum ScrollBarVisibility { None, Vert, Hori, Both };
-    ScrollBarVisibility  maScrollVis;
 
 public:
     explicit        TabPage( vcl::Window* pParent, WinBits nStyle = 0 );
     virtual         ~TabPage() override;
-    virtual void    dispose() override;
 
     virtual void    Paint( vcl::RenderContext& rRenderContext, const tools::Rectangle& rRect ) override;
     virtual void    Draw( OutputDevice* pDev, const Point& rPos, DrawFlags nFlags ) override;
@@ -65,16 +48,6 @@ public:
     virtual void    SetPosPixel(const Point& rNewPos) override;
     virtual void    SetSizePixel(const Size& rNewSize) override;
     virtual Size    GetOptimalSize() const override;
-
-    // for scrollable tabpage
-    virtual void Resize() override;
-
-    void    SetScrollWidth( long nWidth );
-    void    SetScrollHeight( long nHeight );
-    void    SetScrollLeft( long nLeft );
-    void    SetScrollTop( long Top );
-    void    setScrollVisibility( ScrollBarVisibility rState );
-    void    ResetScrollBars();
 };
 
 #endif // INCLUDED_VCL_TABPAGE_HXX
diff --git a/offapi/com/sun/star/awt/UnoControlDialogModel.idl b/offapi/com/sun/star/awt/UnoControlDialogModel.idl
index 428ef7352441..b45545b272aa 100644
--- a/offapi/com/sun/star/awt/UnoControlDialogModel.idl
+++ b/offapi/com/sun/star/awt/UnoControlDialogModel.idl
@@ -145,36 +145,6 @@ published service UnoControlDialogModel
      */
     [optional, property, transient] com::sun::star::graphic::XGraphic Graphic;
 
-    /** specifies that a horizontal scrollbar should be added to the dialog
-        @since LibreOffice 4.0
-     */
-    [optional, property] boolean HScroll;
-
-    /** specifies that a vertical scrollbar should be added to the dialog
-        @since LibreOffice 4.0
-     */
-    [optional, property] boolean VScroll;
-
-    /** specifies the horizontal position of the scrolled dialog content
-        @since LibreOffice 4.0
-     */
-    [optional, property] long ScrollLeft;
-
-    /** specifies the vertical position of the scrolled dialog content
-        @since LibreOffice 4.0
-     */
-    [optional, property] long ScrollTop;
-
-    /** specifies the total width of the scrollable dialog content
-        @since LibreOffice 4.0
-     */
-    [optional, property] long ScrollWidth;
-
-    /** specifies the total height of the scrollable dialog content
-        @since LibreOffice 4.0
-     */
-    [optional, property] long ScrollHeight;
-
 };
 
 
diff --git a/offapi/com/sun/star/awt/tab/UnoControlTabPageModel.idl b/offapi/com/sun/star/awt/tab/UnoControlTabPageModel.idl
index 0c32f231f2ec..e4efdc605b13 100644
--- a/offapi/com/sun/star/awt/tab/UnoControlTabPageModel.idl
+++ b/offapi/com/sun/star/awt/tab/UnoControlTabPageModel.idl
@@ -30,49 +30,6 @@ module com {  module sun {  module star {  module awt { module tab {
 published service UnoControlTabPageModel
 {
     interface XTabPageModel;
-
-    /** specifies the text that is displayed in the caption bar of the dialog.
-     */
-    [optional, property] string Title;
-
-    /** specifies the help text of the dialog.
-     */
-    [optional, property] string HelpText;
-
-    /** specifies the help URL of the dialog.
-     */
-    [optional, property] string HelpURL;
-
-    /** specifies that a horizontal scrollbar should be added to the dialog
-        @since LibreOffice 7.1
-     */
-    [optional, property] boolean HScroll;
-
-    /** specifies that a vertical scrollbar should be added to the dialog
-        @since LibreOffice 7.1
-     */
-    [optional, property] boolean VScroll;
-
-    /** specifies the horizontal position of the scrolled dialog content
-        @since LibreOffice 7.1
-     */
-    [optional, property] long ScrollLeft;
-
-    /** specifies the vertical position of the scrolled dialog content
-        @since LibreOffice 7.1
-     */
-    [optional, property] long ScrollTop;
-
-    /** specifies the total width of the scrollable dialog content
-        @since LibreOffice 7.1
-     */
-    [optional, property] long ScrollWidth;
-
-    /** specifies the total height of the scrollable dialog content
-        @since LibreOffice 7.1
-     */
-    [optional, property] long ScrollHeight;
-
 };
 
 
diff --git a/toolkit/source/awt/vclxcontainer.cxx b/toolkit/source/awt/vclxcontainer.cxx
index 44f0844f6965..541a9913440c 100644
--- a/toolkit/source/awt/vclxcontainer.cxx
+++ b/toolkit/source/awt/vclxcontainer.cxx
@@ -26,7 +26,6 @@
 
 #include <vcl/svapp.hxx>
 #include <vcl/window.hxx>
-#include <vcl/tabpage.hxx>
 #include <tools/debug.hxx>
 #include <helper/scrollabledialog.hxx>
 #include <toolkit/helper/property.hxx>
@@ -252,8 +251,7 @@ void SAL_CALL VCLXContainer::setProperty(
             VclPtr<vcl::Window> pWindow = GetWindow();
             MapMode aMode( MapUnit::MapAppFont );
             toolkit::ScrollableDialog* pScrollable = dynamic_cast< toolkit::ScrollableDialog* >( pWindow.get() );
-            TabPage* pScrollTabPage = dynamic_cast< TabPage* >( pWindow.get() );
-            if ( pWindow && (pScrollable || pScrollTabPage) )
+            if ( pWindow && pScrollable )
             {
                 OutputDevice* pDev = VCLUnoHelper::GetOutputDevice( getGraphics() );
                 if ( !pDev )
@@ -267,20 +265,16 @@ void SAL_CALL VCLXContainer::setProperty(
                 switch ( nPropType )
                 {
                     case BASEPROPERTY_SCROLLHEIGHT:
-                        pScrollable ? pScrollable->SetScrollHeight( aSize.Height() ) : (void)0;
-                        pScrollTabPage ? pScrollTabPage->SetScrollHeight( aSize.Height() ) : (void)0;
+                        pScrollable->SetScrollHeight( aSize.Height() );
                         break;
                     case BASEPROPERTY_SCROLLWIDTH:
-                        pScrollable ? pScrollable->SetScrollWidth( aSize.Width() ) : (void)0;
-                        pScrollTabPage ? pScrollTabPage->SetScrollWidth( aSize.Width() ) : (void)0;
+                        pScrollable->SetScrollWidth( aSize.Width() );
                         break;
                     case BASEPROPERTY_SCROLLTOP:
-                        pScrollable ? pScrollable->SetScrollTop( aSize.Height() ) : (void)0;
-                        pScrollTabPage ? pScrollTabPage->SetScrollTop( aSize.Height() ) : (void)0;
+                        pScrollable->SetScrollTop( aSize.Height() );
                         break;
                     case BASEPROPERTY_SCROLLLEFT:
-                        pScrollable ? pScrollable->SetScrollLeft( aSize.Width() ) : (void)0;
-                        pScrollTabPage ? pScrollTabPage->SetScrollLeft( aSize.Width() ) : (void)0;
+                        pScrollable->SetScrollLeft( aSize.Width() );
                         break;
                     default:
                         break;
diff --git a/toolkit/source/awt/vclxtoolkit.cxx b/toolkit/source/awt/vclxtoolkit.cxx
index fd63b743a009..7bf211d7150f 100644
--- a/toolkit/source/awt/vclxtoolkit.cxx
+++ b/toolkit/source/awt/vclxtoolkit.cxx
@@ -664,8 +664,7 @@ std::pair<WinBits,MessBoxStyle> ImplGetWinBits( sal_uInt32 nComponentAttribs, Wi
         if( nComponentAttribs & css::awt::VclWindowPeerAttribute::DEF_NO )
             nStyle |= MessBoxStyle::DefaultNo;
     }
-    if ( nCompType == WindowType::MULTILINEEDIT || nCompType == WindowType::DIALOG
-         || nCompType == WindowType::GROUPBOX || nCompType == WindowType::TABPAGE )
+    if ( nCompType == WindowType::MULTILINEEDIT || nCompType == WindowType::DIALOG || nCompType == WindowType::GROUPBOX )
     {
         if( nComponentAttribs & css::awt::VclWindowPeerAttribute::AUTOHSCROLL )
             nWinBits |= WB_AUTOHSCROLL;
diff --git a/toolkit/source/controls/tabpagemodel.cxx b/toolkit/source/controls/tabpagemodel.cxx
index 30f45d9258bd..8a0856f2d08a 100644
--- a/toolkit/source/controls/tabpagemodel.cxx
+++ b/toolkit/source/controls/tabpagemodel.cxx
@@ -46,12 +46,6 @@ UnoControlTabPageModel::UnoControlTabPageModel( Reference< XComponentContext > c
     ImplRegisterProperty( BASEPROPERTY_HELPTEXT );
     ImplRegisterProperty( BASEPROPERTY_HELPURL );
     ImplRegisterProperty( BASEPROPERTY_USERFORMCONTAINEES );
-    ImplRegisterProperty( BASEPROPERTY_HSCROLL );
-    ImplRegisterProperty( BASEPROPERTY_VSCROLL );
-    ImplRegisterProperty( BASEPROPERTY_SCROLLWIDTH );
-    ImplRegisterProperty( BASEPROPERTY_SCROLLHEIGHT );
-    ImplRegisterProperty( BASEPROPERTY_SCROLLTOP );
-    ImplRegisterProperty( BASEPROPERTY_SCROLLLEFT );
 }
 
 OUString SAL_CALL UnoControlTabPageModel::getImplementationName()
diff --git a/vcl/source/window/tabpage.cxx b/vcl/source/window/tabpage.cxx
index e980b762e1ca..827fbc35cd24 100644
--- a/vcl/source/window/tabpage.cxx
+++ b/vcl/source/window/tabpage.cxx
@@ -23,12 +23,9 @@
 #include <vcl/tabpage.hxx>
 #include <vcl/bitmapex.hxx>
 #include <vcl/settings.hxx>
-#include <vcl/scrbar.hxx>
 
 void TabPage::ImplInit( vcl::Window* pParent, WinBits nStyle )
 {
-    assert((nStyle & WB_VSCROLL) == 0 && (nStyle & WB_HSCROLL) == 0);
-
     if ( !(nStyle & WB_NODIALOGCONTROL) )
         nStyle |= WB_DIALOGCONTROL;
 
@@ -36,34 +33,6 @@ void TabPage::ImplInit( vcl::Window* pParent, WinBits nStyle )
 
     ImplInitSettings();
 
-    m_pVScroll.set(VclPtr<ScrollBar>::Create(this, ((nStyle & WB_VSCROLL) ? WB_HIDE : 0) | WB_VSCROLL | WB_DRAG));
-    m_pHScroll.set(VclPtr<ScrollBar>::Create(this, ((nStyle & WB_HSCROLL) ? WB_HIDE : 0) | WB_HSCROLL | WB_DRAG));
-    m_aScrollBarBox.set(
-        VclPtr<ScrollBarBox>::Create(this,
-                                     ((nStyle & (WB_VSCROLL|WB_HSCROLL)) ? WB_HIDE : 0)));
-    mbHasHoriBar = false;
-    mbHasVertBar = false;
-    ScrollBarVisibility aVis = None;
-
-    if ( nStyle & ( WB_AUTOHSCROLL | WB_AUTOVSCROLL ) )
-    {
-        if ( nStyle & WB_AUTOHSCROLL )
-            aVis = Hori;
-        if ( nStyle &  WB_AUTOVSCROLL )
-        {
-            if ( aVis == Hori )
-                aVis = Both;
-            else
-                aVis = Vert;
-        }
-    }
-    setScrollVisibility( aVis );
-    mnScrWidth = Application::GetSettings().GetStyleSettings().GetScrollBarSize();
-
-    Link<ScrollBar*,void> aLink( LINK( this, TabPage, ScrollBarHdl ) );
-    m_pVScroll->SetScrollHdl(aLink);
-    m_pHScroll->SetScrollHdl(aLink);
-
     // if the tabpage is drawn (ie filled) by a native widget, make sure all controls will have transparent background
     // otherwise they will paint with a wrong background
     if( IsNativeControlSupported(ControlType::TabBody, ControlPart::Entire) && GetParent() && (GetParent()->GetType() == WindowType::TABCONTROL) )
@@ -105,14 +74,6 @@ TabPage::~TabPage()
     disposeOnce();
 }
 
-void TabPage::dispose()
-{
-    m_pVScroll.disposeAndClear();
-    m_pHScroll.disposeAndClear();
-    m_aScrollBarBox.disposeAndClear();
-    vcl::Window::dispose();
-}
-
 void TabPage::StateChanged( StateChangedType nType )
 {
     Window::StateChanged( nType );
@@ -221,102 +182,4 @@ void TabPage::SetPosPixel(const Point& rAllocPos)
     }
 }
 
-void TabPage::setScrollVisibility( ScrollBarVisibility rVisState )
-{
-    maScrollVis = rVisState;
-    if (  maScrollVis == Hori || maScrollVis == Both )
-    {
-        mbHasHoriBar = true;
-        m_pHScroll->Show();
-    }
-    if ( maScrollVis == Vert || maScrollVis == Both )
-    {
-        mbHasVertBar = true;
-        m_pVScroll->Show();
-    }
-    if ( mbHasHoriBar || mbHasVertBar )
-        SetStyle( GetStyle() | WB_CLIPCHILDREN );
-}
-
-void TabPage::lcl_Scroll( long nX, long nY )
-{
-    long nXScroll = mnScrollPos.X() - nX;
-    long nYScroll = mnScrollPos.Y() - nY;
-    mnScrollPos = Point( nX, nY );
-
-    tools::Rectangle aScrollableArea( 0, 0, maScrollArea.Width(), maScrollArea.Height() );
-    Scroll(nXScroll, nYScroll, aScrollableArea );
-    // Manually scroll all children ( except the scrollbars )
-    for ( int index = 0; index < GetChildCount(); ++index )
-    {
-        vcl::Window* pChild = GetChild( index );
-        if ( pChild && pChild != m_pVScroll.get() && pChild != m_pHScroll.get() )
-        {
-            Point aPos = pChild->GetPosPixel();
-            aPos += Point( nXScroll, nYScroll );
-            pChild->SetPosPixel( aPos );
-        }
-    }
-}
-
-IMPL_LINK( TabPage, ScrollBarHdl, ScrollBar*, pSB, void )
-{
-    sal_uInt16 nPos = static_cast<sal_uInt16>(pSB->GetThumbPos());
-    if( pSB == m_pVScroll.get() )
-        lcl_Scroll(mnScrollPos.X(), nPos );
-    else if( pSB == m_pHScroll.get() )
-        lcl_Scroll(nPos, mnScrollPos.Y() );
-}
-
-void TabPage::SetScrollTop( long nTop )
-{
-    Point aOld = mnScrollPos;
-    lcl_Scroll( mnScrollPos.X() , mnScrollPos.Y() - nTop );
-    m_pHScroll->SetThumbPos( 0 );
-    // new pos is 0,0
-    mnScrollPos = aOld;
-}
-void TabPage::SetScrollLeft( long nLeft )
-{
-    Point aOld = mnScrollPos;
-    lcl_Scroll( mnScrollPos.X() - nLeft , mnScrollPos.Y() );
-    m_pVScroll->SetThumbPos( 0 );
-    // new pos is 0,0
-    mnScrollPos = aOld;
-}
-
-void TabPage::SetScrollWidth( long nWidth )
-{
-    maScrollArea.setWidth( nWidth );
-    ResetScrollBars();
-}
-
-void TabPage::SetScrollHeight( long nHeight )
-{
-    maScrollArea.setHeight( nHeight );
-    ResetScrollBars();
-}
-
-void TabPage::Resize()
-{
-    ResetScrollBars();
-}
-
-void TabPage::ResetScrollBars()
-{
-    Size aOutSz = GetOutputSizePixel();
-
-    Point aVPos( aOutSz.Width() - mnScrWidth, 0 );
-    Point aHPos( 0, aOutSz.Height() - mnScrWidth );
-
-    m_pVScroll->SetPosSizePixel( aVPos, Size( mnScrWidth,  GetSizePixel().Height() - mnScrWidth ) );
-    m_pHScroll->SetPosSizePixel( aHPos, Size(  GetSizePixel().Width() - mnScrWidth, mnScrWidth ) );
-
-    m_pHScroll->SetRangeMax( maScrollArea.Width() + mnScrWidth  );
-    m_pHScroll->SetVisibleSize( GetSizePixel().Width() );
-
-    m_pVScroll->SetRangeMax( maScrollArea.Height() + mnScrWidth );
-    m_pVScroll->SetVisibleSize( GetSizePixel().Height() );
-}
-
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */


More information about the Libreoffice-commits mailing list