diff options
author | Michael Meeks <michael.meeks@suse.com> | 2012-11-30 12:23:25 +0000 |
---|---|---|
committer | Michael Meeks <michael.meeks@suse.com> | 2012-12-04 07:17:12 +0000 |
commit | 16155fdc39c004dc924a3b6919eb7c86da23c119 (patch) | |
tree | 830f6318bba8ffa50399b574b5a54810e5c69c03 /sc/source/ui/view/output2.cxx | |
parent | 68dad00d0d548f94ae943fa585eb614cb6714d66 (diff) |
re-base on ALv2 code. Includes:
Patches contributed by Herbert Duerr
i#118735 prevent endless loop if vlookup/hlookup doesn't find anything
http://svn.apache.org/viewvc?view=revision&revision=1239673
Patches contributed by Andre Fischer
remove lp_solver
http://svn.apache.org/viewvc?view=revision&revision=1199180
i#118160: Added external CoinMP library.
http://svn.apache.org/viewvc?view=revision&revision=1233909
Patches contributed by Armin Le-Grand
i#118485 - Styles for OLEs are not saved.
http://svn.apache.org/viewvc?view=revision&revision=1182166
i#118524: apply patch, followup fixes to 118485
http://svn.apache.org/viewvc?view=revision&revision=1186077
Patches contributed by lihuiibm
i#108860 - Fix range validation.
http://svn.apache.org/viewvc?view=revision&revision=1242846
i#118954 Chart data will lost after copy to different file
http://svn.apache.org/viewvc?view=revision&revision=1301345
Patches contributed by Ariel Constenla-Haile
Fix Linux build breaker: extra qualification on member
http://svn.apache.org/viewvc?view=revision&revision=1301591
i#118696 - i#118697 - Fix some Sheet Tab Color API issues
http://svn.apache.org/viewvc?view=revision&revision=1225428
i#118697 - Fix uninitialized variable
http://svn.apache.org/viewvc?view=revision&revision=1225859
i#118771 - ScUndoImportTab should preserve tab background color
http://svn.apache.org/viewvc?view=revision&revision=1230356
i#118921 - Repaint linked sheet tab background color after updating link
http://svn.apache.org/viewvc?view=revision&revision=1245177
i#118927 - Undo/Redo "Update Link" does not reset sheet tab color
http://svn.apache.org/viewvc?view=revision&revision=1245241
i#118747 - Copy tab color when transferring sheets across documents
http://svn.apache.org/viewvc?view=revision&revision=1230355
Patch contributed by Oliver Rainer-Wittman
i#118012 - methods <ScBroadcastAreaSlot::AreaBroadcast(..)> and
<ScBroadcastAreaSlot::AreaBroadcastInRange(..)> adapt stl-container
iteration in order to avoid destroyed iterators during iteration.
http://svn.apache.org/viewvc?view=revision&revision=1297916
Patches contributed by Mathias Bauer
gnumake4 work variously
http://svn.apache.org/viewvc?view=revision&revision=1394707
http://svn.apache.org/viewvc?view=revision&revision=1394326
http://svn.apache.org/viewvc?view=revision&revision=1396797
http://svn.apache.org/viewvc?view=revision&revision=1397315
Patch contributed by Daniel Rentz
calc69: #i116936# fix VBA symbol Cells
http://svn.apache.org/viewvc?view=revision&revision=1172135
Patches contributed by leiw:
i#118546 CPU 100% on switched off AutoCalculate with Conditional
Formatting on date values
http://svn.apache.org/viewvc?view=revision&revision=1301380
Re-add new function documentation. Many various cleanups.
Add missing calc66: #o11817313# also look at formula result
number format, remove redundant binaries.
Diffstat (limited to 'sc/source/ui/view/output2.cxx')
-rw-r--r-- | sc/source/ui/view/output2.cxx | 57 |
1 files changed, 32 insertions, 25 deletions
diff --git a/sc/source/ui/view/output2.cxx b/sc/source/ui/view/output2.cxx index ac6365c37b8b..5461fec2c0e0 100644 --- a/sc/source/ui/view/output2.cxx +++ b/sc/source/ui/view/output2.cxx @@ -1,35 +1,25 @@ /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* +/* + * This file is part of the LibreOffice project. * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. * - * Copyright 2000, 2010 Oracle and/or its affiliates. + * This file incorporates work covered by the following license notice: * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ #include "scitems.hxx" #include <editeng/eeitem.hxx> - #include <editeng/adjitem.hxx> #include <svx/algitem.hxx> #include <editeng/brshitem.hxx> @@ -155,6 +145,8 @@ public: const Size& GetTextSize() const { return aTextSize; } long GetOriginalWidth() const { return nOriginalWidth; } + sal_uLong GetResultValueFormat( const ScBaseCell* pCell ) const; + sal_uLong GetValueFormat() const { return nValueFormat; } sal_Bool GetLineBreak() const { return bLineBreak; } sal_Bool IsRepeat() const { return bRepeat; } @@ -609,7 +601,7 @@ void ScDrawStringsVars::SetTextToWidthOrHash( ScBaseCell* pCell, long nWidth ) } } - sal_uLong nFormat = GetValueFormat(); + sal_uLong nFormat = GetResultValueFormat(pCell); if ((nFormat % SV_COUNTRY_LANGUAGE_OFFSET) != 0) { // Not 'General' number format. Set hash text and bail out. @@ -796,6 +788,17 @@ sal_Bool ScDrawStringsVars::HasEditCharacters() const return aString.SearchChar( pChars ) != STRING_NOTFOUND; } +sal_uLong ScDrawStringsVars::GetResultValueFormat( const ScBaseCell* pCell ) const +{ + // Get the effective number format, including formula result types. + // This assumes that a formula cell has already been calculated. + + if ( (nValueFormat % SV_COUNTRY_LANGUAGE_OFFSET) == 0 && pCell && pCell->GetCellType() == CELLTYPE_FORMULA ) + return static_cast<const ScFormulaCell*>(pCell)->GetStandardFormat(*pOutput->mpDoc->GetFormatTable(), nValueFormat); + else + return nValueFormat; +} + //================================================================== double ScOutputData::GetStretch() @@ -1656,6 +1659,10 @@ void ScOutputData::DrawStrings( sal_Bool bPixelToLogic ) eOutHorJust = SVX_HOR_JUSTIFY_LEFT; // repeat is not yet implemented sal_Bool bBreak = ( aVars.GetLineBreak() || aVars.GetHorJust() == SVX_HOR_JUSTIFY_BLOCK ); + // #i111387# #o11817313# disable automatic line breaks only for "General" number format + if ( bBreak && bCellIsValue && ( aVars.GetResultValueFormat(pCell) % SV_COUNTRY_LANGUAGE_OFFSET ) == 0 ) + bBreak = sal_False; + sal_Bool bRepeat = aVars.IsRepeat() && !bBreak; sal_Bool bShrink = aVars.IsShrink() && !bBreak && !bRepeat; |