diff options
author | Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de> | 2016-01-22 12:04:05 +0100 |
---|---|---|
committer | Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de> | 2016-01-22 17:18:28 +0000 |
commit | 867af25bd8d36c7e5ef6f16c2876ac82e63648cc (patch) | |
tree | 474cf5199768fbc6ffd9ae742f15ca1423a37076 /basctl | |
parent | 04d4af8496c8fae5515c7f76e143310eb7098702 (diff) |
tdf#96683 Move tabs in Basic IDE to an own row
So that the tab height does not depend on the scrollbar height (which is subject to the desktop theme)
Change-Id: Ie2d787528152aed92c9943fe76955bf499d7d2a9
Reviewed-on: https://gerrit.libreoffice.org/21707
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
Diffstat (limited to 'basctl')
-rw-r--r-- | basctl/source/basicide/basides1.cxx | 23 | ||||
-rw-r--r-- | basctl/source/basicide/basidesh.cxx | 27 | ||||
-rw-r--r-- | basctl/source/inc/basidesh.hxx | 3 |
3 files changed, 7 insertions, 46 deletions
diff --git a/basctl/source/basicide/basides1.cxx b/basctl/source/basicide/basides1.cxx index 7315853aefeb..3051308497fd 100644 --- a/basctl/source/basicide/basides1.cxx +++ b/basctl/source/basicide/basides1.cxx @@ -1186,30 +1186,21 @@ void Shell::AdjustPosSizePixel( const Point &rPos, const Size &rSize ) if ( GetViewFrame()->GetWindow().GetOutputSizePixel().Height() == 0 ) return; + Size aTabBarSize; + aTabBarSize.Height() = GetViewFrame()->GetWindow().GetFont().GetHeight() + 4; + aTabBarSize.Width() = rSize.Width(); + Size aSz( rSize ); Size aScrollBarBoxSz( aScrollBarBox->GetSizePixel() ); aSz.Height() -= aScrollBarBoxSz.Height(); + aSz.Height() -= aTabBarSize.Height(); Size aOutSz( aSz ); aSz.Width() -= aScrollBarBoxSz.Width(); aScrollBarBox->SetPosPixel( Point( rSize.Width() - aScrollBarBoxSz.Width(), rSize.Height() - aScrollBarBoxSz.Height() ) ); aVScrollBar->SetPosSizePixel( Point( rPos.X()+aSz.Width(), rPos.Y() ), Size( aScrollBarBoxSz.Width(), aSz.Height() ) ); - if ( bTabBarSplitted ) - { - // SplitSize is 0 at a resize! - long nSplitPos = pTabBar->GetSizePixel().Width(); - if ( nSplitPos > aSz.Width() ) - nSplitPos = aSz.Width(); - pTabBar->SetPosSizePixel( Point( rPos.X(), rPos.Y()+aSz.Height() ), Size( nSplitPos, aScrollBarBoxSz.Height() ) ); - long nScrlStart = rPos.X() + nSplitPos; - aHScrollBar->SetPosSizePixel( Point( nScrlStart, rPos.Y()+aSz.Height() ), Size( aSz.Width() - nScrlStart + 1, aScrollBarBoxSz.Height() ) ); - aHScrollBar->Update(); - } - else - { - aHScrollBar->SetPosSizePixel( Point( rPos.X()+ aSz.Width()/2 - 1, rPos.Y()+aSz.Height() ), Size( aSz.Width()/2 + 2, aScrollBarBoxSz.Height() ) ); - pTabBar->SetPosSizePixel( Point( rPos.X(), rPos.Y()+aSz.Height() ), Size( aSz.Width()/2, aScrollBarBoxSz.Height() ) ); - } + aHScrollBar->SetPosSizePixel( Point( rPos.X(), rPos.Y()+aSz.Height() ), Size( aSz.Width(), aScrollBarBoxSz.Height() ) ); + pTabBar->SetPosSizePixel( Point( rPos.X(), rPos.Y()+aScrollBarBoxSz.Height()+aSz.Height()), aTabBarSize ); if (pLayout) pLayout->SetPosSizePixel(rPos, dynamic_cast<DialogWindow*>(pCurWin.get()) ? aSz : aOutSz); diff --git a/basctl/source/basicide/basidesh.cxx b/basctl/source/basicide/basidesh.cxx index 84d589e90bf3..06187922777f 100644 --- a/basctl/source/basicide/basidesh.cxx +++ b/basctl/source/basicide/basidesh.cxx @@ -187,8 +187,6 @@ void Shell::Init() bCreatingWindow = false; pTabBar.reset(VclPtr<TabBar>::Create(&GetViewFrame()->GetWindow())); - pTabBar->SetSplitHdl( LINK( this, Shell, TabBarSplitHdl ) ); - bTabBarSplitted = false; nCurKey = 100; InitScrollBars(); @@ -441,12 +439,6 @@ void Shell::OuterResizePixel( const Point &rPos, const Size &rSize ) } -IMPL_LINK_NOARG_TYPED( Shell, TabBarSplitHdl, ::TabBar *, void ) -{ - bTabBarSplitted = true; - ArrangeTabBar(); -} - IMPL_LINK_TYPED( Shell, TabBarHdl, ::TabBar *, pCurTabBar, void ) { sal_uInt16 nCurId = pCurTabBar->GetCurPageId(); @@ -477,25 +469,6 @@ bool Shell::NextPage( bool bPrev ) return bRet; } - - -void Shell::ArrangeTabBar() -{ - long nBoxPos = aScrollBarBox->GetPosPixel().X() - 1; - long nPos = pTabBar->GetSplitSize(); - if ( nPos <= nBoxPos ) - { - Point aPnt( pTabBar->GetPosPixel() ); - long nH = aHScrollBar->GetSizePixel().Height(); - pTabBar->SetPosSizePixel( aPnt, Size( nPos, nH ) ); - long nScrlStart = aPnt.X() + nPos; - aHScrollBar->SetPosSizePixel( Point( nScrlStart, aPnt.Y() ), Size( nBoxPos - nScrlStart + 2, nH ) ); - aHScrollBar->Update(); - } -} - - - ::svl::IUndoManager* Shell::GetUndoManager() { ::svl::IUndoManager* pMgr = nullptr; diff --git a/basctl/source/inc/basidesh.hxx b/basctl/source/inc/basidesh.hxx index 52446c968ced..6bf5f66e1827 100644 --- a/basctl/source/inc/basidesh.hxx +++ b/basctl/source/inc/basidesh.hxx @@ -75,7 +75,6 @@ private: VclPtr<ScrollBar> aVScrollBar; VclPtr<ScrollBarBox> aScrollBarBox; VclPtr<TabBar> pTabBar; // basctl::TabBar - bool bTabBarSplitted; bool bCreatingWindow; // layout windows VclPtr<ModulWindowLayout> pModulLayout; @@ -106,7 +105,6 @@ private: void ImplStartListening( StarBASIC* pBasic ); DECL_LINK_TYPED( TabBarHdl, ::TabBar*, void ); - DECL_LINK_TYPED( TabBarSplitHdl, ::TabBar *, void ); static unsigned nShellCount; @@ -118,7 +116,6 @@ private: void SetCurWindow (BaseWindow* pNewWin, bool bUpdateTabBar = false, bool bRememberAsCurrent = true); void ManageToolbars(); - void ArrangeTabBar(); VclPtr<ModulWindow> CreateBasWin( const ScriptDocument& rDocument, const OUString& rLibName, const OUString& rModName ); VclPtr<DialogWindow> CreateDlgWin( const ScriptDocument& rDocument, const OUString& rLibName, const OUString& rDlgName ); |