From ed5640d8b587fbcfed7dd7967f3de04b37a76f26 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 7 Apr 2024 11:06:44 +0200 Subject: Adding upstream version 4:7.4.7. Signed-off-by: Daniel Baumann --- lotuswordpro/source/filter/xfilter/xfutil.cxx | 391 ++++++++++++++++++++++++++ 1 file changed, 391 insertions(+) create mode 100644 lotuswordpro/source/filter/xfilter/xfutil.cxx (limited to 'lotuswordpro/source/filter/xfilter/xfutil.cxx') diff --git a/lotuswordpro/source/filter/xfilter/xfutil.cxx b/lotuswordpro/source/filter/xfilter/xfutil.cxx new file mode 100644 index 000000000..dd212b21a --- /dev/null +++ b/lotuswordpro/source/filter/xfilter/xfutil.cxx @@ -0,0 +1,391 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/************************************************************************* + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: IBM Corporation + * + * Copyright: 2008 by IBM Corporation + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ +/************************************************************************* + * @file + * Util functions for xml filter. + ************************************************************************/ +#include + +OUString GetTableColName(sal_Int32 col) +{ + int remain = 0; + char ch; + std::string strOut; + + if( col <= 26 ) + { + ch = 'A' + col -1; + strOut += ch; + return OUString::createFromAscii(strOut.c_str()); + } + + while( col>26 ) + { + remain = col%26; + col = col/26; + ch = 'A' + remain -1; + strOut += ch; + } + + ch = 'A' + remain -1; + strOut += ch; + return OUString::createFromAscii(strOut.c_str()); +} + +//tool functions: +OUString GetUnderlineName(enumXFUnderline type) +{ + switch(type) + { + case enumXFUnderlineNone: + return "none"; + case enumXFUnderlineSingle: + return "single"; + case enumXFUnderlineDouble: + return "double"; + case enumXFUnderlineDotted: + return "dotted"; + case enumXFUnderlineDash: + return "dash"; + case enumXFUnderlineLongDash: + return "long-dash"; + case enumXFUnderlineDotDash: + return "dot-dash"; + case enumXFUnderlineDotDotDash: + return "dot-dot-dash"; + case enumXFUnderlineWave: + return "wave"; + case enumXFUnderlineBold: + return "bold"; + case enumXFUnderlineBoldDotted: + return "bold-dotted"; + case enumXFUnderlineBoldDash: + return "bold-dash"; + case enumXFUnderlineBoldLongDash: + return "bold-long-dash"; + case enumXFUnderlineBoldDotDash: + return "bold-dot-dash"; + case enumXFUnderlineBoldDotDotDash: + return "bold-dot-dot-dash"; + case enumXFUnderlineBoldWave: + return "bold-wave"; + case enumXFUnderlineDoubleWave: + return "double-wave"; + case enumXFUnderlineSmallWave: + return "small-wave"; + } + return OUString(); +} + +OUString GetCrossoutName(enumXFCrossout type) +{ + switch(type) + { + case enumXFCrossoutSignel: + return "single-line"; + case enumXFCrossoutDouble: + return "double-line"; + case enumXFCrossoutThick: + return "thick-line"; + case enumXFCrossoutSlash: + return "slash"; + case enumXFCrossoutX: + return "X"; + default: + break; + } + return OUString(); +} + +OUString GetTransformName(enumXFTransform type) +{ + switch(type) { + case enumXFTransformUpper: + return "uppercase"; + case enumXFTransformLower: + return "lowercase"; + case enumXFTransformCapitalize: + return "capitalize"; + case enumXFTransformSmallCaps: + return "small-caps"; + default: + break; + } + return OUString(); +} + +OUString GetTextDirName(enumXFTextDir dir) +{ + switch(dir) + { + case enumXFTextDirLR: + return "lr"; + case enumXFTextDirLR_TB: + return "lr-tb"; + case enumXFTextDirPage: + return "page"; + case enumXFTextDirRL: + return "rl"; + case enumXFTextDirRL_TB: + return "rl-tb"; + case enumXFTextDirTB: + return "tb"; + case enumXFTextDirTB_LR: + return "tb-lr"; + case enumXFTextDirTB_RL: + return "tb-rl"; + default: + break; + } + return OUString(); +} + +OUString GetFrameXPos(enumXFFrameXPos pos) +{ + switch(pos) + { + case enumXFFrameXPosLeft: + return "left"; + case enumXFFrameXPosRight: + return "right"; + case enumXFFrameXPosCenter: + return "center"; + case enumXFFrameXPosFromLeft: + return "from-left"; + default: + break; + } + return OUString(); +} + +OUString GetFrameXRel(enumXFFrameXRel rel) +{ + switch(rel) + { + case enumXFFrameXRelPage: + return "page"; + case enumXFFrameXRelPageContent: + return "page-content"; + case enumXFFrameXRelPageEndMargin: + return "page-end-margin"; + case enumXFFrameXRelPageStartMargin: + return "page-start-margin"; + case enumXFFrameXRelPara: + return "paragraph"; + case enumXFFrameXRelParaContent: + return "paragraph-content"; + case enumXFFrameXRelParaEndMargin: + return "paragraph-end-margin"; + case enumXFFrameXRelParaStartMargin: + return "paragraph-start-margin"; + case enumXFFrameXRelChar: + return "char"; + case enumXFFrameXRelFrame: + return "frame"; + case enumXFFrameXRelFrameContent: + return "frame-content"; + case enumXFFrameXRelFrameEndMargin: + return "frame-end-margin"; + case enumXFFrameXRelFrameStartMargin: + return "frame-start-margin"; + default: + break; + } + return OUString(); +} + +OUString GetFrameYPos(enumXFFrameYPos pos) +{ + switch(pos) + { + case enumXFFrameYPosTop: + return "top"; + case enumXFFrameYPosMiddle: + return "middle"; + case enumXFFrameYPosBottom: + return "bottom"; + case enumXFFrameYPosFromTop: + return "from-top"; + case enumXFFrameYPosBelow: + return "below"; + } + return OUString(); +} + +OUString GetFrameYRel(enumXFFrameYRel rel) +{ + switch(rel) + { + case enumXFFrameYRelBaseLine: + return "baseline"; + case enumXFFrameYRelChar: + return "char"; + case enumXFFrameYRelFrame: + return "frame"; + case enumXFFrameYRelFrameContent: + return "frame-content"; + case enumXFFrameYRelLine: + return "line"; + case enumXFFrameYRelPage: + return "page"; + case enumXFFrameYRelPageContent: + return "page-content"; + case enumXFFrameYRelPara: + return "paragraph"; + case enumXFFrameYRelParaContent: + return "paragraph-content"; + case enumXFFrameYRelText: + return "text"; + } + return OUString(); +} + +OUString GetAlignName(enumXFAlignType align) +{ + if( align == enumXFAlignStart ) + return "start"; + else if( align == enumXFAlignCenter ) + return "center"; + else if( align == enumXFAlignEnd ) + return "end"; + else if( align == enumXFAlignJustify ) + return "justify"; + else if( align == enumXFAlignBottom ) + return "bottom"; + else if( align == enumXFAlignTop ) + return "top"; + else if( align == enumXFAlignMiddle ) + return "middle"; + else if( align == enumXFALignMargins ) + return "margins"; + + return OUString(); +} + +OUString GetPageUsageName(enumXFPageUsage usage) +{ + OUString sRet; + switch(usage) + { + case enumXFPageUsageAll: + sRet = "all"; + break; + case enumXFPageUsageLeft: + sRet = "left"; + break; + case enumXFPageUsageRight: + sRet = "right"; + break; + case enumXFPageUsageMirror: + sRet = "mirrored"; + break; + default: + sRet = "mirrored"; + break; + } + return sRet; +} + +OUString GetValueType(enumXFValueType type) +{ + OUString sRet; + switch(type) + { + case enumXFValueTypeBoolean: + sRet = "boolean"; + break; + case enumXFValueTypeCurrency: + sRet = "currency"; + break; + case enumXFValueTypeDate: + sRet = "date"; + break; + case enumXFValueTypeFloat: + sRet = "float"; + break; + case enumXFValueTypePercentage: + sRet = "percentage"; + break; + case enumXFValueTypeString: + sRet = "string"; + break; + case enumXFValueTypeTime: + sRet = "time"; + break; + default: + sRet = "mirrored"; + break; + } + return sRet; +} + +OUString GetColorMode(enumXFColorMode mode) +{ + switch(mode) + { + case enumXFColorStandard: + return "standard"; + case enumXFColorGreyscale: + return "greyscale"; + case enumXFColorWatermark: + return "watermark"; + case enumXFColorMono: + return "mono"; + } + return OUString(); +} + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ -- cgit v1.2.3