diff options
author | Caolán McNamara <caolanm@redhat.com> | 2016-01-29 14:43:16 +0000 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2016-01-31 09:54:12 +0000 |
commit | be859c9484fc984ca0ae5192cac6008af9897154 (patch) | |
tree | 5315ad37492b685990ad810913ffad2500881e53 /sc | |
parent | 24236beda2baed7ef967d9806ec1efb1985691fd (diff) |
function list is always in the sidebar now
so its always just left/right aligned
Change-Id: I17ecfbb45891b79f20621cf195b3080496a8180b
Reviewed-on: https://gerrit.libreoffice.org/21940
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'sc')
-rw-r--r-- | sc/source/ui/formdlg/dwfunctr.cxx | 259 | ||||
-rw-r--r-- | sc/source/ui/inc/dwfunctr.hxx | 7 |
2 files changed, 28 insertions, 238 deletions
diff --git a/sc/source/ui/formdlg/dwfunctr.cxx b/sc/source/ui/formdlg/dwfunctr.cxx index a44b021bd237..2f1a84919da1 100644 --- a/sc/source/ui/formdlg/dwfunctr.cxx +++ b/sc/source/ui/formdlg/dwfunctr.cxx @@ -106,17 +106,11 @@ ScFunctionDockWin::ScFunctionDockWin( SfxBindings* pBindingsP, aIdle.SetPriority(SchedulerPriority::LOWER); aIdle.SetIdleHdl(LINK( this, ScFunctionDockWin, TimerHdl)); - if (pCW != nullptr) - eSfxNewAlignment=GetAlignment(); - else - eSfxNewAlignment=SfxChildAlignment::RIGHT; - eSfxOldAlignment=eSfxNewAlignment; aFiFuncDesc->SetUpdateMode(true); pAllFuncList=aFuncList; aDDFuncList->Disable(); aDDFuncList->Hide(); nArgs=0; - nDockMode=0; bSizeFlag=false; aCatBox->SetDropDownLineCount(9); vcl::Font aFont=aFiFuncDesc->GetFont(); @@ -149,7 +143,6 @@ ScFunctionDockWin::ScFunctionDockWin( SfxBindings* pBindingsP, GetOutputSizePixel().Height()-2*aTxtSize.Height()); aPrivatSplit->SetYRange(aYRange); SelHdl(*aCatBox.get()); - bInit = true; } /************************************************************************* @@ -249,66 +242,9 @@ void ScFunctionDockWin::UpdateLRUList() void ScFunctionDockWin::SetSize() { - sal_Int32 nSelEntry=0; - SfxChildAlignment aChildAlign=eSfxOldAlignment;//GetAlignment(); - short nNewDockMode; - switch(aChildAlign) - { - case SfxChildAlignment::HIGHESTTOP: - case SfxChildAlignment::TOP: - case SfxChildAlignment::LOWESTTOP: - case SfxChildAlignment::LOWESTBOTTOM: - case SfxChildAlignment::BOTTOM: - case SfxChildAlignment::TOOLBOXTOP: - case SfxChildAlignment::TOOLBOXBOTTOM: - - nNewDockMode=1; - if(nDockMode!=nNewDockMode) - { - nDockMode=nNewDockMode; - nSelEntry=aFuncList->GetSelectEntryPos(); - aFuncList->Clear(); - aFiFuncDesc->SetPosPixel(aFuncList->GetPosPixel()); - aDDFuncList->Enable(); - aDDFuncList->Show(); - aPrivatSplit->Disable(); - aPrivatSplit->Hide(); - aFuncList->Disable(); - aFuncList->Hide(); - pAllFuncList=aDDFuncList; - SelHdl(*aCatBox.get()); - aDDFuncList->SelectEntryPos(nSelEntry); - } - break; - - default: nNewDockMode=0; - if(nDockMode!=nNewDockMode) - { - nDockMode=nNewDockMode; - nSelEntry=aDDFuncList->GetSelectEntryPos(); - aDDFuncList->Clear(); - aDDFuncList->Disable(); - aDDFuncList->Hide(); - aPrivatSplit->Enable(); - aPrivatSplit->Show(); - aFuncList->Enable(); - aFuncList->Show(); - pAllFuncList=aFuncList; - SelHdl(*aCatBox.get()); - aFuncList->SelectEntryPos(nSelEntry); - } - break; - } - - if(nDockMode==0) - { - SetLeftRightSize(); - } - else - { - SetTopBottonSize(); - } + SetLeftRightSize(); } + /************************************************************************* #* Member: SetLeftRightSize #*------------------------------------------------------------------------ @@ -355,39 +291,6 @@ void ScFunctionDockWin::SetLeftRightSize() } } -/************************************************************************* -#* Member: SetTopBottonSize -#*------------------------------------------------------------------------ -#* -#* Klasse: ScFunctionDockWin -#* -#* Funktion: Groesse fuer die einzelnen Controls einzustellen. -#* wenn oben oder unten angedockt wird. -#* -#* Input: --- -#* -#* Output: --- -#* -#************************************************************************/ - -void ScFunctionDockWin::SetTopBottonSize() -{ - if(!bSizeFlag) - { - bSizeFlag = true; - Size aDiffSize=GetSizePixel(); - Size aNewSize=GetOutputSizePixel(); - aDiffSize.Width()-=aNewSize.Width(); - aDiffSize.Height()-=aNewSize.Height(); - - SetMyWidthToBo(aNewSize); - SetMyHeightToBo(aNewSize); - - aNewSize.Width()+=aDiffSize.Width(); - aNewSize.Height()+=aDiffSize.Height(); - bSizeFlag=false; - } -} /************************************************************************* #* Member: SetMyWidthLeRi @@ -476,76 +379,6 @@ void ScFunctionDockWin::SetMyHeightLeRi(Size &aNewSize) } /************************************************************************* -#* Member: SetMyWidthToBo -#*------------------------------------------------------------------------ -#* -#* Klasse: ScFunctionDockWin -#* -#* Funktion: Breite fuer die einzelnen Controls und -#* das Fenster einstellen, wenn oben oder -#* unten angedockt werden soll. -#* -#* Input: neue Fenstergroesse -#* -#* Output: --- -#* -#************************************************************************/ - -void ScFunctionDockWin::SetMyWidthToBo(Size &aNewSize) -{ - if((sal_uLong)aNewSize.Width()<nMinWidth) aNewSize.Width()=nMinWidth; - - Size aCDSize=aCatBox->GetSizePixel(); - Size aDdFLSize=aDDFuncList->GetSizePixel(); - Size aFDSize=aFiFuncDesc->GetSizePixel(); - - Point aCDTopLeft=aCatBox->GetPosPixel(); - Point aDdFLTopLeft=aDDFuncList->GetPosPixel(); - Point aFDTopLeft=aFiFuncDesc->GetPosPixel(); - - aCDSize.Width()=aDdFLTopLeft.X()-aFDTopLeft.X()-aCDTopLeft.X(); - aDdFLTopLeft.X()=aCDSize.Width()+aCDTopLeft.X()+aFDTopLeft.X(); - - aDdFLSize.Width()=aNewSize.Width()-aDdFLTopLeft.X()-aFDTopLeft.X(); - - aFDSize.Width()=aNewSize.Width()-2*aFDTopLeft.X(); - - aDDFuncList->SetPosPixel(aDdFLTopLeft); - aDDFuncList->SetSizePixel(aDdFLSize); - aCatBox->SetSizePixel(aCDSize); - aFiFuncDesc->SetSizePixel(aFDSize); -} - -/************************************************************************* -#* Member: SetHeight -#*------------------------------------------------------------------------ -#* -#* Klasse: ScFunctionDockWin -#* -#* Funktion: Hoehe fuer die einzelnen Controls und -#* das Fenster einstellen, wenn oben oder -#* unten angedockt werden soll. -#* -#* Input: neue Fenstergroesse -#* -#* Output: --- -#* -#************************************************************************/ - -void ScFunctionDockWin::SetMyHeightToBo(Size &aNewSize) -{ - if((sal_uLong)aNewSize.Height()<nMinHeight) aNewSize.Height()=nMinHeight; - - Size aFDSize=aFiFuncDesc->GetSizePixel(); - - Point aFDTopLeft=aFiFuncDesc->GetPosPixel(); - Point aCBTopLeft=aCatBox->GetPosPixel(); - aFDSize.Height()=aNewSize.Height()-aFDTopLeft.Y()-aCBTopLeft.Y(); - aFiFuncDesc->SetSizePixel(aFDSize); - -} - -/************************************************************************* #* Member: SetDescription #*------------------------------------------------------------------------ #* @@ -570,26 +403,9 @@ void ScFunctionDockWin::SetDescription() pDesc->initArgumentInfo(); // full argument info is needed OUStringBuffer aBuf(pAllFuncList->GetSelectEntry()); - if(nDockMode==0) - { - aBuf.append(":\n\n"); - } - else - { - aBuf.append(": "); - } - + aBuf.append(":\n\n"); aBuf.append(pDesc->GetParamList()); - - if(nDockMode==0) - { - aBuf.append("\n\n"); - } - else - { - aBuf.append("\n"); - } - + aBuf.append("\n\n"); aBuf.append(*pDesc->pFuncDesc); aFiFuncDesc->SetText(aBuf.makeStringAndClear()); @@ -649,55 +465,39 @@ bool ScFunctionDockWin::Close() #* Output: Das uebergebene Alignment #* #************************************************************************/ -SfxChildAlignment ScFunctionDockWin::CheckAlignment(SfxChildAlignment /* abla */, - SfxChildAlignment aChildAlign) +SfxChildAlignment ScFunctionDockWin::CheckAlignment( + SfxChildAlignment eCurrentAlignment, + SfxChildAlignment eRequestedAlignment) { OUString aString("ww"); Size aTxtSize( aFiFuncDesc->GetTextWidth(aString), aFiFuncDesc->GetTextHeight() ); - if(!bInit) - { - eSfxOldAlignment=eSfxNewAlignment; - eSfxNewAlignment=aChildAlign; - } - else - { - bInit=false; - eSfxOldAlignment=aChildAlign; - eSfxNewAlignment=aChildAlign; - } + Point aTopLeft=aCatBox->GetPosPixel(); + nMinWidth=aTxtSize.Width()+aTopLeft.X() +2*aFuncList->GetPosPixel().X(); + nMinHeight=19*aTxtSize.Height(); - switch(eSfxOldAlignment) + switch (eRequestedAlignment) { - case SfxChildAlignment::HIGHESTTOP: case SfxChildAlignment::TOP: + case SfxChildAlignment::HIGHESTTOP: case SfxChildAlignment::LOWESTTOP: - case SfxChildAlignment::LOWESTBOTTOM: case SfxChildAlignment::BOTTOM: - case SfxChildAlignment::TOOLBOXTOP: - case SfxChildAlignment::TOOLBOXBOTTOM: - - nMinWidth= 0; - nMinHeight=0; - - break; - - case SfxChildAlignment::NOALIGNMENT: - - aString = aCatBox->GetEntry(0); - aString += "www"; - aTxtSize = Size( aFiFuncDesc->GetTextWidth(aString), - aFiFuncDesc->GetTextHeight() ); - // fall-through - default: Point aTopLeft=aCatBox->GetPosPixel(); - nMinWidth=aTxtSize.Width()+aTopLeft.X() - +2*aFuncList->GetPosPixel().X(); - nMinHeight=19*aTxtSize.Height(); - - break; + case SfxChildAlignment::LOWESTBOTTOM: + case SfxChildAlignment::HIGHESTBOTTOM: + return eCurrentAlignment; + + case SfxChildAlignment::LEFT: + case SfxChildAlignment::RIGHT: + case SfxChildAlignment::FIRSTLEFT: + case SfxChildAlignment::LASTLEFT: + case SfxChildAlignment::FIRSTRIGHT: + case SfxChildAlignment::LASTRIGHT: + return eRequestedAlignment; + + default: + return eRequestedAlignment; } - - return aChildAlign; } + /************************************************************************* #* Member: Close #*------------------------------------------------------------------------ @@ -1001,9 +801,6 @@ void ScFunctionDockWin::ToggleFloatingMode() aSplitterInitPos = Point(); SfxDockingWindow::ToggleFloatingMode(); - eSfxNewAlignment=GetAlignment(); - eSfxOldAlignment=eSfxNewAlignment; - aOldSize.Height()=0; aOldSize.Width()=0; aIdle.Start(); @@ -1011,7 +808,7 @@ void ScFunctionDockWin::ToggleFloatingMode() IMPL_LINK_NOARG_TYPED(ScFunctionDockWin, TimerHdl, Idle *, void) { - CheckAlignment(eSfxOldAlignment,eSfxNewAlignment); + CheckAlignment(GetAlignment(), GetAlignment()); SetSize(); } diff --git a/sc/source/ui/inc/dwfunctr.hxx b/sc/source/ui/inc/dwfunctr.hxx index 4560fe243d03..4b907a5a8f53 100644 --- a/sc/source/ui/inc/dwfunctr.hxx +++ b/sc/source/ui/inc/dwfunctr.hxx @@ -53,16 +53,12 @@ private: VclPtr<ListBox> aDDFuncList; VclPtr<ListBox> pAllFuncList; - SfxChildAlignment eSfxNewAlignment; - SfxChildAlignment eSfxOldAlignment; VclPtr<ImageButton> aInsertButton; VclPtr<FixedText> aFiFuncDesc; sal_uLong nMinWidth; sal_uLong nMinHeight; Size aOldSize; bool bSizeFlag; - bool bInit; - short nDockMode; Point aSplitterInitPos; const ScFuncDesc* pFuncDesc; sal_uInt16 nArgs; @@ -74,11 +70,8 @@ private: void DoEnter(); void SetDescription(); void SetLeftRightSize(); - void SetTopBottonSize(); void SetMyWidthLeRi(Size &aNewSize); void SetMyHeightLeRi(Size &aNewSize); - void SetMyWidthToBo(Size &aNewSize); - void SetMyHeightToBo(Size &aNewSize); void UseSplitterInitPos(); DECL_LINK_TYPED( SetSelectionHdl, ListBox&, void ); |