diff options
author | Jan Holesovsky <kendy@collabora.com> | 2015-11-10 09:04:29 +0100 |
---|---|---|
committer | Jan Holesovsky <kendy@collabora.com> | 2015-11-10 10:30:18 +0100 |
commit | 7ab1fb297253971a04c57bbe201e79a4d7df590d (patch) | |
tree | 3ba0f94484553ec2ac0b3ed57683accc429e060b /sc/source/ui | |
parent | 892ac9d1d477f2c9cb3805ee013e5bf4b4d11ede (diff) |
sc: mbIsMultiLine is always true.
Change-Id: Ib1c05164019d8a8b0ef723c4453f1d173fd890ef
Diffstat (limited to 'sc/source/ui')
-rw-r--r-- | sc/source/ui/app/inputhdl.cxx | 12 | ||||
-rw-r--r-- | sc/source/ui/app/inputwin.cxx | 201 | ||||
-rw-r--r-- | sc/source/ui/inc/inputwin.hxx | 4 |
3 files changed, 91 insertions, 126 deletions
diff --git a/sc/source/ui/app/inputhdl.cxx b/sc/source/ui/app/inputhdl.cxx index 56ccb3623d6a..f3d4eb95cb86 100644 --- a/sc/source/ui/app/inputhdl.cxx +++ b/sc/source/ui/app/inputhdl.cxx @@ -2071,11 +2071,7 @@ IMPL_LINK_NOARG_TYPED(ScInputHandler, ModifyHdl, LinkParamNone*, void) { // Update input line from ModifyHdl for changes that are not // wrapped by DataChanging/DataChanged calls (like Drag&Drop) - OUString aText; - if ( pInputWin->IsMultiLineInput() ) - aText = ScEditUtil::GetMultilineString(*pEngine); - else - aText = GetEditText(pEngine); + OUString aText(ScEditUtil::GetMultilineString(*pEngine)); lcl_RemoveTabs(aText); pInputWin->SetTextString(aText); } @@ -2127,7 +2123,7 @@ void ScInputHandler::DataChanged( bool bFromTopNotify, bool bSetModified ) if (eMode==SC_INPUT_TYPE || eMode==SC_INPUT_TABLE) { OUString aText; - if ( pInputWin && pInputWin->IsMultiLineInput() ) + if (pInputWin) aText = ScEditUtil::GetMultilineString(*pEngine); else aText = GetEditText(pEngine); @@ -3041,7 +3037,7 @@ bool ScInputHandler::KeyInput( const KeyEvent& rKEvt, bool bStartEdit /* = false switch ( nCode ) { case KEY_RETURN: - if (bControl && !bShift && ( !bInputLine || ( pInputWin && pInputWin->IsMultiLineInput() ) ) ) + if (bControl && !bShift && (!bInputLine || pInputWin)) bDoEnter = true; else if (nModi == 0 && nTipVisible && pFormulaData && miAutoPosFormula != pFormulaData->end()) { @@ -3454,7 +3450,7 @@ void ScInputHandler::NotifyChange( const ScInputHdlState* pState, if (pData) { pEngine->SetText( *pData ); - if ( pInputWin && pInputWin->IsMultiLineInput() ) + if (pInputWin) aString = ScEditUtil::GetMultilineString(*pEngine); else aString = GetEditText(pEngine); diff --git a/sc/source/ui/app/inputwin.cxx b/sc/source/ui/app/inputwin.cxx index b2621a3e07ad..d880c974491d 100644 --- a/sc/source/ui/app/inputwin.cxx +++ b/sc/source/ui/app/inputwin.cxx @@ -144,12 +144,6 @@ SfxChildWinInfo ScInputWindowWrapper::GetInfo() const } #define IMAGE(id) pImgMgr->SeekImage(id) -static inline bool lcl_isExperimentalMode() -{ - // make inputbar feature on by default, leave the switch for the - // moment in case we need to back it out easily - return true; -} // class ScInputWindow @@ -164,8 +158,6 @@ static VclPtr<ScTextWndBase> lcl_chooseRuntimeImpl( vcl::Window* pParent, SfxBin pViewSh = dynamic_cast<ScTabViewShell*>( pViewFrm->GetViewShell() ); } - if ( !lcl_isExperimentalMode() ) - return VclPtr<ScTextWnd>::Create( pParent, pViewSh ); return VclPtr<ScInputBarGroup>::Create( pParent, pViewSh ); } @@ -182,8 +174,7 @@ ScInputWindow::ScInputWindow( vcl::Window* pParent, SfxBindings* pBind ) : aTextEqual ( ScResId( SCSTR_QHELP_BTNEQUAL ) ), mnMaxY (0), bIsOkCancelMode ( false ), - bInResize ( false ), - mbIsMultiLine ( lcl_isExperimentalMode() ) + bInResize ( false ) { ScModule* pScMod = SC_MOD(); SfxImageManager* pImgMgr = SfxImageManager::GetImageManager(*pScMod); @@ -571,37 +562,24 @@ void ScInputWindow::Paint(vcl::RenderContext& rRenderContext, const Rectangle& r void ScInputWindow::Resize() { ToolBox::Resize(); - if ( mbIsMultiLine ) - { - aTextWindow.Resize(); - Size aSize = GetSizePixel(); - aSize.Height() = CalcWindowSizePixel().Height() + ADDITIONAL_BORDER; - ScInputBarGroup* pGroupBar = dynamic_cast< ScInputBarGroup* > ( pRuntimeWindow.get() ); - if ( pGroupBar ) - { - // To ensure smooth display and prevent the items in the toolbar being - // repositioned ( vertically ) we lock the vertical positioning of the toolbox - // items when we are displaying > 1 line. - // So, we need to adjust the height of the toolbox accordingly. If we don't - // then the largest item ( e.g. the GroupBar window ) will actually be - // positioned such that the toolbar will cut off the bottom of that item - if ( pGroupBar->GetNumLines() > 1 ) - aSize.Height() += pGroupBar->GetVertOffset() + ADDITIONAL_SPACE; - } - SetSizePixel(aSize); - Invalidate(); - } - else - { - long nWidth = GetSizePixel().Width(); - long nLeft = aTextWindow.GetPosPixel().X(); - Size aSize = aTextWindow.GetSizePixel(); - - aSize.Width() = std::max( ((long)(nWidth - nLeft - 5)), (long)0 ); - aTextWindow.SetSizePixel( aSize ); - aTextWindow.Invalidate(); + aTextWindow.Resize(); + Size aSize = GetSizePixel(); + aSize.Height() = CalcWindowSizePixel().Height() + ADDITIONAL_BORDER; + ScInputBarGroup* pGroupBar = dynamic_cast<ScInputBarGroup*>(pRuntimeWindow.get()); + if (pGroupBar) + { + // To ensure smooth display and prevent the items in the toolbar being + // repositioned ( vertically ) we lock the vertical positioning of the toolbox + // items when we are displaying > 1 line. + // So, we need to adjust the height of the toolbox accordingly. If we don't + // then the largest item ( e.g. the GroupBar window ) will actually be + // positioned such that the toolbar will cut off the bottom of that item + if (pGroupBar->GetNumLines() > 1) + aSize.Height() += pGroupBar->GetVertOffset() + ADDITIONAL_SPACE; } + SetSizePixel(aSize); + Invalidate(); } void ScInputWindow::SetFuncString( const OUString& rString, bool bDoEdit ) @@ -821,86 +799,80 @@ bool ScInputWindow::IsPointerAtResizePos() void ScInputWindow::MouseMove( const MouseEvent& rMEvt ) { - if ( mbIsMultiLine ) - { - Point aPosPixel = GetPointerPosPixel(); + Point aPosPixel = GetPointerPosPixel(); - ScInputBarGroup* pGroupBar = dynamic_cast< ScInputBarGroup* > ( pRuntimeWindow.get() ); + ScInputBarGroup* pGroupBar = dynamic_cast<ScInputBarGroup*>(pRuntimeWindow.get()); - if ( bInResize || IsPointerAtResizePos() ) - SetPointer( Pointer( PointerStyle::WindowSSize ) ); - else - SetPointer( Pointer( PointerStyle::Arrow ) ); + if (bInResize || IsPointerAtResizePos()) + SetPointer(Pointer(PointerStyle::WindowSSize)); + else + SetPointer(Pointer(PointerStyle::Arrow)); - if ( bInResize ) - { - // detect direction - long nResizeThreshold = ( (long)TBX_WINDOW_HEIGHT * 0.7 ); - bool bResetPointerPos = false; + if (bInResize) + { + // detect direction + long nResizeThreshold = ((long)TBX_WINDOW_HEIGHT * 0.7); + bool bResetPointerPos = false; - // Detect attempt to expand toolbar too much - if ( aPosPixel.Y() >= mnMaxY ) - { - bResetPointerPos = true; - aPosPixel.Y() = mnMaxY; - } // or expanding down - else if ( GetOutputSizePixel().Height() - aPosPixel.Y() < -nResizeThreshold ) - { - pGroupBar->IncrementVerticalSize(); - bResetPointerPos = true; - } // or shrinking up - else if ( ( GetOutputSizePixel().Height() - aPosPixel.Y() ) > nResizeThreshold ) - { - bResetPointerPos = true; - pGroupBar->DecrementVerticalSize(); - } + // Detect attempt to expand toolbar too much + if (aPosPixel.Y() >= mnMaxY) + { + bResetPointerPos = true; + aPosPixel.Y() = mnMaxY; + } // or expanding down + else if (GetOutputSizePixel().Height() - aPosPixel.Y() < -nResizeThreshold) + { + pGroupBar->IncrementVerticalSize(); + bResetPointerPos = true; + } // or shrinking up + else if ((GetOutputSizePixel().Height() - aPosPixel.Y()) > nResizeThreshold) + { + bResetPointerPos = true; + pGroupBar->DecrementVerticalSize(); + } - if ( bResetPointerPos ) - { - aPosPixel.Y() = GetOutputSizePixel().Height(); - SetPointerPosPixel( aPosPixel ); - } + if (bResetPointerPos) + { + aPosPixel.Y() = GetOutputSizePixel().Height(); + SetPointerPosPixel(aPosPixel); } } - ToolBox::MouseMove( rMEvt ); + + ToolBox::MouseMove(rMEvt); } void ScInputWindow::MouseButtonDown( const MouseEvent& rMEvt ) { - if ( mbIsMultiLine ) + if (rMEvt.IsLeft()) { - if ( rMEvt.IsLeft() ) + if (IsPointerAtResizePos()) { - if ( IsPointerAtResizePos() ) - { - // Don't leave the mouse pointer leave *this* window - CaptureMouse(); - bInResize = true; - - // find the height of the gridwin, we don't wan't to be - // able to expand the toolbar too far so we need to - // calculate an upper limit - // I'd prefer to leave at least a single column header and a - // row but I don't know how to get that value in pixels. - // Use TBX_WINDOW_HEIGHT for the moment - ScTabViewShell* pViewSh = ScTabViewShell::GetActiveViewShell(); - mnMaxY = GetOutputSizePixel().Height() + ( pViewSh->GetGridHeight(SC_SPLIT_TOP) + pViewSh->GetGridHeight(SC_SPLIT_BOTTOM) ) - TBX_WINDOW_HEIGHT; - } + // Don't leave the mouse pointer leave *this* window + CaptureMouse(); + bInResize = true; + + // find the height of the gridwin, we don't wan't to be + // able to expand the toolbar too far so we need to + // calculate an upper limit + // I'd prefer to leave at least a single column header and a + // row but I don't know how to get that value in pixels. + // Use TBX_WINDOW_HEIGHT for the moment + ScTabViewShell* pViewSh = ScTabViewShell::GetActiveViewShell(); + mnMaxY = GetOutputSizePixel().Height() + (pViewSh->GetGridHeight(SC_SPLIT_TOP) + pViewSh->GetGridHeight(SC_SPLIT_BOTTOM)) - TBX_WINDOW_HEIGHT; } } + ToolBox::MouseButtonDown( rMEvt ); } void ScInputWindow::MouseButtonUp( const MouseEvent& rMEvt ) { - if ( mbIsMultiLine ) + ReleaseMouse(); + if ( rMEvt.IsLeft() ) { - ReleaseMouse(); - if ( rMEvt.IsLeft() ) - { - bInResize = false; - mnMaxY = 0; - } + bInResize = false; + mnMaxY = 0; } + ToolBox::MouseButtonUp( rMEvt ); } @@ -911,21 +883,21 @@ ScInputBarGroup::ScInputBarGroup(vcl::Window* pParent, ScTabViewShell* pViewSh) aScrollBar ( VclPtr<ScrollBar>::Create(this, WB_TABSTOP | WB_VERT | WB_DRAG) ), nVertOffset ( 0 ) { - aMultiTextWnd->Show(); - aMultiTextWnd->SetQuickHelpText( ScResId( SCSTR_QHELP_INPUTWND ) ); - aMultiTextWnd->SetHelpId( HID_INSWIN_INPUT ); + aMultiTextWnd->Show(); + aMultiTextWnd->SetQuickHelpText(ScResId(SCSTR_QHELP_INPUTWND)); + aMultiTextWnd->SetHelpId(HID_INSWIN_INPUT); - Size aSize( GetSettings().GetStyleSettings().GetScrollBarSize(), aMultiTextWnd->GetPixelHeightForLines(1) ); + Size aSize(GetSettings().GetStyleSettings().GetScrollBarSize(), aMultiTextWnd->GetPixelHeightForLines(1)); - aButton->SetClickHdl( LINK( this, ScInputBarGroup, ClickHdl ) ); - aButton->SetSizePixel( aSize ); - aButton->Enable(); - aButton->SetSymbol( SymbolType::SPIN_DOWN ); - aButton->SetQuickHelpText( ScResId( SCSTR_QHELP_EXPAND_FORMULA ) ); - aButton->Show(); + aButton->SetClickHdl(LINK(this, ScInputBarGroup, ClickHdl)); + aButton->SetSizePixel(aSize); + aButton->Enable(); + aButton->SetSymbol(SymbolType::SPIN_DOWN); + aButton->SetQuickHelpText(ScResId(SCSTR_QHELP_EXPAND_FORMULA)); + aButton->Show(); - aScrollBar->SetSizePixel( aSize ); - aScrollBar->SetScrollHdl( LINK( this, ScInputBarGroup, Impl_ScrollHdl ) ); + aScrollBar->SetSizePixel(aSize); + aScrollBar->SetScrollHdl(LINK(this, ScInputBarGroup, Impl_ScrollHdl)); } ScInputBarGroup::~ScInputBarGroup() @@ -941,20 +913,17 @@ void ScInputBarGroup::dispose() ScTextWndBase::dispose(); } -void -ScInputBarGroup::InsertAccessibleTextData( ScAccessibleEditLineTextData& rTextData ) +void ScInputBarGroup::InsertAccessibleTextData( ScAccessibleEditLineTextData& rTextData ) { aMultiTextWnd->InsertAccessibleTextData( rTextData ); } -void -ScInputBarGroup::RemoveAccessibleTextData( ScAccessibleEditLineTextData& rTextData ) +void ScInputBarGroup::RemoveAccessibleTextData( ScAccessibleEditLineTextData& rTextData ) { aMultiTextWnd->RemoveAccessibleTextData( rTextData ); } -const OUString& -ScInputBarGroup::GetTextString() const +const OUString& ScInputBarGroup::GetTextString() const { return aMultiTextWnd->GetTextString(); } diff --git a/sc/source/ui/inc/inputwin.hxx b/sc/source/ui/inc/inputwin.hxx index d9763a1ca35f..ddd6866a3a62 100644 --- a/sc/source/ui/inc/inputwin.hxx +++ b/sc/source/ui/inc/inputwin.hxx @@ -275,13 +275,14 @@ public: virtual void MouseButtonUp( const MouseEvent& rMEvt ) override; virtual void MouseButtonDown( const MouseEvent& rMEvt ) override; virtual void MouseMove( const MouseEvent& rMEvt ) override; - bool IsMultiLineInput() { return mbIsMultiLine; } + protected: virtual void SetText( const OUString& rString ) override; virtual OUString GetText() const override; static bool UseSubTotal( ScRangeList* pRangeList ); bool IsPointerAtResizePos(); + private: VclPtr<ScPosWnd> aWndPos; VclPtr<ScTextWndBase> pRuntimeWindow; @@ -294,7 +295,6 @@ private: long mnMaxY; bool bIsOkCancelMode; bool bInResize; - bool mbIsMultiLine; }; class ScInputWindowWrapper : public SfxChildWindow |