summaryrefslogtreecommitdiff
path: root/sc/source/core/data/documen6.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'sc/source/core/data/documen6.cxx')
-rw-r--r--sc/source/core/data/documen6.cxx185
1 files changed, 0 insertions, 185 deletions
diff --git a/sc/source/core/data/documen6.cxx b/sc/source/core/data/documen6.cxx
deleted file mode 100644
index d96755de1..000000000
--- a/sc/source/core/data/documen6.cxx
+++ /dev/null
@@ -1,185 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * 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.
- *
- ************************************************************************/
-
-// MARKER(update_precomp.py): autogen include statement, do not remove
-#include "precompiled_sc.hxx"
-
-
-
-#include "scitems.hxx"
-#include <editeng/scripttypeitem.hxx>
-
-#include <com/sun/star/i18n/XBreakIterator.hpp>
-#include <com/sun/star/i18n/ScriptType.hpp>
-#include <com/sun/star/lang/XMultiServiceFactory.hpp>
-
-#include "document.hxx"
-#include "cell.hxx"
-#include "cellform.hxx"
-#include "patattr.hxx"
-#include "scrdata.hxx"
-#include "poolhelp.hxx"
-
-using namespace com::sun::star;
-
-#define SC_BREAKITER_SERVICE "com.sun.star.i18n.BreakIterator"
-
-//
-// this file is compiled with exceptions enabled
-// put functions here that need exceptions!
-//
-
-// -----------------------------------------------------------------------
-
-const uno::Reference< i18n::XBreakIterator >& ScDocument::GetBreakIterator()
-{
- if ( !pScriptTypeData )
- pScriptTypeData = new ScScriptTypeData;
- if ( !pScriptTypeData->xBreakIter.is() )
- {
- uno::Reference< uno::XInterface > xInterface = xServiceManager->createInstance(
- ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( SC_BREAKITER_SERVICE )) );
- pScriptTypeData->xBreakIter = uno::Reference< i18n::XBreakIterator >( xInterface, uno::UNO_QUERY );
- OSL_ENSURE( pScriptTypeData->xBreakIter.is(), "can't get BreakIterator" );
- }
- return pScriptTypeData->xBreakIter;
-}
-
-sal_Bool ScDocument::HasStringWeakCharacters( const String& rString )
-{
- if (rString.Len())
- {
- uno::Reference<i18n::XBreakIterator> xBreakIter = GetBreakIterator();
- if ( xBreakIter.is() )
- {
- rtl::OUString aText = rString;
- sal_Int32 nLen = aText.getLength();
-
- sal_Int32 nPos = 0;
- do
- {
- sal_Int16 nType = xBreakIter->getScriptType( aText, nPos );
- if ( nType == i18n::ScriptType::WEAK )
- return sal_True; // found
-
- nPos = xBreakIter->endOfScript( aText, nPos, nType );
- }
- while ( nPos >= 0 && nPos < nLen );
- }
- }
-
- return false; // none found
-}
-
-sal_uInt8 ScDocument::GetStringScriptType( const String& rString )
-{
-
- sal_uInt8 nRet = 0;
- if (rString.Len())
- {
- uno::Reference<i18n::XBreakIterator> xBreakIter = GetBreakIterator();
- if ( xBreakIter.is() )
- {
- rtl::OUString aText = rString;
- sal_Int32 nLen = aText.getLength();
-
- sal_Int32 nPos = 0;
- do
- {
- sal_Int16 nType = xBreakIter->getScriptType( aText, nPos );
- switch ( nType )
- {
- case i18n::ScriptType::LATIN:
- nRet |= SCRIPTTYPE_LATIN;
- break;
- case i18n::ScriptType::ASIAN:
- nRet |= SCRIPTTYPE_ASIAN;
- break;
- case i18n::ScriptType::COMPLEX:
- nRet |= SCRIPTTYPE_COMPLEX;
- break;
- // WEAK is ignored
- }
- nPos = xBreakIter->endOfScript( aText, nPos, nType );
- }
- while ( nPos >= 0 && nPos < nLen );
- }
- }
- return nRet;
-}
-
-sal_uInt8 ScDocument::GetCellScriptType( ScBaseCell* pCell, sal_uLong nNumberFormat )
-{
- if ( !pCell )
- return 0; // empty
-
- sal_uInt8 nStored = pCell->GetScriptType();
- if ( nStored != SC_SCRIPTTYPE_UNKNOWN ) // stored value valid?
- return nStored; // use stored value
-
- String aStr;
- Color* pColor;
- ScCellFormat::GetString( pCell, nNumberFormat, aStr, &pColor, *xPoolHelper->GetFormTable() );
-
- sal_uInt8 nRet = GetStringScriptType( aStr );
-
- pCell->SetScriptType( nRet ); // store for later calls
-
- return nRet;
-}
-
-sal_uInt8 ScDocument::GetScriptType( SCCOL nCol, SCROW nRow, SCTAB nTab, ScBaseCell* pCell )
-{
- // if cell is not passed, take from document
-
- if (!pCell)
- {
- pCell = GetCell( ScAddress( nCol, nRow, nTab ) );
- if ( !pCell )
- return 0; // empty
- }
-
- // if script type is set, don't have to get number formats
-
- sal_uInt8 nStored = pCell->GetScriptType();
- if ( nStored != SC_SCRIPTTYPE_UNKNOWN ) // stored value valid?
- return nStored; // use stored value
-
- // include number formats from conditional formatting
-
- const ScPatternAttr* pPattern = GetPattern( nCol, nRow, nTab );
- if (!pPattern) return 0;
- const SfxItemSet* pCondSet = NULL;
- if ( ((const SfxUInt32Item&)pPattern->GetItem(ATTR_CONDITIONAL)).GetValue() )
- pCondSet = GetCondResult( nCol, nRow, nTab );
-
- sal_uLong nFormat = pPattern->GetNumberFormat( xPoolHelper->GetFormTable(), pCondSet );
- return GetCellScriptType( pCell, nFormat );
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */