LCOV - code coverage report
Current view: top level - libreoffice/lotuswordpro/source/filter/xfilter - xfutil.cxx (source / functions) Hit Total Coverage
Test: libreoffice_filtered.info Lines: 51 217 23.5 %
Date: 2012-12-27 Functions: 12 21 57.1 %
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    <stdio.h>
      61             : #include    "xfutil.hxx"
      62             : #include    "xfparagraph.hxx"
      63             : #include    "xfcontentcontainer.hxx"
      64             : #include    <rtl/ustrbuf.hxx>
      65             : #include    <sstream>
      66             : 
      67         624 : rtl::OUString Int32ToOUString(sal_Int32 num)
      68             : {
      69             :     /*std::stringstream sstrm;
      70             : 
      71             :     sstrm<<(int)num;
      72             :     return rtl::OUString::createFromAscii(sstrm.str().c_str());
      73             :     */
      74         624 :     return rtl::OUString::valueOf(num);
      75             : }
      76             : 
      77         261 : rtl::OUString Int16ToOUString(sal_Int16 num)
      78             : {
      79             :     /*std::stringstream sstrm;
      80             : 
      81             :     sstrm<<(int)num;
      82             :     return rtl::OUString::createFromAscii(sstrm.str().c_str());
      83             :     */
      84         261 :     sal_Int32 nNum = static_cast<sal_Int32>(num);
      85         261 :     return rtl::OUString::valueOf(nNum);
      86             : }
      87             : 
      88           0 : rtl::OUString   FloatToOUString(float num, sal_Int32 /*precision*/)
      89             : {
      90             :     /*std::stringstream sstrm;
      91             :     std::string         strRet;
      92             : 
      93             :     sstrm.precision(precision);
      94             :     sstrm<<num;
      95             :     return rtl::OUString::createFromAscii(sstrm.str().c_str());
      96             :     */
      97           0 :     return rtl::OUString::valueOf(num);
      98             : }
      99             : 
     100         897 : rtl::OUString   DoubleToOUString(double num, sal_Int32 /*precision*/)
     101             : {
     102             :     /*std::stringstream sstrm;
     103             :     std::string         strRet;
     104             : 
     105             :     sstrm.precision(precision);
     106             :     sstrm<<num;
     107             :     return rtl::OUString::createFromAscii(sstrm.str().c_str());
     108             :     */
     109         897 :     return rtl::OUString::valueOf(num);
     110             : }
     111             : 
     112           0 : rtl::OUString   DateTimeToOUString(XFDateTime& dt)
     113             : {
     114           0 :     rtl::OUStringBuffer buf;
     115           0 :     buf.append(dt.nYear);
     116           0 :     buf.append( A2OUSTR("-") );
     117           0 :     buf.append(dt.nMonth);
     118           0 :     buf.append( A2OUSTR("-") );
     119           0 :     buf.append(dt.nDay);
     120           0 :     buf.append( A2OUSTR("T") );
     121           0 :     buf.append(dt.nHour);
     122           0 :     buf.append( A2OUSTR(":") );
     123           0 :     buf.append(dt.nMinute);
     124           0 :     buf.append( A2OUSTR(":") );
     125           0 :     buf.append(dt.nSecond);
     126           0 :     buf.append( A2OUSTR(".") );
     127           0 :     buf.append(dt.nMillSecond);
     128             : 
     129           0 :     return buf.makeStringAndClear();
     130             : }
     131             : 
     132           0 : rtl::OUString   GetTableColName(sal_Int32 col)
     133             : {
     134           0 :     int     remain = 0;
     135             :     char    ch;
     136           0 :     std::string strOut;
     137             : 
     138           0 :     if( col <= 26 )
     139             :     {
     140           0 :         ch = 'A' + col -1;
     141           0 :         strOut += ch;
     142           0 :         return A2OUSTR(strOut.c_str());
     143             :     }
     144             : 
     145           0 :     while( col>26 )
     146             :     {
     147           0 :         remain = col%26;
     148           0 :         col = col/26;
     149           0 :         ch = 'A' + remain -1;
     150           0 :         strOut += ch;
     151             :     }
     152             : 
     153           0 :     ch = 'A' + remain -1;
     154           0 :     strOut += ch;
     155           0 :     return A2OUSTR(strOut.c_str());
     156             : }
     157             : 
     158             : //tool functions:
     159           1 : rtl::OUString   GetUnderlineName(enumXFUnderline type)
     160             : {
     161           1 :     switch(type)
     162             :     {
     163             :     case enumXFUnderlineNone:
     164           0 :         return A2OUSTR("none");
     165             :         break;
     166             :     case enumXFUnderlineSingle:
     167           1 :         return A2OUSTR("single");
     168             :         break;
     169             :     case enumXFUnderlineDouble:
     170           0 :         return A2OUSTR("double");
     171             :         break;
     172             :     case enumXFUnderlineDotted:
     173           0 :         return A2OUSTR("dotted");
     174             :         break;
     175             :     case enumXFUnderlineDash:
     176           0 :         return A2OUSTR("dash");
     177             :         break;
     178             :     case enumXFUnderlineLongDash:
     179           0 :         return A2OUSTR("long-dash");
     180             :         break;
     181             :     case enumXFUnderlineDotDash:
     182           0 :         return A2OUSTR("dot-dash");
     183             :         break;
     184             :     case enumXFUnderlineDotDotDash:
     185           0 :         return A2OUSTR("dot-dot-dash");
     186             :         break;
     187             :     case enumXFUnderlineWave:
     188           0 :         return A2OUSTR("wave");
     189             :         break;
     190             :     case enumXFUnderlineBold:
     191           0 :         return A2OUSTR("bold");
     192             :         break;
     193             :     case enumXFUnderlineBoldDotted:
     194           0 :         return A2OUSTR("bold-dotted");
     195             :         break;
     196             :     case enumXFUnderlineBoldDash:
     197           0 :         return A2OUSTR("bold-dash");
     198             :         break;
     199             :     case enumXFUnderlineBoldLongDash:
     200           0 :         return A2OUSTR("bold-long-dash");
     201             :         break;
     202             :     case enumXFUnderlineBoldDotDash:
     203           0 :         return A2OUSTR("bold-dot-dash");
     204             :         break;
     205             :     case enumXFUnderlineBoldDotDotDash:
     206           0 :         return A2OUSTR("bold-dot-dot-dash");
     207             :         break;
     208             :     case enumXFUnderlineBoldWave:
     209           0 :         return A2OUSTR("bold-wave");
     210             :         break;
     211             :     case enumXFUnderlineDoubleWave:
     212           0 :         return A2OUSTR("double-wave");
     213             :         break;
     214             :     case enumXFUnderlineSmallWave:
     215           0 :         return A2OUSTR("samll-wave");
     216             :         break;
     217             :     }
     218           0 :     return A2OUSTR("");
     219             : }
     220             : 
     221           0 : rtl::OUString   GetReliefName(enumXFRelief type)
     222             : {
     223           0 :     switch(type)
     224             :     {
     225             :         case enumXFReliefEngraved:
     226           0 :             return A2OUSTR("engraved");
     227             :             break;
     228             :         case enumXFReliefEmbossed:
     229           0 :             return A2OUSTR("embossed");
     230             :             break;
     231             :         default:
     232           0 :             break;
     233             :     }
     234           0 :     return A2OUSTR("");
     235             : }
     236             : 
     237           1 : rtl::OUString   GetCrossoutName(enumXFCrossout type)
     238             : {
     239           1 :     switch(type)
     240             :     {
     241             :     case enumXFCrossoutSignel:
     242           1 :         return A2OUSTR("single-line");
     243             :         break;
     244             :     case enumXFCrossoutDouble:
     245           0 :         return A2OUSTR("double-line");
     246             :         break;
     247             :     case enumXFCrossoutThick:
     248           0 :         return A2OUSTR("thick-line");
     249             :         break;
     250             :     case enumXFCrossoutSlash:
     251           0 :         return A2OUSTR("slash");
     252             :         break;
     253             :     case enumXFCrossoutX:
     254           0 :         return A2OUSTR("X");
     255             :         break;
     256             :     default:
     257           0 :         break;
     258             :     }
     259           0 :     return A2OUSTR("");
     260             : }
     261             : 
     262           0 : rtl::OUString   GetTransformName(enumXFTransform type)
     263             : {
     264           0 :     switch(type) {
     265             :     case enumXFTransformUpper:
     266           0 :         return A2OUSTR("uppercase");
     267             :         break;
     268             :     case enumXFTransformLower:
     269           0 :         return A2OUSTR("lowercase");
     270             :         break;
     271             :     case enumXFTransformCapitalize:
     272           0 :         return A2OUSTR("capitalize");
     273             :         break;
     274             :     case enumXFTransformSmallCaps:
     275           0 :         return A2OUSTR("small-caps");
     276             :         break;
     277             :     default:
     278           0 :         break;
     279             :     }
     280           0 :     return A2OUSTR("");
     281             : }
     282             : 
     283           0 : rtl::OUString   GetEmphasizeName(enumXFEmphasize type)
     284             : {
     285           0 :     switch(type) {
     286             :     case enumXFEmphasizeDot:
     287           0 :         return A2OUSTR("dot");
     288             :         break;
     289             :     case enumXFEmphasizeCircle:
     290           0 :         return A2OUSTR("circle");
     291             :         break;
     292             :     case enumXFEmphasizeDisc:
     293           0 :         return A2OUSTR("disc");
     294             :         break;
     295             :     case enumXFEmphasizeAccent:
     296           0 :         return A2OUSTR("accent");
     297             :         break;
     298             :     default:
     299           0 :         break;
     300             :     }
     301           0 :     return A2OUSTR("");
     302             : }
     303             : 
     304          19 : rtl::OUString   GetTextDirName(enumXFTextDir dir)
     305             : {
     306          19 :     switch(dir)
     307             :     {
     308             :     case enumXFTextDirLR:
     309           0 :         return A2OUSTR("lr");
     310             :         break;
     311             :     case enumXFTextDirLR_TB:
     312          19 :         return A2OUSTR("lr-tb");
     313             :         break;
     314             :     case enumXFTextDirPage:
     315           0 :         return A2OUSTR("page");
     316             :         break;
     317             :     case enumXFTextDirRL:
     318           0 :         return A2OUSTR("rl");
     319             :         break;
     320             :     case enumXFTextDirRL_TB:
     321           0 :         return A2OUSTR("rl-tb");
     322             :         break;
     323             :     case enumXFTextDirTB:
     324           0 :         return A2OUSTR("tb");
     325             :         break;
     326             :     case enumXFTextDirTB_LR:
     327           0 :         return A2OUSTR("tb-lr");
     328             :         break;
     329             :     case enumXFTextDirTB_RL:
     330           0 :         return A2OUSTR("tb-rl");
     331             :         break;
     332             :     default:
     333           0 :         break;
     334             :     }
     335           0 :     return A2OUSTR("");
     336             : }
     337             : 
     338          17 : rtl::OUString   GetFrameXPos(enumXFFrameXPos pos)
     339             : {
     340          17 :     switch(pos)
     341             :     {
     342             :     case enumXFFrameXPosLeft:
     343           0 :         return A2OUSTR("left");
     344             :         break;
     345             :     case enumXFFrameXPosRight:
     346           0 :         return A2OUSTR("right");
     347             :         break;
     348             :     case enumXFFrameXPosCenter:
     349           2 :         return A2OUSTR("center");
     350             :         break;
     351             :     case enumXFFrameXPosFromLeft:
     352          15 :         return A2OUSTR("from-left");
     353             :         break;
     354             :     default:
     355           0 :         break;
     356             :     }
     357           0 :     return A2OUSTR("");
     358             : }
     359             : 
     360          17 : rtl::OUString   GetFrameXRel(enumXFFrameXRel rel)
     361             : {
     362          17 :     switch(rel)
     363             :     {
     364             :     case enumXFFrameXRelPage:
     365           5 :         return A2OUSTR("page");
     366             :         break;
     367             :     case enumXFFrameXRelPageContent:
     368           0 :         return A2OUSTR("page-content");
     369             :         break;
     370             :     case enumXFFrameXRelPageEndMargin:
     371           0 :         return A2OUSTR("page-end-margin");
     372             :         break;
     373             :     case enumXFFrameXRelPageStartMargin:
     374           0 :         return A2OUSTR("page-start-margin");
     375             :         break;
     376             :     case enumXFFrameXRelPara:
     377           0 :         return A2OUSTR("paragraph");
     378             :         break;
     379             :     case enumXFFrameXRelParaContent:
     380           8 :         return A2OUSTR("paragraph-content");
     381             :         break;
     382             :     case enumXFFrameXRelParaEndMargin:
     383           0 :         return A2OUSTR("paragraph-end-margin");
     384             :         break;
     385             :     case enumXFFrameXRelParaStartMargin:
     386           0 :         return A2OUSTR("paragraph-start-margin");
     387             :         break;
     388             :     case enumXFFrameXRelChar:
     389           0 :         return A2OUSTR("char");
     390             :         break;
     391             :     case enumXFFrameXRelFrame:
     392           4 :         return A2OUSTR("frame");
     393             :         break;
     394             :     case enumXFFrameXRelFrameContent:
     395           0 :         return A2OUSTR("frame-content");
     396             :         break;
     397             :     case enumXFFrameXRelFrameEndMargin:
     398           0 :         return A2OUSTR("frame-end-margin");
     399             :         break;
     400             :     case enumXFFrameXRelFrameStartMargin:
     401           0 :         return A2OUSTR("frame-start-margin");
     402             :         break;
     403             :     default:
     404           0 :         break;
     405             :     }
     406           0 :     return A2OUSTR("");
     407             : }
     408             : 
     409          17 : rtl::OUString   GetFrameYPos(enumXFFrameYPos pos)
     410             : {
     411          17 :     switch(pos)
     412             :     {
     413             :     case enumXFFrameYPosTop:
     414           0 :         return A2OUSTR("top");
     415             :     case enumXFFrameYPosMiddle:
     416           2 :         return A2OUSTR("middle");
     417             :     case enumXFFrameYPosBottom:
     418           8 :         return A2OUSTR("bottom");
     419             :     case enumXFFrameYPosFromTop:
     420           3 :         return A2OUSTR("from-top");
     421             :     case enumXFFrameYPosBelow:
     422           4 :         return A2OUSTR("below");
     423             :     }
     424           0 :     return A2OUSTR("");
     425             : }
     426             : 
     427          17 : rtl::OUString   GetFrameYRel(enumXFFrameYRel rel)
     428             : {
     429          17 :     switch(rel)
     430             :     {
     431             :     case enumXFFrameYRelBaseLine:
     432           0 :         return A2OUSTR("baseline");
     433             :     case enumXFFrameYRelChar:
     434           4 :         return A2OUSTR("char");
     435             :     case enumXFFrameYRelFrame:
     436           4 :         return A2OUSTR("frame");
     437             :     case enumXFFrameYRelFrameContent:
     438           0 :         return A2OUSTR("frame-content");
     439             :     case enumXFFrameYRelLine:
     440           0 :         return A2OUSTR("line");
     441             :     case enumXFFrameYRelPage:
     442           0 :         return A2OUSTR("page");
     443             :     case enumXFFrameYRelPageContent:
     444           0 :         return A2OUSTR("page-content");
     445             :     case enumXFFrameYRelPara:
     446           1 :         return A2OUSTR("paragraph");
     447             :     case enumXFFrameYRelParaContent:
     448           8 :         return A2OUSTR("paragraph-content");
     449             :     case enumXFFrameYRelText:
     450           0 :         return A2OUSTR("text");
     451             :     }
     452           0 :     return A2OUSTR("");
     453             : }
     454             : 
     455         171 : rtl::OUString   GetAlignName(enumXFAlignType align)
     456             : {
     457         171 :     if( align == enumXFAlignStart )
     458         134 :         return A2OUSTR("start");
     459          37 :     else if( align == enumXFAlignCenter )
     460          11 :         return A2OUSTR("center");
     461          26 :     else if( align == enumXFAlignEnd )
     462           4 :         return A2OUSTR("end");
     463          22 :     else if( align == enumXFAlignJustify )
     464           0 :         return A2OUSTR("justify");
     465          22 :     else if( align == enumXFAlignBottom )
     466           0 :         return A2OUSTR("bottom");
     467          22 :     else if( align == enumXFAlignTop )
     468          22 :         return A2OUSTR("top");
     469           0 :     else if( align == enumXFAlignMiddle )
     470           0 :         return A2OUSTR("middle");
     471           0 :     else if( align == enumXFALignMargins )
     472           0 :         return A2OUSTR("margins");
     473             : 
     474           0 :     return A2OUSTR("");
     475             : }
     476             : 
     477           0 : rtl::OUString   GetDrawKind(enumXFDrawKind kind)
     478             : {
     479           0 :     if( kind == enumXFDrawKindFull )
     480           0 :         return A2OUSTR("full");
     481           0 :     else if( kind == enumXFDrawKindSection )
     482           0 :         return A2OUSTR("section");
     483           0 :     else if( kind == enumXFDrawKindCut )
     484           0 :         return A2OUSTR("cut");
     485             :     else    //( kind == enumXFDrawKindArc )
     486           0 :         return A2OUSTR("arc");
     487             : }
     488             : 
     489           0 : rtl::OUString   GetPageUsageName(enumXFPageUsage usage)
     490             : {
     491           0 :     rtl::OUString sRet;
     492           0 :     switch(usage)
     493             :     {
     494             :     case enumXFPageUsageAll:
     495           0 :         sRet = A2OUSTR("all");
     496           0 :         break;
     497             :     case enumXFPageUsageLeft:
     498           0 :         sRet = A2OUSTR("left");
     499           0 :         break;
     500             :     case enumXFPageUsageRight:
     501           0 :         sRet = A2OUSTR("right");
     502           0 :         break;
     503             :     case enumXFPageUsageMirror:
     504           0 :         sRet = A2OUSTR("mirrored");
     505           0 :         break;
     506             :     default:
     507           0 :         sRet = A2OUSTR("mirrored");
     508           0 :         break;
     509             :     }
     510           0 :     return sRet;
     511             : }
     512             : 
     513           0 : rtl::OUString   GetValueType(enumXFValueType type)
     514             : {
     515           0 :     rtl::OUString sRet;
     516           0 :     switch(type)
     517             :     {
     518             :     case enumXFValueTypeBoolean:
     519           0 :         sRet = A2OUSTR("boolean");
     520           0 :         break;
     521             :     case enumXFValueTypeCurrency:
     522           0 :         sRet = A2OUSTR("currency");
     523           0 :         break;
     524             :     case enumXFValueTypeDate:
     525           0 :         sRet = A2OUSTR("date");
     526           0 :         break;
     527             :     case enumXFValueTypeFloat:
     528           0 :         sRet = A2OUSTR("float");
     529           0 :         break;
     530             :     case enumXFValueTypePercentage:
     531           0 :         sRet = A2OUSTR("percentage");
     532           0 :         break;
     533             :     case enumXFValueTypeString:
     534           0 :         sRet = A2OUSTR("string");
     535           0 :         break;
     536             :     case enumXFValueTypeTime:
     537           0 :         sRet = A2OUSTR("time");
     538           0 :         break;
     539             :     default:
     540           0 :         sRet = A2OUSTR("mirrored");
     541           0 :         break;
     542             :     }
     543           0 :     return sRet;
     544             : }
     545             : 
     546           4 : rtl::OUString   GetColorMode(enumXFColorMode mode)
     547             : {
     548           4 :     switch(mode)
     549             :     {
     550             :     case enumXFColorStandard:
     551           4 :         return A2OUSTR("standard");
     552             :     case enumXFColorGreyscale:
     553           0 :         return A2OUSTR("greyscale");
     554             :     case enumXFColorWatermark:
     555           0 :         return A2OUSTR("watermark");
     556             :     case enumXFColorMono:
     557           0 :         return A2OUSTR("mono");
     558             :     }
     559           0 :     return A2OUSTR("");
     560             : }
     561             : 
     562             : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */

Generated by: LCOV version 1.10