LCOV - code coverage report
Current view: top level - lotuswordpro/source/filter/xfilter - xfutil.cxx (source / functions) Hit Total Coverage
Test: commit c8344322a7af75b84dd3ca8f78b05543a976dfd5 Lines: 44 197 22.3 %
Date: 2015-06-13 12:38:46 Functions: 9 17 52.9 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
       2             : /*************************************************************************
       3             :  *
       4             :  *  The Contents of this file are made available subject to the terms of
       5             :  *  either of the following licenses
       6             :  *
       7             :  *         - GNU Lesser General Public License Version 2.1
       8             :  *         - Sun Industry Standards Source License Version 1.1
       9             :  *
      10             :  *  Sun Microsystems Inc., October, 2000
      11             :  *
      12             :  *  GNU Lesser General Public License Version 2.1
      13             :  *  =============================================
      14             :  *  Copyright 2000 by Sun Microsystems, Inc.
      15             :  *  901 San Antonio Road, Palo Alto, CA 94303, USA
      16             :  *
      17             :  *  This library is free software; you can redistribute it and/or
      18             :  *  modify it under the terms of the GNU Lesser General Public
      19             :  *  License version 2.1, as published by the Free Software Foundation.
      20             :  *
      21             :  *  This library is distributed in the hope that it will be useful,
      22             :  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
      23             :  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
      24             :  *  Lesser General Public License for more details.
      25             :  *
      26             :  *  You should have received a copy of the GNU Lesser General Public
      27             :  *  License along with this library; if not, write to the Free Software
      28             :  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston,
      29             :  *  MA  02111-1307  USA
      30             :  *
      31             :  *
      32             :  *  Sun Industry Standards Source License Version 1.1
      33             :  *  =================================================
      34             :  *  The contents of this file are subject to the Sun Industry Standards
      35             :  *  Source License Version 1.1 (the "License"); You may not use this file
      36             :  *  except in compliance with the License. You may obtain a copy of the
      37             :  *  License at http://www.openoffice.org/license.html.
      38             :  *
      39             :  *  Software provided under this License is provided on an "AS IS" basis,
      40             :  *  WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
      41             :  *  WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
      42             :  *  MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
      43             :  *  See the License for the specific provisions governing your rights and
      44             :  *  obligations concerning the Software.
      45             :  *
      46             :  *  The Initial Developer of the Original Code is: IBM Corporation
      47             :  *
      48             :  *  Copyright: 2008 by IBM Corporation
      49             :  *
      50             :  *  All Rights Reserved.
      51             :  *
      52             :  *  Contributor(s): _______________________________________
      53             :  *
      54             :  *
      55             :  ************************************************************************/
      56             : /*************************************************************************
      57             :  * @file
      58             :  * Util functions for xml filter.
      59             :  ************************************************************************/
      60             : #include "xfutil.hxx"
      61             : #include "xfparagraph.hxx"
      62             : #include "xfcontentcontainer.hxx"
      63             : #include <rtl/ustrbuf.hxx>
      64             : #include <sstream>
      65             : 
      66           0 : OUString   DateTimeToOUString(XFDateTime& dt)
      67             : {
      68           0 :     OUString aResult = OUString::number(dt.nYear) + "-" + OUString::number(dt.nMonth) + "-" + OUString::number(dt.nDay) +
      69           0 :         "T" + OUString::number(dt.nHour) + ":" + OUString::number(dt.nMinute) + ":" + OUString::number(dt.nSecond) + "." +
      70           0 :         OUString::number(dt.nMillSecond);
      71             : 
      72           0 :     return aResult;
      73             : }
      74             : 
      75           0 : OUString   GetTableColName(sal_Int32 col)
      76             : {
      77           0 :     int     remain = 0;
      78             :     char    ch;
      79           0 :     std::string strOut;
      80             : 
      81           0 :     if( col <= 26 )
      82             :     {
      83           0 :         ch = 'A' + col -1;
      84           0 :         strOut += ch;
      85           0 :         return OUString::createFromAscii(strOut.c_str());
      86             :     }
      87             : 
      88           0 :     while( col>26 )
      89             :     {
      90           0 :         remain = col%26;
      91           0 :         col = col/26;
      92           0 :         ch = 'A' + remain -1;
      93           0 :         strOut += ch;
      94             :     }
      95             : 
      96           0 :     ch = 'A' + remain -1;
      97           0 :     strOut += ch;
      98           0 :     return OUString::createFromAscii(strOut.c_str());
      99             : }
     100             : 
     101             : //tool functions:
     102           1 : OUString   GetUnderlineName(enumXFUnderline type)
     103             : {
     104           1 :     switch(type)
     105             :     {
     106             :     case enumXFUnderlineNone:
     107           0 :         return OUString("none");
     108             :         break;
     109             :     case enumXFUnderlineSingle:
     110           1 :         return OUString("single");
     111             :         break;
     112             :     case enumXFUnderlineDouble:
     113           0 :         return OUString("double");
     114             :         break;
     115             :     case enumXFUnderlineDotted:
     116           0 :         return OUString("dotted");
     117             :         break;
     118             :     case enumXFUnderlineDash:
     119           0 :         return OUString("dash");
     120             :         break;
     121             :     case enumXFUnderlineLongDash:
     122           0 :         return OUString("long-dash");
     123             :         break;
     124             :     case enumXFUnderlineDotDash:
     125           0 :         return OUString("dot-dash");
     126             :         break;
     127             :     case enumXFUnderlineDotDotDash:
     128           0 :         return OUString("dot-dot-dash");
     129             :         break;
     130             :     case enumXFUnderlineWave:
     131           0 :         return OUString("wave");
     132             :         break;
     133             :     case enumXFUnderlineBold:
     134           0 :         return OUString("bold");
     135             :         break;
     136             :     case enumXFUnderlineBoldDotted:
     137           0 :         return OUString("bold-dotted");
     138             :         break;
     139             :     case enumXFUnderlineBoldDash:
     140           0 :         return OUString("bold-dash");
     141             :         break;
     142             :     case enumXFUnderlineBoldLongDash:
     143           0 :         return OUString("bold-long-dash");
     144             :         break;
     145             :     case enumXFUnderlineBoldDotDash:
     146           0 :         return OUString("bold-dot-dash");
     147             :         break;
     148             :     case enumXFUnderlineBoldDotDotDash:
     149           0 :         return OUString("bold-dot-dot-dash");
     150             :         break;
     151             :     case enumXFUnderlineBoldWave:
     152           0 :         return OUString("bold-wave");
     153             :         break;
     154             :     case enumXFUnderlineDoubleWave:
     155           0 :         return OUString("double-wave");
     156             :         break;
     157             :     case enumXFUnderlineSmallWave:
     158           0 :         return OUString("samll-wave");
     159             :         break;
     160             :     }
     161           0 :     return OUString("");
     162             : }
     163             : 
     164           0 : OUString   GetReliefName(enumXFRelief type)
     165             : {
     166           0 :     switch(type)
     167             :     {
     168             :         case enumXFReliefEngraved:
     169           0 :             return OUString("engraved");
     170             :             break;
     171             :         case enumXFReliefEmbossed:
     172           0 :             return OUString("embossed");
     173             :             break;
     174             :         default:
     175           0 :             break;
     176             :     }
     177           0 :     return OUString("");
     178             : }
     179             : 
     180           1 : OUString   GetCrossoutName(enumXFCrossout type)
     181             : {
     182           1 :     switch(type)
     183             :     {
     184             :     case enumXFCrossoutSignel:
     185           1 :         return OUString("single-line");
     186             :         break;
     187             :     case enumXFCrossoutDouble:
     188           0 :         return OUString("double-line");
     189             :         break;
     190             :     case enumXFCrossoutThick:
     191           0 :         return OUString("thick-line");
     192             :         break;
     193             :     case enumXFCrossoutSlash:
     194           0 :         return OUString("slash");
     195             :         break;
     196             :     case enumXFCrossoutX:
     197           0 :         return OUString("X");
     198             :         break;
     199             :     default:
     200           0 :         break;
     201             :     }
     202           0 :     return OUString("");
     203             : }
     204             : 
     205           0 : OUString   GetTransformName(enumXFTransform type)
     206             : {
     207           0 :     switch(type) {
     208             :     case enumXFTransformUpper:
     209           0 :         return OUString("uppercase");
     210             :         break;
     211             :     case enumXFTransformLower:
     212           0 :         return OUString("lowercase");
     213             :         break;
     214             :     case enumXFTransformCapitalize:
     215           0 :         return OUString("capitalize");
     216             :         break;
     217             :     case enumXFTransformSmallCaps:
     218           0 :         return OUString("small-caps");
     219             :         break;
     220             :     default:
     221           0 :         break;
     222             :     }
     223           0 :     return OUString("");
     224             : }
     225             : 
     226           0 : OUString   GetEmphasizeName(enumXFEmphasize type)
     227             : {
     228           0 :     switch(type) {
     229             :     case enumXFEmphasizeDot:
     230           0 :         return OUString("dot");
     231             :         break;
     232             :     case enumXFEmphasizeCircle:
     233           0 :         return OUString("circle");
     234             :         break;
     235             :     case enumXFEmphasizeDisc:
     236           0 :         return OUString("disc");
     237             :         break;
     238             :     case enumXFEmphasizeAccent:
     239           0 :         return OUString("accent");
     240             :         break;
     241             :     default:
     242           0 :         break;
     243             :     }
     244           0 :     return OUString("");
     245             : }
     246             : 
     247          19 : OUString   GetTextDirName(enumXFTextDir dir)
     248             : {
     249          19 :     switch(dir)
     250             :     {
     251             :     case enumXFTextDirLR:
     252           0 :         return OUString("lr");
     253             :         break;
     254             :     case enumXFTextDirLR_TB:
     255          19 :         return OUString("lr-tb");
     256             :         break;
     257             :     case enumXFTextDirPage:
     258           0 :         return OUString("page");
     259             :         break;
     260             :     case enumXFTextDirRL:
     261           0 :         return OUString("rl");
     262             :         break;
     263             :     case enumXFTextDirRL_TB:
     264           0 :         return OUString("rl-tb");
     265             :         break;
     266             :     case enumXFTextDirTB:
     267           0 :         return OUString("tb");
     268             :         break;
     269             :     case enumXFTextDirTB_LR:
     270           0 :         return OUString("tb-lr");
     271             :         break;
     272             :     case enumXFTextDirTB_RL:
     273           0 :         return OUString("tb-rl");
     274             :         break;
     275             :     default:
     276           0 :         break;
     277             :     }
     278           0 :     return OUString("");
     279             : }
     280             : 
     281          17 : OUString   GetFrameXPos(enumXFFrameXPos pos)
     282             : {
     283          17 :     switch(pos)
     284             :     {
     285             :     case enumXFFrameXPosLeft:
     286           0 :         return OUString("left");
     287             :         break;
     288             :     case enumXFFrameXPosRight:
     289           0 :         return OUString("right");
     290             :         break;
     291             :     case enumXFFrameXPosCenter:
     292           2 :         return OUString("center");
     293             :         break;
     294             :     case enumXFFrameXPosFromLeft:
     295          15 :         return OUString("from-left");
     296             :         break;
     297             :     default:
     298           0 :         break;
     299             :     }
     300           0 :     return OUString("");
     301             : }
     302             : 
     303          17 : OUString   GetFrameXRel(enumXFFrameXRel rel)
     304             : {
     305          17 :     switch(rel)
     306             :     {
     307             :     case enumXFFrameXRelPage:
     308           5 :         return OUString("page");
     309             :         break;
     310             :     case enumXFFrameXRelPageContent:
     311           0 :         return OUString("page-content");
     312             :         break;
     313             :     case enumXFFrameXRelPageEndMargin:
     314           0 :         return OUString("page-end-margin");
     315             :         break;
     316             :     case enumXFFrameXRelPageStartMargin:
     317           0 :         return OUString("page-start-margin");
     318             :         break;
     319             :     case enumXFFrameXRelPara:
     320           0 :         return OUString("paragraph");
     321             :         break;
     322             :     case enumXFFrameXRelParaContent:
     323           8 :         return OUString("paragraph-content");
     324             :         break;
     325             :     case enumXFFrameXRelParaEndMargin:
     326           0 :         return OUString("paragraph-end-margin");
     327             :         break;
     328             :     case enumXFFrameXRelParaStartMargin:
     329           0 :         return OUString("paragraph-start-margin");
     330             :         break;
     331             :     case enumXFFrameXRelChar:
     332           0 :         return OUString("char");
     333             :         break;
     334             :     case enumXFFrameXRelFrame:
     335           4 :         return OUString("frame");
     336             :         break;
     337             :     case enumXFFrameXRelFrameContent:
     338           0 :         return OUString("frame-content");
     339             :         break;
     340             :     case enumXFFrameXRelFrameEndMargin:
     341           0 :         return OUString("frame-end-margin");
     342             :         break;
     343             :     case enumXFFrameXRelFrameStartMargin:
     344           0 :         return OUString("frame-start-margin");
     345             :         break;
     346             :     default:
     347           0 :         break;
     348             :     }
     349           0 :     return OUString("");
     350             : }
     351             : 
     352          17 : OUString   GetFrameYPos(enumXFFrameYPos pos)
     353             : {
     354          17 :     switch(pos)
     355             :     {
     356             :     case enumXFFrameYPosTop:
     357           0 :         return OUString("top");
     358             :     case enumXFFrameYPosMiddle:
     359           2 :         return OUString("middle");
     360             :     case enumXFFrameYPosBottom:
     361           8 :         return OUString("bottom");
     362             :     case enumXFFrameYPosFromTop:
     363           3 :         return OUString("from-top");
     364             :     case enumXFFrameYPosBelow:
     365           4 :         return OUString("below");
     366             :     }
     367           0 :     return OUString("");
     368             : }
     369             : 
     370          17 : OUString   GetFrameYRel(enumXFFrameYRel rel)
     371             : {
     372          17 :     switch(rel)
     373             :     {
     374             :     case enumXFFrameYRelBaseLine:
     375           0 :         return OUString("baseline");
     376             :     case enumXFFrameYRelChar:
     377           4 :         return OUString("char");
     378             :     case enumXFFrameYRelFrame:
     379           4 :         return OUString("frame");
     380             :     case enumXFFrameYRelFrameContent:
     381           0 :         return OUString("frame-content");
     382             :     case enumXFFrameYRelLine:
     383           0 :         return OUString("line");
     384             :     case enumXFFrameYRelPage:
     385           0 :         return OUString("page");
     386             :     case enumXFFrameYRelPageContent:
     387           0 :         return OUString("page-content");
     388             :     case enumXFFrameYRelPara:
     389           1 :         return OUString("paragraph");
     390             :     case enumXFFrameYRelParaContent:
     391           8 :         return OUString("paragraph-content");
     392             :     case enumXFFrameYRelText:
     393           0 :         return OUString("text");
     394             :     }
     395           0 :     return OUString("");
     396             : }
     397             : 
     398         170 : OUString   GetAlignName(enumXFAlignType align)
     399             : {
     400         170 :     if( align == enumXFAlignStart )
     401         133 :         return OUString("start");
     402          37 :     else if( align == enumXFAlignCenter )
     403          11 :         return OUString("center");
     404          26 :     else if( align == enumXFAlignEnd )
     405           4 :         return OUString("end");
     406          22 :     else if( align == enumXFAlignJustify )
     407           0 :         return OUString("justify");
     408          22 :     else if( align == enumXFAlignBottom )
     409           0 :         return OUString("bottom");
     410          22 :     else if( align == enumXFAlignTop )
     411          22 :         return OUString("top");
     412           0 :     else if( align == enumXFAlignMiddle )
     413           0 :         return OUString("middle");
     414           0 :     else if( align == enumXFALignMargins )
     415           0 :         return OUString("margins");
     416             : 
     417           0 :     return OUString("");
     418             : }
     419             : 
     420           0 : OUString   GetDrawKind(enumXFDrawKind kind)
     421             : {
     422           0 :     if( kind == enumXFDrawKindFull )
     423           0 :         return OUString("full");
     424           0 :     else if( kind == enumXFDrawKindSection )
     425           0 :         return OUString("section");
     426           0 :     else if( kind == enumXFDrawKindCut )
     427           0 :         return OUString("cut");
     428             :     else    //( kind == enumXFDrawKindArc )
     429           0 :         return OUString("arc");
     430             : }
     431             : 
     432           0 : OUString   GetPageUsageName(enumXFPageUsage usage)
     433             : {
     434           0 :     OUString sRet;
     435           0 :     switch(usage)
     436             :     {
     437             :     case enumXFPageUsageAll:
     438           0 :         sRet = "all";
     439           0 :         break;
     440             :     case enumXFPageUsageLeft:
     441           0 :         sRet = "left";
     442           0 :         break;
     443             :     case enumXFPageUsageRight:
     444           0 :         sRet = "right";
     445           0 :         break;
     446             :     case enumXFPageUsageMirror:
     447           0 :         sRet = "mirrored";
     448           0 :         break;
     449             :     default:
     450           0 :         sRet = "mirrored";
     451           0 :         break;
     452             :     }
     453           0 :     return sRet;
     454             : }
     455             : 
     456           0 : OUString   GetValueType(enumXFValueType type)
     457             : {
     458           0 :     OUString sRet;
     459           0 :     switch(type)
     460             :     {
     461             :     case enumXFValueTypeBoolean:
     462           0 :         sRet = "boolean";
     463           0 :         break;
     464             :     case enumXFValueTypeCurrency:
     465           0 :         sRet = "currency";
     466           0 :         break;
     467             :     case enumXFValueTypeDate:
     468           0 :         sRet = "date";
     469           0 :         break;
     470             :     case enumXFValueTypeFloat:
     471           0 :         sRet = "float";
     472           0 :         break;
     473             :     case enumXFValueTypePercentage:
     474           0 :         sRet = "percentage";
     475           0 :         break;
     476             :     case enumXFValueTypeString:
     477           0 :         sRet = "string";
     478           0 :         break;
     479             :     case enumXFValueTypeTime:
     480           0 :         sRet = "time";
     481           0 :         break;
     482             :     default:
     483           0 :         sRet = "mirrored";
     484           0 :         break;
     485             :     }
     486           0 :     return sRet;
     487             : }
     488             : 
     489           4 : OUString   GetColorMode(enumXFColorMode mode)
     490             : {
     491           4 :     switch(mode)
     492             :     {
     493             :     case enumXFColorStandard:
     494           4 :         return OUString("standard");
     495             :     case enumXFColorGreyscale:
     496           0 :         return OUString("greyscale");
     497             :     case enumXFColorWatermark:
     498           0 :         return OUString("watermark");
     499             :     case enumXFColorMono:
     500           0 :         return OUString("mono");
     501             :     }
     502           0 :     return OUString("");
     503             : }
     504             : 
     505             : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */

Generated by: LCOV version 1.11