LCOV - code coverage report
Current view: top level - libreoffice/lotuswordpro/source/filter - lwpfribmark.cxx (source / functions) Hit Total Coverage
Test: libreoffice_filtered.info Lines: 110 897 12.3 %
Date: 2012-12-27 Functions: 10 27 37.0 %
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             :  *  For LWP filter architecture prototype
      59             :  ************************************************************************/
      60             : /*************************************************************************
      61             :  * Change History
      62             :  May 2005           Created
      63             :  ************************************************************************/
      64             : 
      65             : #include "lwpfribmark.hxx"
      66             : #include "lwptools.hxx"
      67             : #include "lwpglobalmgr.hxx"
      68             : #include "lwpdoc.hxx"
      69             : #include "lwpdivinfo.hxx"
      70             : #include "xfilter/xfstylemanager.hxx"
      71             : #include "xfilter/xftextspan.hxx"
      72             : #include "xfilter/xfbookmark.hxx"
      73             : #include "xfilter/xfentry.hxx"
      74             : #include "xfilter/xftextcontent.hxx"
      75             : #include "xfilter/xfcrossref.hxx"
      76             : #include "xfilter/xfdocfield.hxx"
      77             : #include "xfilter/xfdatestyle.hxx"
      78             : #include "xfilter/xftimestyle.hxx"
      79             : #include "xfilter/xfdate.hxx"
      80             : #include "xfilter/xfruby.hxx"
      81             : #include "lwpchangemgr.hxx"
      82             : #include "xfilter/xfchange.hxx"
      83             : 
      84             : /**
      85             :  * @short:   Read hyperlink frib and Click here block
      86             :  * @param:
      87             :  * @param:
      88             :  */
      89           0 : void LwpFribCHBlock::Read(LwpObjectStream* pObjStrm, sal_uInt16 /*len*/)
      90             : {
      91           0 :     m_objMarker.ReadIndexed(pObjStrm);
      92           0 :     m_nType = pObjStrm->QuickReaduInt8();
      93           0 : }
      94             : 
      95           0 : LwpCHBlkMarker* LwpFribCHBlock::GetMarker()
      96             : {
      97           0 :     return dynamic_cast<LwpCHBlkMarker*>(m_objMarker.obj());
      98             : }
      99             : 
     100           0 : void LwpFribCHBlock::XFConvert(XFContentContainer* pXFPara,LwpStory* pStory)
     101             : {
     102           0 :     sal_uInt8 type = GetType();
     103           0 :     if (!pStory)
     104           0 :         return;
     105           0 :     LwpCHBlkMarker* pMarker = GetMarker();
     106             : 
     107           0 :     if (!pMarker)
     108           0 :         return;
     109           0 :     sal_uInt16 nAction = pMarker->GetAction();
     110           0 :     if (nAction == LwpCHBlkMarker::CLICKHERE_CHBEHAVIORINTERNETLINK)//hyperlink
     111             :     {
     112           0 :         LwpHyperlinkMgr* pHyperlink = pStory->GetHyperlinkMgr();
     113           0 :         if (type == MARKER_START)
     114             :         {
     115           0 :             if (pHyperlink)
     116             :             {
     117           0 :                 pHyperlink->SetHyperlinkFlag(sal_True);
     118           0 :                 pHyperlink->SetHyperlink(pMarker->GetNamedProperty(A2OUSTR("URL")));
     119             :             }
     120             :         }
     121           0 :         else if (type == MARKER_END)//or none
     122             :         {
     123           0 :             pHyperlink->SetHyperlinkFlag(sal_False);
     124             :         }
     125             :     }
     126             :     else//click here block
     127             :     {
     128           0 :         pMarker->ConvertCHBlock(pXFPara,type);
     129             :     }
     130             : }
     131             : /**
     132             :  * @short:   register bookmark frib
     133             :  * @param:
     134             :  * @param:
     135             :  */
     136           0 : void  LwpFribBookMark::RegisterStyle(LwpFoundry* pFoundry)
     137             : {
     138           0 :     OUString name;
     139           0 :     LwpBookMark* pBook = pFoundry->GetBookMark(GetMarkerID());
     140           0 :     if (pBook)
     141           0 :         name = pBook->GetName();
     142             : 
     143           0 :     OUString sDivision;
     144           0 :     LwpDocument* pDoc = pFoundry->GetDocument();
     145           0 :     if (pDoc)
     146             :     {
     147           0 :         LwpObjectID* pID = pDoc->GetDivInfoID();
     148           0 :         if (!pID->IsNull())
     149             :         {
     150           0 :             LwpDivInfo *pDivInvo = dynamic_cast<LwpDivInfo*>(pID->obj(VO_DIVISIONINFO));
     151           0 :             if (pDivInvo)
     152           0 :                 sDivision = pDivInvo->GetDivName();
     153             :         }
     154             :     }
     155             : 
     156           0 :     sal_uInt8 type = GetType();
     157             : 
     158           0 :     LwpGlobalMgr* pGlobal = LwpGlobalMgr::GetInstance();
     159           0 :     LwpBookmarkMgr* pMarkMgr = pGlobal->GetLwpBookmarkMgr();
     160           0 :     if (type == MARKER_START)
     161             :     {
     162           0 :         XFBookmarkStart* pMarkStart = new XFBookmarkStart;
     163           0 :         pMarkStart->SetDivision(sDivision);
     164           0 :         pMarkStart->SetName(name);
     165           0 :         pMarkMgr->AddXFBookmarkStart(name,pMarkStart);//add to map
     166           0 :         m_pStart = pMarkStart;
     167             :     }
     168           0 :     else if(type == MARKER_END)
     169             :     {
     170           0 :         XFBookmarkEnd* pMarkEnd = new XFBookmarkEnd;
     171           0 :         pMarkEnd->SetDivision(sDivision);
     172           0 :         pMarkEnd->SetName(name);
     173           0 :         pMarkMgr->AddXFBookmarkEnd(name,pMarkEnd);  //add to map
     174           0 :         m_pEnd = pMarkEnd;
     175           0 :     }
     176           0 : }
     177             : 
     178           0 : LwpFribBookMark::LwpFribBookMark(LwpPara* pPara ) : LwpFrib(pPara),m_pStart(NULL),m_pEnd(NULL)
     179             : {
     180           0 : }
     181             : 
     182             : /**
     183             :  * @short:   Read bookmark frib
     184             :  * @param:
     185             :  * @param:
     186             :  */
     187           0 : void LwpFribBookMark::Read(LwpObjectStream* pObjStrm, sal_uInt16 /*len*/)
     188             : {
     189           0 :     m_objMarker.ReadIndexed(pObjStrm);
     190           0 :     m_nType = pObjStrm->QuickReaduInt8();
     191           0 : }
     192             : /**
     193             :  * @short:   convert bookmark frib
     194             :  * @param:
     195             :  * @param:
     196             :  */
     197           0 : void LwpFribBookMark::XFConvert(XFContentContainer* pXFPara)
     198             : {
     199           0 :     sal_uInt8 type = GetType();
     200             : 
     201           0 :     if (type == MARKER_START && m_pStart)
     202             :     {
     203           0 :         pXFPara->Add(m_pStart);
     204             :     }
     205           0 :     else if(type == MARKER_END && m_pEnd)
     206             :     {
     207           0 :         pXFPara->Add(m_pEnd);
     208             :     }
     209           0 : }
     210             : 
     211             : /**
     212             :  * @short:   Read index entry frib
     213             :  * @param:
     214             :  * @param:
     215             :  */
     216           6 : LwpFribField::LwpFribField( LwpPara* pPara ) : LwpFrib(pPara)
     217             : {
     218           6 :     m_TimeStyle = A2OUSTR("");
     219             : 
     220           6 :     m_nSubType = 0;//datetime/crossref/other
     221           6 :     m_sFormula = A2OUSTR("");
     222             : 
     223           6 :     m_nCrossRefType = 0;
     224           6 :     m_nDateTimeType = 0;
     225           6 : }
     226             : 
     227           6 : void LwpFribField::Read(LwpObjectStream* pObjStrm, sal_uInt16 /*len*/)
     228             : {
     229           6 :     m_objMarker.ReadIndexed(pObjStrm);
     230           6 :     m_nType = pObjStrm->QuickReaduInt8();
     231           6 : }
     232             : 
     233          10 : LwpFieldMark* LwpFribField::GetMarker()
     234             : {
     235          10 :     return dynamic_cast<LwpFieldMark*>(m_objMarker.obj());
     236             : }
     237             : 
     238           4 : void LwpFribField::XFConvert(XFContentContainer* pXFPara)
     239             : {
     240           4 :     LwpFieldMark* pFieldMark = GetMarker();
     241           4 :     if (!pFieldMark)
     242             :         return;
     243             : 
     244           4 :     sal_uInt8 type = GetType();
     245           4 :     sal_uInt16 fieldType = pFieldMark->GetFieldType();
     246             : 
     247           4 :     OUString sChangeID;
     248           4 :     if(pFieldMark->GetRevisionFlag())
     249             :     {
     250           0 :         LwpGlobalMgr* pGlobal = LwpGlobalMgr::GetInstance();
     251           0 :         LwpChangeMgr* pChangeMgr = pGlobal->GetLwpChangeMgr();
     252           0 :         sChangeID = pChangeMgr->GetChangeID(pFieldMark->GetStartFrib());
     253             :     }
     254             : 
     255           4 :     CheckFieldType(pFieldMark);
     256             :     //end marker
     257           4 :     if (type == MARKER_END)
     258             :     {
     259           2 :         if (pFieldMark->GetStart() == sal_False)
     260             :             return;
     261           2 :         if (pFieldMark->IsFormulaInsert())
     262             :         {
     263           0 :             XFTextContent *pSpan = new XFTextContent();
     264           0 :             pSpan->SetText(A2OUSTR(">"));
     265           0 :             pXFPara->Add(pSpan);
     266             :         }
     267           2 :         if (fieldType == LwpFieldMark::FLD_FIELD)
     268             :         {
     269           2 :             if (m_nSubType == SUBFIELD_DATETIME)
     270             :             {
     271           2 :                 ConvertDateTimeEnd(pXFPara,pFieldMark);
     272             :             }
     273           0 :             else if (m_nSubType == SUBFIELD_CROSSREF)
     274             :             {
     275           0 :                 ConvertCrossRefEnd(pXFPara,pFieldMark);
     276             :             }
     277           0 :             else if (m_nSubType == SUBFIELD_DOCPOWER)
     278             :             {
     279           0 :                 ConvertDocFieldEnd(pXFPara,pFieldMark);
     280             :             }
     281             :         }
     282           2 :         if(pFieldMark->GetRevisionFlag() && !sChangeID.isEmpty())
     283             :         {
     284           0 :             XFChangeEnd* pChangeEnd = new XFChangeEnd;
     285           0 :             pChangeEnd->SetChangeID(sChangeID);
     286           0 :             pXFPara->Add(pChangeEnd);
     287             :         }
     288             : 
     289             :         return;
     290             :     }
     291             : 
     292             :     //start marker
     293           2 :     if(pFieldMark->GetRevisionFlag() && !sChangeID.isEmpty())
     294             :     {
     295           0 :         XFChangeStart* pChangeStart = new XFChangeStart;
     296           0 :         pChangeStart->SetChangeID(sChangeID);
     297           0 :         pXFPara->Add(pChangeStart);
     298             :     }
     299             : 
     300           2 :     if (fieldType == LwpFieldMark::FLD_INDEX)
     301             :     {
     302           0 :         OUString sKey1,sKey2;
     303           0 :         pFieldMark->ParseIndex(sKey1,sKey2);
     304           0 :         if (!sKey1.isEmpty())
     305             :         {
     306           0 :             XFEntry* pEntry = new XFEntry;
     307           0 :             pEntry->SetEntryType(enumXFEntryAlphabetical);
     308           0 :             pEntry->SetKey(sKey1,sKey2);
     309           0 :             pXFPara->Add(pEntry);
     310           0 :         }
     311             :     }
     312           2 :     else if (fieldType == LwpFieldMark::FLD_TOC)
     313             :     {
     314           0 :         OUString sLevel,sText;
     315           0 :         pFieldMark->ParseTOC(sLevel,sText);
     316           0 :         if (!sLevel.isEmpty() && !sText.isEmpty())
     317             :         {
     318           0 :             XFEntry* pEntry = new XFEntry;
     319           0 :             pEntry->SetEntryType(enumXFEntryTOC);
     320           0 :             pEntry->SetStringValue(sText);
     321           0 :             pEntry->SetOutlineLevel(sLevel.toInt32(10));
     322           0 :             pXFPara->Add(pEntry);
     323           0 :         }
     324             :     }
     325           2 :     else if (fieldType == LwpFieldMark::FLD_FIELD)
     326             :     {
     327             :         sal_uInt8 nDatetype;
     328           2 :         OUString sFormula;
     329           2 :         /*sal_Bool bIsDateTime =*/ pFieldMark->IsDateTimeField(nDatetype,sFormula);
     330             : 
     331           2 :         if (m_nSubType == SUBFIELD_DATETIME)//date time
     332             :         {
     333           2 :             ConvertDateTimeStart(pXFPara,pFieldMark);
     334             :         }
     335           0 :         else if (m_nSubType == SUBFIELD_CROSSREF)//cross ref
     336             :         {
     337           0 :             ConvertCrossRefStart(pXFPara,pFieldMark);
     338             :         }
     339           0 :         else if (m_nSubType == SUBFIELD_DOCPOWER)
     340             :         {
     341           0 :             ConvertDocFieldStart(pXFPara,pFieldMark);
     342           2 :         }
     343             :     }
     344             : 
     345           2 :     if (pFieldMark->IsFormulaInsert())
     346             :     {
     347           0 :         XFTextContent *pSpan = new XFTextContent();
     348           0 :         pSpan->SetText(A2OUSTR("<"));
     349           0 :         pXFPara->Add(pSpan);
     350             :     }
     351             : 
     352           2 :     pFieldMark->SetStart(sal_True);
     353             : }
     354             : 
     355           6 : void LwpFribField::RegisterStyle(LwpFoundry* pFoundry)
     356             : {
     357           6 :     LwpFrib::RegisterStyle(pFoundry);
     358           6 :     LwpFieldMark* pFieldMark = GetMarker();
     359           6 :     if (!pFieldMark)
     360           6 :         return;
     361             : 
     362           6 :     sal_uInt8 type = GetType();
     363           6 :     sal_uInt16 fieldType = pFieldMark->GetFieldType();
     364             : 
     365           6 :     if (type == MARKER_START && fieldType == LwpFieldMark::FLD_FIELD)
     366             :     {
     367           3 :         RegisterTimeField(pFieldMark);
     368             :     }
     369             : 
     370           6 :     if (type == MARKER_START && m_bRevisionFlag)
     371             :     {
     372           0 :         LwpGlobalMgr* pGlobal = LwpGlobalMgr::GetInstance();
     373           0 :         LwpChangeMgr* pChangeMgr = pGlobal->GetLwpChangeMgr();
     374           0 :         pChangeMgr->AddChangeFrib(this);
     375           0 :         pFieldMark->SetStartFrib(this);
     376           0 :         pFieldMark->SetRevisionFlag(sal_True);
     377             :     }
     378             : }
     379             : 
     380           3 : void LwpFribField::RegisterTimeField(LwpFieldMark* pFieldMark)
     381             : {
     382           3 :     OUString sFormula = pFieldMark->GetFormula();//now bookmark maybe not all register to bookmarkmgr,
     383           3 :     if (sFormula == A2OUSTR("TotalEditingTime"))//so check field type now is not correct.
     384           0 :         RegisterTotalTimeStyle();
     385             :     else
     386             :     {
     387             :         sal_Int32 index;
     388           3 :         sal_Unicode ch1(0x0020);//space
     389           3 :         OUString tag;
     390           3 :         index = sFormula.indexOf(ch1,0);
     391           3 :         if (index < 0)
     392           3 :             return;
     393             : 
     394           3 :         tag = sFormula.copy(0,index);
     395           3 :         if (tag == A2OUSTR("Now()") || tag == A2OUSTR("CreateDate") ||  tag == A2OUSTR("EditDate"))
     396           3 :             RegisterDateTimeStyle(sFormula.copy(index+1,sFormula.getLength()-index-1));
     397           3 :     }
     398             : }
     399             : 
     400           0 : void LwpFribField::RegisterTotalTimeStyle()
     401             : {
     402           0 :     XFTimeStyle* pTimeStyle = new XFTimeStyle;//use the default format
     403           0 :     pTimeStyle->SetTruncate(sal_False);
     404           0 :     pTimeStyle->AddMinute();
     405           0 :     XFStyleManager* pXFStyleManager = LwpGlobalMgr::GetInstance()->GetXFStyleManager();
     406           0 :     m_TimeStyle = pXFStyleManager->AddStyle(pTimeStyle)->GetStyleName();
     407           0 : }
     408             : 
     409           3 : void LwpFribField::RegisterDateTimeStyle(OUString sFormula)
     410             : {
     411           3 :     XFDateStyle* pDateStyle = NULL;
     412           3 :     XFTimeStyle* pTimeStyle = NULL;
     413             : //DATE
     414           3 :     if (sFormula.getLength()<2)
     415           3 :         return;
     416           3 :     if (sFormula[1] == 'F')
     417             :     {
     418           3 :         if (sFormula == A2OUSTR("%FLSystemShortDate"))
     419             :         {
     420           0 :             pDateStyle = LwpTools::GetSystemDateStyle(sal_False);
     421             :         }
     422           3 :         else if (sFormula == A2OUSTR("%FLSystemLongDate"))
     423             :         {
     424           0 :             pDateStyle = LwpTools::GetSystemDateStyle(sal_True);
     425             :         }
     426           3 :         else if (sFormula == A2OUSTR("%FLISODate1") || sFormula == A2OUSTR("%FLYYYY/MM/DD") )
     427             :         {
     428           0 :             pDateStyle = new XFDateStyle;
     429           0 :             pDateStyle->AddYear();
     430           0 :             pDateStyle->AddText(A2OUSTR("/"));
     431           0 :             pDateStyle->AddMonth();
     432           0 :             pDateStyle->AddText(A2OUSTR("/"));
     433           0 :             pDateStyle->AddMonthDay();
     434             :         }
     435           3 :         else if (sFormula == A2OUSTR("%FLISODate2") || sFormula == A2OUSTR("%FLYYYY/MM/DD HH:mm:SS") )
     436             :         {
     437           0 :             pDateStyle = new XFDateStyle;
     438           0 :             pDateStyle->AddYear();
     439           0 :             pDateStyle->AddText(A2OUSTR("/"));
     440           0 :             pDateStyle->AddMonth();
     441           0 :             pDateStyle->AddText(A2OUSTR("/"));
     442           0 :             pDateStyle->AddMonthDay();
     443           0 :             pDateStyle->AddText(A2OUSTR(" "));
     444           0 :             pDateStyle->AddHour();
     445           0 :             pDateStyle->AddText(A2OUSTR(":"));
     446           0 :             pDateStyle->AddMinute();
     447           0 :             pDateStyle->AddText(A2OUSTR(":"));
     448           0 :             pDateStyle->AddSecond(sal_True,0);
     449             :         }
     450           3 :         else if (sFormula == A2OUSTR("%FLM/D/YY"))
     451             :         {
     452           0 :             pDateStyle = new XFDateStyle;
     453           0 :             pDateStyle->AddMonth(sal_False);
     454           0 :             pDateStyle->AddText(A2OUSTR("/"));
     455           0 :             pDateStyle->AddMonthDay(sal_False);
     456           0 :             pDateStyle->AddText(A2OUSTR("/"));
     457           0 :             pDateStyle->AddYear(sal_False);
     458             :         }
     459           3 :         else if (sFormula == A2OUSTR("%FLMonth D, YYYY"))
     460             :         {
     461           3 :             pDateStyle = new XFDateStyle;
     462           3 :             pDateStyle->AddMonth(sal_True,sal_True);
     463           3 :             pDateStyle->AddText(A2OUSTR(" "));
     464           3 :             pDateStyle->AddMonthDay(sal_False);
     465           3 :             pDateStyle->AddText(A2OUSTR(", "));
     466           3 :             pDateStyle->AddYear();
     467             :         }
     468           0 :         else if (sFormula == A2OUSTR("%FLWeekday, Month D, YYYY"))
     469             :         {
     470           0 :             pDateStyle = new XFDateStyle;
     471           0 :             pDateStyle->AddWeekDay();
     472           0 :             pDateStyle->AddText(A2OUSTR(", "));
     473           0 :             pDateStyle->AddMonth(sal_True,sal_True);
     474           0 :             pDateStyle->AddText(A2OUSTR(" "));
     475           0 :             pDateStyle->AddMonthDay(sal_False);
     476           0 :             pDateStyle->AddText(A2OUSTR(", "));
     477           0 :             pDateStyle->AddYear();
     478             :         }
     479           0 :         else if (sFormula == A2OUSTR("%FLMn D, YYYY"))
     480             :         {
     481           0 :             pDateStyle = new XFDateStyle;
     482           0 :             pDateStyle->AddMonth(sal_False,sal_True);
     483           0 :             pDateStyle->AddText(A2OUSTR(" "));
     484           0 :             pDateStyle->AddMonthDay(sal_False);
     485           0 :             pDateStyle->AddText(A2OUSTR(", "));
     486           0 :             pDateStyle->AddYear();
     487             :         }
     488           0 :         else if (sFormula == A2OUSTR("%FLWday, Mn D, YYYY"))
     489             :         {
     490           0 :             pDateStyle = new XFDateStyle;
     491           0 :             pDateStyle->AddWeekDay(sal_False);
     492           0 :             pDateStyle->AddText(A2OUSTR(", "));
     493           0 :             pDateStyle->AddMonth(sal_False,sal_True);
     494           0 :             pDateStyle->AddText(A2OUSTR(" "));
     495           0 :             pDateStyle->AddMonthDay(sal_False);
     496           0 :             pDateStyle->AddText(A2OUSTR(", "));
     497           0 :             pDateStyle->AddYear();
     498             :         }
     499           0 :         else if (sFormula == A2OUSTR("%FLMn D"))
     500             :         {
     501           0 :             pDateStyle = new XFDateStyle;
     502           0 :             pDateStyle->AddMonth(sal_False,sal_True);
     503           0 :             pDateStyle->AddText(A2OUSTR(" "));
     504           0 :             pDateStyle->AddMonthDay(sal_False);
     505             :         }
     506           0 :         else if (sFormula == A2OUSTR("%FLWeekday, Mn D"))
     507             :         {
     508           0 :             pDateStyle = new XFDateStyle;
     509           0 :             pDateStyle->AddWeekDay();
     510           0 :             pDateStyle->AddText(A2OUSTR(", "));
     511           0 :             pDateStyle->AddMonth(sal_False,sal_True);
     512           0 :             pDateStyle->AddText(A2OUSTR(" "));
     513           0 :             pDateStyle->AddMonthDay(sal_False);
     514             :         }
     515           0 :         else if (sFormula == A2OUSTR("%FLMn D, YY"))
     516             :         {
     517           0 :             pDateStyle = new XFDateStyle;
     518           0 :             pDateStyle->AddMonth(sal_False,sal_True);
     519           0 :             pDateStyle->AddText(A2OUSTR(" "));
     520           0 :             pDateStyle->AddMonthDay(sal_False);
     521           0 :             pDateStyle->AddText(A2OUSTR(", "));
     522           0 :             pDateStyle->AddYear(sal_False);
     523             :         }
     524           0 :         else if (sFormula == A2OUSTR("%FLM/D"))
     525             :         {
     526           0 :             pDateStyle = new XFDateStyle;
     527           0 :             pDateStyle->AddMonth(sal_False);
     528           0 :             pDateStyle->AddText(A2OUSTR("/"));
     529           0 :             pDateStyle->AddMonthDay(sal_False);
     530             :         }
     531           0 :         else if (sFormula == A2OUSTR("%FLM/YY"))
     532             :         {
     533           0 :             pDateStyle = new XFDateStyle;
     534           0 :             pDateStyle->AddMonth(sal_False);
     535           0 :             pDateStyle->AddText(A2OUSTR("/"));
     536           0 :             pDateStyle->AddYear(sal_False);
     537             :         }
     538           0 :         else if (sFormula == A2OUSTR("%FLMn YY"))
     539             :         {
     540           0 :             pDateStyle = new XFDateStyle;
     541           0 :             pDateStyle->AddMonth(sal_False,sal_True);
     542           0 :             pDateStyle->AddText(A2OUSTR(" "));
     543           0 :             pDateStyle->AddYear(sal_False);
     544             :         }
     545           0 :         else if (sFormula == A2OUSTR("%FLWeekday"))
     546             :         {
     547           0 :             pDateStyle = new XFDateStyle;
     548           0 :             pDateStyle->AddWeekDay();
     549             :         }
     550           0 :         else if (sFormula == A2OUSTR("%FLWday"))
     551             :         {
     552           0 :             pDateStyle = new XFDateStyle;
     553           0 :             pDateStyle->AddWeekDay(sal_False);
     554             :         }
     555           0 :         else if (sFormula == A2OUSTR("%FLMonth"))
     556             :         {
     557           0 :             pDateStyle = new XFDateStyle;
     558           0 :             pDateStyle->AddMonth(sal_True,sal_True);
     559             :         }
     560           0 :         else if (sFormula == A2OUSTR("%FLMn"))
     561             :         {
     562           0 :             pDateStyle = new XFDateStyle;
     563           0 :             pDateStyle->AddMonth(sal_False,sal_True);
     564             :         }
     565           0 :         else if (sFormula == A2OUSTR("%FLD"))
     566             :         {
     567           0 :             pDateStyle = new XFDateStyle;
     568           0 :             pDateStyle->AddMonthDay(sal_False);
     569             :         }
     570           0 :         else if (sFormula == A2OUSTR("%FLM"))
     571             :         {
     572           0 :             pDateStyle = new XFDateStyle;
     573           0 :             pDateStyle->AddMonth(sal_False);
     574             :         }
     575           0 :         else if (sFormula == A2OUSTR("%FLYYYY") )
     576             :         {
     577           0 :             pDateStyle = new XFDateStyle;
     578           0 :             pDateStyle->AddYear();
     579             :         }
     580           0 :         else if (sFormula == A2OUSTR("%FLYY"))
     581             :         {
     582           0 :             pDateStyle = new XFDateStyle;
     583           0 :             pDateStyle->AddYear(sal_False);
     584             :         }
     585             :         //chinese version begin
     586           0 :         else if (sFormula == A2OUSTR("%FLYY/M/D"))
     587             :         {
     588           0 :             pDateStyle = new XFDateStyle;
     589           0 :             pDateStyle->AddYear(sal_False);
     590           0 :             pDateStyle->AddText(A2OUSTR("-"));
     591           0 :             pDateStyle->AddMonth(sal_False);
     592           0 :             pDateStyle->AddText(A2OUSTR("-"));
     593           0 :             pDateStyle->AddMonthDay(sal_False);
     594             :         }
     595           0 :         else if(sFormula == A2OUSTR("%FLYYYY Month D"))
     596             :         {
     597           0 :             pDateStyle = new XFDateStyle;
     598           0 :             pDateStyle->AddYear();
     599           0 :             pDateStyle->AddText(A2OUSTR(" "));
     600           0 :             pDateStyle->AddMonth(sal_True,sal_True);
     601           0 :             pDateStyle->AddText(A2OUSTR(" "));
     602           0 :             pDateStyle->AddMonthDay(sal_False);
     603             :         }
     604           0 :         else if(sFormula == A2OUSTR("%FLWeekday, YYYY Month D"))
     605             :         {
     606           0 :             pDateStyle = new XFDateStyle;
     607           0 :             pDateStyle->AddWeekDay();
     608           0 :             pDateStyle->AddText(A2OUSTR(","));
     609           0 :             pDateStyle->AddYear();
     610           0 :             pDateStyle->AddText(A2OUSTR(" "));
     611           0 :             pDateStyle->AddMonth(sal_True,sal_True);
     612           0 :             pDateStyle->AddText(A2OUSTR(" "));
     613           0 :             pDateStyle->AddMonthDay(sal_False);
     614             :         }
     615           0 :         else if(sFormula == A2OUSTR("%FLYYYY Mn D"))
     616             :         {
     617           0 :             pDateStyle = new XFDateStyle;
     618           0 :             pDateStyle->AddYear();
     619           0 :             pDateStyle->AddText(A2OUSTR(" "));
     620           0 :             pDateStyle->AddMonth(sal_False,sal_True);
     621           0 :             pDateStyle->AddText(A2OUSTR(" "));
     622           0 :             pDateStyle->AddMonthDay(sal_False);
     623             :         }
     624           0 :         else if(sFormula == A2OUSTR("%FLWday, YYYY Mn D"))
     625             :         {
     626           0 :             pDateStyle = new XFDateStyle;
     627           0 :             pDateStyle->AddWeekDay(sal_False);
     628           0 :             pDateStyle->AddText(A2OUSTR(","));
     629           0 :             pDateStyle->AddYear();
     630           0 :             pDateStyle->AddText(A2OUSTR(" "));
     631           0 :             pDateStyle->AddMonth(sal_True,sal_True);
     632           0 :             pDateStyle->AddText(A2OUSTR(" "));
     633           0 :             pDateStyle->AddMonthDay(sal_False);
     634             :         }
     635             :         //next 2 are the same with english version
     636           0 :         else if (sFormula == A2OUSTR("%FLYY Mn D"))
     637             :         {
     638           0 :             pDateStyle = new XFDateStyle;
     639           0 :             pDateStyle->AddYear(sal_False);
     640           0 :             pDateStyle->AddText(A2OUSTR(" "));
     641           0 :             pDateStyle->AddMonth(sal_False,sal_True);
     642           0 :             pDateStyle->AddText(A2OUSTR(" "));
     643           0 :             pDateStyle->AddMonthDay(sal_False);
     644             :         }
     645           0 :         else if (sFormula == A2OUSTR("%FLYY/M"))
     646             :         {
     647           0 :             pDateStyle = new XFDateStyle;
     648           0 :             pDateStyle->AddMonth(sal_False);
     649           0 :             pDateStyle->AddText(A2OUSTR("-"));
     650           0 :             pDateStyle->AddMonth(sal_False);
     651             :         }
     652           0 :         else if (sFormula == A2OUSTR("%FLYY Mn"))
     653             :         {
     654           0 :             pDateStyle = new XFDateStyle;
     655           0 :             pDateStyle->AddMonth(sal_False);
     656           0 :             pDateStyle->AddText(A2OUSTR(" "));
     657           0 :             pDateStyle->AddMonth(sal_False,sal_True);
     658             :         }
     659           0 :         else if (sFormula == A2OUSTR("%FLeeeeoa") || sFormula == A2OUSTR("%FLffffooaa") || sFormula == A2OUSTR("%FLEEEEOA"))
     660             :         {
     661           0 :             pDateStyle = new XFDateStyle;
     662           0 :             rtl::OUString sText;
     663           0 :             pDateStyle->AddYear();
     664           0 :             sText = rtl::OUString(0x5e74);
     665           0 :             pDateStyle->AddText(sText);
     666           0 :             pDateStyle->AddMonth(sal_False);
     667           0 :             sText = rtl::OUString(0x6708);
     668           0 :             pDateStyle->AddText(sText);
     669           0 :             pDateStyle->AddMonthDay(sal_False);
     670           0 :             sText = rtl::OUString(0x65e5);
     671           0 :             pDateStyle->AddText(sText);
     672             :         }
     673           0 :         else if (sFormula == A2OUSTR("%FLoa") || sFormula == A2OUSTR("%FLooaa") || sFormula == A2OUSTR("%FLOA") )
     674             :         {
     675           0 :             pDateStyle = new XFDateStyle;
     676           0 :             OUString sText;
     677           0 :             pDateStyle->AddMonth(sal_False);
     678           0 :             sText = rtl::OUString(0x6708);
     679           0 :             pDateStyle->AddText(sText);
     680           0 :             pDateStyle->AddMonthDay(sal_False);
     681           0 :             sText = rtl::OUString(0x65e5);
     682           0 :             pDateStyle->AddText(sText);
     683             :         }
     684           0 :         else if (sFormula == A2OUSTR("%FLYYYY/M/D") || sFormula == A2OUSTR("%FLGGGG/od/ad"))
     685             :         {
     686           0 :             pDateStyle = new XFDateStyle;
     687           0 :             pDateStyle->AddYear();
     688           0 :             pDateStyle->AddText(A2OUSTR("-"));
     689           0 :             pDateStyle->AddMonth(sal_False);
     690           0 :             pDateStyle->AddText(A2OUSTR("-"));
     691           0 :             pDateStyle->AddMonthDay(sal_False);
     692             :         }
     693           0 :         else if (sFormula == A2OUSTR("%FLYY.M.D") )
     694             :         {
     695           0 :             pDateStyle = new XFDateStyle;
     696           0 :             pDateStyle->AddYear(sal_False);
     697           0 :             pDateStyle->AddText(A2OUSTR("."));
     698           0 :             pDateStyle->AddMonth(sal_False);
     699           0 :             pDateStyle->AddText(A2OUSTR("."));
     700           0 :             pDateStyle->AddMonthDay(sal_False);
     701             :         }
     702             :         //chinese version end
     703             :         //other version begin
     704           0 :         else if (sFormula == A2OUSTR("%FLWeekday, Month DD, YYYY") )
     705             :         {
     706           0 :             pDateStyle = new XFDateStyle;
     707           0 :             pDateStyle->AddWeekDay();
     708           0 :             pDateStyle->AddText(A2OUSTR(", "));
     709           0 :             pDateStyle->AddMonth(sal_True,sal_True);
     710           0 :             pDateStyle->AddText(A2OUSTR(" "));
     711           0 :             pDateStyle->AddMonthDay();
     712           0 :             pDateStyle->AddText(A2OUSTR(", "));
     713           0 :             pDateStyle->AddYear();
     714             :         }
     715           0 :         else if (sFormula == A2OUSTR("%FLYYYY/MM/DD") )
     716             :         {
     717           0 :             pDateStyle = new XFDateStyle;
     718           0 :             pDateStyle->AddWeekDay();
     719           0 :             pDateStyle->AddText(A2OUSTR(", "));
     720           0 :             pDateStyle->AddMonth(sal_True,sal_True);
     721           0 :             pDateStyle->AddText(A2OUSTR(" "));
     722           0 :             pDateStyle->AddMonthDay();
     723           0 :             pDateStyle->AddText(A2OUSTR(", "));
     724           0 :             pDateStyle->AddYear();
     725             :         }
     726           0 :         else if (sFormula == A2OUSTR("%FLD/M/YY") )
     727             :         {
     728           0 :             pDateStyle = new XFDateStyle;
     729           0 :             pDateStyle->AddMonthDay(sal_False);
     730           0 :             pDateStyle->AddText(A2OUSTR("/"));
     731           0 :             pDateStyle->AddMonth(sal_False);
     732           0 :             pDateStyle->AddText(A2OUSTR("/"));
     733           0 :             pDateStyle->AddYear(sal_False);
     734             :         }
     735           0 :         else if (sFormula == A2OUSTR("%FLD Month YYYY"))
     736             :         {
     737           0 :             pDateStyle = new XFDateStyle;
     738           0 :             pDateStyle->AddMonthDay(sal_False);
     739           0 :             pDateStyle->AddText(A2OUSTR(" "));
     740           0 :             pDateStyle->AddMonth(sal_True,sal_True);
     741           0 :             pDateStyle->AddText(A2OUSTR(" "));
     742           0 :             pDateStyle->AddYear();
     743             :         }
     744           0 :         else if (sFormula == A2OUSTR("%FLDD Month YYYY"))
     745             :         {
     746           0 :             pDateStyle = new XFDateStyle;
     747           0 :             pDateStyle->AddMonthDay();
     748           0 :             pDateStyle->AddText(A2OUSTR(" "));
     749           0 :             pDateStyle->AddMonth(sal_True,sal_True);
     750           0 :             pDateStyle->AddText(A2OUSTR(" "));
     751           0 :             pDateStyle->AddYear();
     752             :         }
     753           0 :         else if (sFormula == A2OUSTR("%FLWeekday, D Month YYYY"))
     754             :         {
     755           0 :             pDateStyle = new XFDateStyle;
     756           0 :             pDateStyle->AddWeekDay();
     757           0 :             pDateStyle->AddText(A2OUSTR(", "));
     758           0 :             pDateStyle->AddMonthDay(sal_False);
     759           0 :             pDateStyle->AddText(A2OUSTR(" "));
     760           0 :             pDateStyle->AddMonth(sal_True,sal_True);
     761           0 :             pDateStyle->AddText(A2OUSTR(" "));
     762           0 :             pDateStyle->AddYear();
     763             :         }
     764           0 :         else if (sFormula == A2OUSTR("%FLWeekday, DD Month YYYY"))
     765             :         {
     766           0 :             pDateStyle = new XFDateStyle;
     767           0 :             pDateStyle->AddWeekDay();
     768           0 :             pDateStyle->AddText(A2OUSTR(", "));
     769           0 :             pDateStyle->AddMonthDay();
     770           0 :             pDateStyle->AddText(A2OUSTR(" "));
     771           0 :             pDateStyle->AddMonth(sal_True,sal_True);
     772           0 :             pDateStyle->AddText(A2OUSTR(" "));
     773           0 :             pDateStyle->AddYear();
     774             :         }
     775           0 :         else if (sFormula == A2OUSTR("%FLD Mn YYYY"))
     776             :         {
     777           0 :             pDateStyle = new XFDateStyle;
     778           0 :             pDateStyle->AddMonthDay(sal_False);
     779           0 :             pDateStyle->AddText(A2OUSTR(" "));
     780           0 :             pDateStyle->AddMonth(sal_False,sal_True);
     781           0 :             pDateStyle->AddText(A2OUSTR(" "));
     782           0 :             pDateStyle->AddYear();
     783             :         }
     784           0 :         else if (sFormula == A2OUSTR("%FLWday, D Mn YYYY"))
     785             :         {
     786           0 :             pDateStyle = new XFDateStyle;
     787           0 :             pDateStyle->AddWeekDay(sal_False);
     788           0 :             pDateStyle->AddText(A2OUSTR(", "));
     789           0 :             pDateStyle->AddMonthDay(sal_False);
     790           0 :             pDateStyle->AddText(A2OUSTR(" "));
     791           0 :             pDateStyle->AddMonth(sal_False,sal_True);
     792           0 :             pDateStyle->AddText(A2OUSTR(" "));
     793           0 :             pDateStyle->AddYear();
     794             :         }
     795           0 :         else if (sFormula == A2OUSTR("%FLWday, DD Mn YYYY"))
     796             :         {
     797           0 :             pDateStyle = new XFDateStyle;
     798           0 :             pDateStyle->AddWeekDay(sal_False);
     799           0 :             pDateStyle->AddText(A2OUSTR(", "));
     800           0 :             pDateStyle->AddMonthDay();
     801           0 :             pDateStyle->AddText(A2OUSTR(" "));
     802           0 :             pDateStyle->AddMonth(sal_False,sal_True);
     803           0 :             pDateStyle->AddText(A2OUSTR(" "));
     804           0 :             pDateStyle->AddYear();
     805             :         }
     806           0 :         else if (sFormula == A2OUSTR("%FLD Mn"))
     807             :         {
     808           0 :             pDateStyle = new XFDateStyle;
     809           0 :             pDateStyle->AddMonthDay(sal_False);
     810           0 :             pDateStyle->AddText(A2OUSTR(" "));
     811           0 :             pDateStyle->AddMonth(sal_False,sal_True);
     812             :         }
     813           0 :         else if (sFormula == A2OUSTR("%FLDD Mn"))
     814             :         {
     815           0 :             pDateStyle = new XFDateStyle;
     816           0 :             pDateStyle->AddMonthDay();
     817           0 :             pDateStyle->AddText(A2OUSTR(" "));
     818           0 :             pDateStyle->AddMonth(sal_False,sal_True);
     819             :         }
     820           0 :         else if (sFormula == A2OUSTR("%FLWeekday, D Mn"))
     821             :         {
     822           0 :             pDateStyle = new XFDateStyle;
     823           0 :             pDateStyle->AddWeekDay();
     824           0 :             pDateStyle->AddText(A2OUSTR(", "));
     825           0 :             pDateStyle->AddMonthDay(sal_False);
     826           0 :             pDateStyle->AddText(A2OUSTR(" "));
     827           0 :             pDateStyle->AddMonth(sal_False,sal_True);
     828             :         }
     829           0 :         else if (sFormula == A2OUSTR("%FLWeekday, DD Mn"))
     830             :         {
     831           0 :             pDateStyle = new XFDateStyle;
     832           0 :             pDateStyle->AddWeekDay();
     833           0 :             pDateStyle->AddText(A2OUSTR(", "));
     834           0 :             pDateStyle->AddMonthDay();
     835           0 :             pDateStyle->AddText(A2OUSTR(" "));
     836           0 :             pDateStyle->AddMonth(sal_False,sal_True);
     837             :         }
     838           0 :         else if (sFormula == A2OUSTR("%FLD Mn YY"))
     839             :         {
     840           0 :             pDateStyle = new XFDateStyle;
     841           0 :             pDateStyle->AddMonthDay(sal_False);
     842           0 :             pDateStyle->AddText(A2OUSTR(" "));
     843           0 :             pDateStyle->AddMonth(sal_False,sal_True);
     844           0 :             pDateStyle->AddText(A2OUSTR(" "));
     845           0 :             pDateStyle->AddYear(sal_False);
     846             :         }
     847           0 :         else if (sFormula == A2OUSTR("%FLDD Mn YY"))
     848             :         {
     849           0 :             pDateStyle = new XFDateStyle;
     850           0 :             pDateStyle->AddMonthDay();
     851           0 :             pDateStyle->AddText(A2OUSTR(" "));
     852           0 :             pDateStyle->AddMonth(sal_False,sal_True);
     853           0 :             pDateStyle->AddText(A2OUSTR(" "));
     854           0 :             pDateStyle->AddYear(sal_False);
     855             :         }
     856           0 :         else if (sFormula == A2OUSTR("%FLD/M"))
     857             :         {
     858           0 :             pDateStyle = new XFDateStyle;
     859           0 :             pDateStyle->AddMonthDay(sal_False);
     860           0 :             pDateStyle->AddText(A2OUSTR("/"));
     861           0 :             pDateStyle->AddMonth(sal_False);
     862             :         }
     863           0 :         else if (sFormula == A2OUSTR("%FLDD/MM"))
     864             :         {
     865           0 :             pDateStyle = new XFDateStyle;
     866           0 :             pDateStyle->AddMonthDay();
     867           0 :             pDateStyle->AddText(A2OUSTR("/"));
     868           0 :             pDateStyle->AddMonth();
     869             :         }
     870           0 :         else if(sFormula == A2OUSTR("%FLDD/MM/YY"))
     871             :         {
     872           0 :             pDateStyle = new XFDateStyle;
     873           0 :             pDateStyle->AddMonthDay();
     874           0 :             pDateStyle->AddText(A2OUSTR("/"));
     875           0 :             pDateStyle->AddMonth();
     876           0 :             pDateStyle->AddText(A2OUSTR("/"));
     877           0 :             pDateStyle->AddYear(sal_False);
     878             :         }
     879           0 :         else if (sFormula == A2OUSTR("%FLMM/YY"))
     880             :         {
     881           0 :             pDateStyle = new XFDateStyle;
     882           0 :             pDateStyle->AddMonth();
     883           0 :             pDateStyle->AddText(A2OUSTR("/"));
     884           0 :             pDateStyle->AddYear(sal_False);
     885             :         }
     886             :         //other version end
     887             :     //TIME
     888           0 :         else if (sFormula == A2OUSTR("%FLSystemTime"))
     889             :         {
     890           0 :             pTimeStyle = LwpTools::GetSystemTimeStyle();
     891             :         }
     892           0 :         else if (sFormula == A2OUSTR("%FLISOTime1") || sFormula == A2OUSTR("%FLH:mm:SS"))
     893             :         {
     894           0 :             pTimeStyle = new XFTimeStyle;
     895           0 :             pTimeStyle->AddHour();
     896           0 :             pTimeStyle->AddText(A2OUSTR(":"));
     897           0 :             pTimeStyle->AddMinute();
     898           0 :             pTimeStyle->AddText(A2OUSTR(":"));
     899           0 :             pTimeStyle->AddSecond(sal_True,0);
     900             :         }
     901           0 :         else if (sFormula == A2OUSTR("%FLH:mm ampm"))
     902             :         {
     903           0 :             pTimeStyle = new XFTimeStyle;
     904           0 :             pTimeStyle->AddHour(sal_False);
     905           0 :             pTimeStyle->AddText(A2OUSTR(":"));
     906           0 :             pTimeStyle->AddMinute();
     907           0 :             pTimeStyle->AddText(A2OUSTR(" "));
     908           0 :             pTimeStyle->SetAmPm(sal_True);
     909             :         }
     910           0 :         else if (sFormula == A2OUSTR("%FLH:mm"))
     911             :         {
     912           0 :             pTimeStyle = new XFTimeStyle;
     913           0 :             pTimeStyle->AddHour(sal_False);
     914           0 :             pTimeStyle->AddText(A2OUSTR(":"));
     915           0 :             pTimeStyle->AddMinute();
     916             :         }
     917           0 :         else if (sFormula == A2OUSTR("%FLH:mm:SS ampm"))
     918             :         {
     919           0 :             pTimeStyle = new XFTimeStyle;
     920           0 :             pTimeStyle->AddHour(sal_False);
     921           0 :             pTimeStyle->AddText(A2OUSTR(":"));
     922           0 :             pTimeStyle->AddMinute();
     923           0 :             pTimeStyle->AddText(A2OUSTR(":"));
     924           0 :             pTimeStyle->AddSecond(sal_True,0);
     925           0 :             pTimeStyle->AddText(A2OUSTR(" "));
     926           0 :             pTimeStyle->SetAmPm(sal_True);
     927             :         }
     928           0 :         else if (sFormula == A2OUSTR("%FLH:mm:SS"))
     929             :         {
     930           0 :             pTimeStyle = new XFTimeStyle;
     931           0 :             pTimeStyle->AddHour(sal_False);
     932           0 :             pTimeStyle->AddText(A2OUSTR(":"));
     933           0 :             pTimeStyle->AddMinute();
     934           0 :             pTimeStyle->AddText(A2OUSTR(":"));
     935           0 :             pTimeStyle->AddSecond(sal_True,0);
     936             :         }
     937           0 :         else if (sFormula == A2OUSTR("%FLH ampm"))
     938             :         {
     939           0 :             pTimeStyle = new XFTimeStyle;
     940           0 :             pTimeStyle->AddHour(sal_False);
     941           0 :             pTimeStyle->AddText(A2OUSTR(" "));
     942           0 :             pTimeStyle->SetAmPm(sal_True);
     943             :         }
     944           0 :         else if (sFormula == A2OUSTR("%FLH"))
     945             :         {
     946           0 :             pTimeStyle = new XFTimeStyle;
     947           0 :             pTimeStyle->AddHour(sal_False);
     948             :         }
     949           0 :         else if (sFormula == A2OUSTR("%FLmm"))
     950             :         {
     951           0 :             pTimeStyle = new XFTimeStyle;
     952           0 :             pTimeStyle->AddMinute();
     953             :         }
     954           0 :         else if (sFormula == A2OUSTR("%FLSS"))
     955             :         {
     956           0 :             pTimeStyle = new XFTimeStyle;
     957           0 :             pTimeStyle->AddSecond(sal_True,0);
     958             :         }
     959           0 :         else if (sFormula == A2OUSTR("%FLampm"))
     960             :         {
     961           0 :             pTimeStyle = new XFTimeStyle;
     962           0 :             pTimeStyle->SetAmPm(sal_True);
     963             :         }
     964             :         //chinese version begin
     965           0 :         else     if (sFormula == A2OUSTR("%FLjF") || sFormula == A2OUSTR("%FLJFF")
     966           0 :             || sFormula == A2OUSTR("%FLjjF") || sFormula == A2OUSTR("%FLJJFF ") )
     967             :         {
     968           0 :             pTimeStyle = new XFTimeStyle;
     969           0 :             pTimeStyle->AddHour(sal_False);
     970           0 :             rtl::OUString sText;
     971           0 :             sText = rtl::OUString(0x70b9);
     972           0 :             pTimeStyle->AddText(sText);
     973           0 :             pTimeStyle->AddMinute(sal_False);
     974           0 :             sText = rtl::OUString(0x5206);
     975           0 :             pTimeStyle->AddText(sText);
     976             :         }
     977           0 :         else if (sFormula == A2OUSTR("%FLjjjF") || sFormula == A2OUSTR("%FLJJJFF") )
     978             :         {
     979           0 :             pTimeStyle = new XFTimeStyle;
     980           0 :             pTimeStyle->SetAmPm(sal_True);
     981           0 :             pTimeStyle->AddHour(sal_False);
     982           0 :             rtl::OUString sText;
     983           0 :             sText = rtl::OUString(0x70b9);
     984           0 :             pTimeStyle->AddText(sText);
     985           0 :             pTimeStyle->AddMinute(sal_False);
     986           0 :             sText = rtl::OUString(0x5206);
     987           0 :             pTimeStyle->AddText(sText);
     988             :         }
     989             :         //chinese version end
     990             :         //other version begin
     991           0 :         else if (sFormula == A2OUSTR("%FLHH:mm ampm"))
     992             :         {
     993           0 :             pTimeStyle = new XFTimeStyle;
     994           0 :             pTimeStyle->AddHour();
     995           0 :             pTimeStyle->AddText(A2OUSTR(":"));
     996           0 :             pTimeStyle->AddMinute();
     997           0 :             pTimeStyle->AddText(A2OUSTR(" "));
     998           0 :             pTimeStyle->SetAmPm(sal_True);
     999             :         }
    1000           0 :         else if (sFormula == A2OUSTR("%FLHH ampm"))
    1001             :         {
    1002           0 :             pTimeStyle = new XFTimeStyle;
    1003           0 :             pTimeStyle->AddHour();
    1004           0 :             pTimeStyle->AddText(A2OUSTR(" "));
    1005           0 :             pTimeStyle->SetAmPm(sal_True);
    1006             :         }
    1007           0 :         else if (sFormula == A2OUSTR("%FLHH:mm:SS ampm"))
    1008             :         {
    1009           0 :             pTimeStyle = new XFTimeStyle;
    1010           0 :             pTimeStyle->AddHour();
    1011           0 :             pTimeStyle->AddText(A2OUSTR(":"));
    1012           0 :             pTimeStyle->AddMinute();
    1013           0 :             pTimeStyle->AddText(A2OUSTR(":"));
    1014           0 :             pTimeStyle->AddSecond(sal_True,0);
    1015           0 :             pTimeStyle->AddText(A2OUSTR(" "));
    1016           0 :             pTimeStyle->SetAmPm(sal_True);
    1017             :         }
    1018           0 :         else if (sFormula == A2OUSTR("%FLHH:mm"))
    1019             :         {
    1020           0 :             pTimeStyle = new XFTimeStyle;
    1021           0 :             pTimeStyle->AddHour();
    1022           0 :             pTimeStyle->AddText(A2OUSTR(":"));
    1023           0 :             pTimeStyle->AddMinute();
    1024             :         }
    1025           0 :         else if (sFormula == A2OUSTR("%FLHH:mm:SS"))
    1026             :         {
    1027           0 :             pTimeStyle = new XFTimeStyle;
    1028           0 :             pTimeStyle->AddHour();
    1029           0 :             pTimeStyle->AddText(A2OUSTR(":"));
    1030           0 :             pTimeStyle->AddMinute();
    1031           0 :             pTimeStyle->AddText(A2OUSTR(":"));
    1032           0 :             pTimeStyle->AddSecond(sal_True,0);
    1033             :         }
    1034             :         //other version end
    1035             :     }
    1036           0 :     else if(sFormula[1] == 'D')
    1037             :     {
    1038           0 :         if (sFormula == A2OUSTR("%Da"))
    1039             :         {
    1040           0 :             pDateStyle = LwpTools::GetSystemDateStyle(sal_False);
    1041             :         }
    1042           0 :         else if (sFormula == A2OUSTR("%DB") || sFormula == A2OUSTR("%Db"))
    1043             :         {
    1044           0 :             pDateStyle = new XFDateStyle;
    1045           0 :             pDateStyle->AddMonth(sal_True,sal_True);
    1046           0 :             pDateStyle->AddText(A2OUSTR(" "));
    1047           0 :             pDateStyle->AddMonthDay(sal_False);
    1048           0 :             pDateStyle->AddText(A2OUSTR(", "));
    1049           0 :             pDateStyle->AddYear();
    1050             :         }
    1051           0 :         else if (sFormula == A2OUSTR("%Dc") || sFormula == A2OUSTR("%DC"))
    1052             :         {
    1053           0 :             pDateStyle = new XFDateStyle;
    1054           0 :             pDateStyle->AddMonthDay(sal_False);
    1055           0 :             pDateStyle->AddText(A2OUSTR(" "));
    1056           0 :             pDateStyle->AddMonth(sal_True,sal_True);
    1057           0 :             pDateStyle->AddText(A2OUSTR(" "));
    1058           0 :             pDateStyle->AddYear();
    1059             :         }
    1060           0 :         else if (sFormula == A2OUSTR("%Dd") || sFormula == A2OUSTR("%DD"))
    1061             :         {
    1062           0 :             pDateStyle = new XFDateStyle;
    1063           0 :             pDateStyle->AddWeekDay();
    1064           0 :             pDateStyle->AddText(A2OUSTR(", "));
    1065           0 :             pDateStyle->AddMonth(sal_True,sal_True);
    1066           0 :             pDateStyle->AddText(A2OUSTR(" "));
    1067           0 :             pDateStyle->AddMonthDay(sal_False);
    1068           0 :             pDateStyle->AddText(A2OUSTR(", "));
    1069           0 :             pDateStyle->AddYear();
    1070             :         }
    1071           0 :         else if (sFormula == A2OUSTR("%DE") || sFormula == A2OUSTR("%De"))
    1072             :         {
    1073           0 :             pDateStyle = new XFDateStyle;
    1074           0 :             pDateStyle->AddMonth(sal_True,sal_True);
    1075           0 :             pDateStyle->AddText(A2OUSTR(" "));
    1076           0 :             pDateStyle->AddMonthDay(sal_False);
    1077             :         }
    1078           0 :         else if (sFormula == A2OUSTR("%Df") || sFormula == A2OUSTR("%DF"))
    1079             :         {
    1080           0 :             pDateStyle = new XFDateStyle;
    1081           0 :             pDateStyle->AddWeekDay();
    1082           0 :             pDateStyle->AddText(A2OUSTR(" "));
    1083           0 :             pDateStyle->AddMonth(sal_True,sal_True);
    1084           0 :             pDateStyle->AddText(A2OUSTR(" "));
    1085           0 :             pDateStyle->AddMonthDay(sal_False);
    1086             :         }
    1087           0 :         else if (sFormula == A2OUSTR("%Dg"))
    1088             :         {
    1089           0 :             pDateStyle = new XFDateStyle;
    1090           0 :             pDateStyle->AddMonth(sal_False);
    1091           0 :             pDateStyle->AddText(A2OUSTR("/"));
    1092           0 :             pDateStyle->AddMonthDay(sal_False);
    1093             :         }
    1094           0 :         else if (sFormula == A2OUSTR("%Dh"))
    1095             :         {
    1096           0 :             pDateStyle = new XFDateStyle;
    1097           0 :             pDateStyle->AddMonth(sal_False);
    1098           0 :             pDateStyle->AddText(A2OUSTR("/"));
    1099           0 :             pDateStyle->AddMonthDay(sal_False);
    1100           0 :             pDateStyle->AddText(A2OUSTR("/"));
    1101           0 :             pDateStyle->AddYear();
    1102             :         }
    1103           0 :         else if (sFormula == A2OUSTR("%Di") || sFormula == A2OUSTR("%DI"))
    1104             :         {
    1105           0 :             pDateStyle = new XFDateStyle;
    1106           0 :             pDateStyle->AddMonthDay(sal_False);
    1107           0 :             pDateStyle->AddText(A2OUSTR("."));
    1108           0 :             pDateStyle->AddMonth(sal_True,sal_True);
    1109             :         }
    1110           0 :         else if (sFormula == A2OUSTR("%Dj") || sFormula == A2OUSTR("%DJ"))
    1111             :         {
    1112           0 :             pDateStyle = new XFDateStyle;
    1113           0 :             pDateStyle->AddMonthDay(sal_False);
    1114           0 :             pDateStyle->AddText(A2OUSTR("."));
    1115           0 :             pDateStyle->AddMonth(sal_True,sal_True);
    1116           0 :             pDateStyle->AddText(A2OUSTR(" "));
    1117           0 :             pDateStyle->AddYear();
    1118             :         }
    1119           0 :         else if (sFormula == A2OUSTR("%Dk") || sFormula == A2OUSTR("%DK"))
    1120             :         {
    1121           0 :             pDateStyle = new XFDateStyle;
    1122           0 :             pDateStyle->AddYear();
    1123           0 :             pDateStyle->AddText(A2OUSTR(" "));
    1124           0 :             pDateStyle->AddMonth(sal_True,sal_True);
    1125           0 :             pDateStyle->AddText(A2OUSTR(" "));
    1126           0 :             pDateStyle->AddMonthDay(sal_False);
    1127             :         }
    1128           0 :         else if (sFormula == A2OUSTR("%DL") || sFormula == A2OUSTR("%Dl"))
    1129             :         {
    1130           0 :             pDateStyle = new XFDateStyle;
    1131           0 :             pDateStyle->AddMonth(sal_True,sal_True);
    1132           0 :             pDateStyle->AddText(A2OUSTR(","));
    1133           0 :             pDateStyle->AddYear();
    1134             :         }
    1135           0 :         else if (sFormula == A2OUSTR("%Dm"))
    1136             :         {
    1137           0 :             pDateStyle = new XFDateStyle;
    1138           0 :             pDateStyle->AddMonthDay();
    1139           0 :             pDateStyle->AddText(A2OUSTR("/"));
    1140           0 :             pDateStyle->AddMonth();
    1141           0 :             pDateStyle->AddText(A2OUSTR("/"));
    1142           0 :             pDateStyle->AddYear();
    1143             :         }
    1144             :     }
    1145           0 :     else if (sFormula[1] == 'T')
    1146             :     {
    1147           0 :         if (sFormula == A2OUSTR("%T1"))
    1148             :         {
    1149           0 :             pTimeStyle = new XFTimeStyle;
    1150           0 :             pTimeStyle->AddHour();
    1151           0 :             pTimeStyle->AddText(A2OUSTR(":"));
    1152           0 :             pTimeStyle->AddMinute();
    1153             :         }
    1154           0 :         else if (sFormula == A2OUSTR("%T2") || sFormula == A2OUSTR("%T6")
    1155           0 :          || sFormula == A2OUSTR("%T4") || sFormula == A2OUSTR("%T8") )
    1156             :         {
    1157           0 :             pTimeStyle = new XFTimeStyle;
    1158           0 :             pTimeStyle->AddHour(sal_False);
    1159           0 :             pTimeStyle->AddText(A2OUSTR(":"));
    1160           0 :             pTimeStyle->AddMinute();
    1161           0 :             pTimeStyle->AddText(A2OUSTR(":"));
    1162           0 :             pTimeStyle->SetAmPm(sal_True);
    1163             :         }
    1164           0 :         else if (sFormula == A2OUSTR("%T3") || sFormula == A2OUSTR("%T7")
    1165           0 :          || sFormula == A2OUSTR("%T5") || sFormula == A2OUSTR("%T9"))
    1166             :         {
    1167           0 :             pTimeStyle = new XFTimeStyle;
    1168           0 :             pTimeStyle->AddHour();
    1169           0 :             pTimeStyle->AddText(A2OUSTR(":"));
    1170           0 :             pTimeStyle->AddMinute();
    1171           0 :             pTimeStyle->AddText(A2OUSTR(":"));
    1172           0 :             pTimeStyle->SetAmPm(sal_True);
    1173             :         }
    1174             :     }
    1175           3 :     XFStyleManager* pXFStyleManager = LwpGlobalMgr::GetInstance()->GetXFStyleManager();
    1176           3 :     if (pDateStyle)
    1177           3 :         m_TimeStyle = pXFStyleManager->AddStyle(pDateStyle)->GetStyleName();
    1178           3 :     if (pTimeStyle)
    1179           0 :         m_TimeStyle = pXFStyleManager->AddStyle(pTimeStyle)->GetStyleName();
    1180             : }
    1181             : 
    1182           4 : void LwpFribField::CheckFieldType(LwpFieldMark* pFieldMark)
    1183             : {
    1184             :     sal_uInt8 nType;
    1185           4 :     OUString sFormula;
    1186           4 :     if (pFieldMark->IsDateTimeField(nType,sFormula))
    1187             :     {
    1188           4 :         m_nDateTimeType = nType;
    1189           4 :         m_sFormula = sFormula;
    1190           4 :         m_nSubType = SUBFIELD_DATETIME;
    1191             :     }
    1192           0 :     else if (pFieldMark->IsCrossRefField(nType,sFormula))
    1193             :     {
    1194           0 :         m_nCrossRefType = nType;
    1195           0 :         m_sFormula = sFormula;
    1196           0 :         m_nSubType = SUBFIELD_CROSSREF;
    1197             :     }
    1198           0 :     else if (pFieldMark->IsDocPowerField(nType,sFormula))
    1199             :     {
    1200           0 :         m_nDocPowerType = nType;
    1201           0 :         m_nSubType = SUBFIELD_DOCPOWER;
    1202             :     }
    1203             :     else
    1204             :     {
    1205           0 :         m_nSubType = SUBFIELD_INVALID;
    1206           4 :     }
    1207           4 : }
    1208             : 
    1209           0 : void LwpFribField::ConvertDocFieldStart(XFContentContainer* pXFPara,LwpFieldMark* pFieldMark)
    1210             : {
    1211           0 :     XFContent* pContent = NULL;
    1212           0 :     switch(m_nDocPowerType)
    1213             :     {
    1214             :         case LwpFieldMark::DOC_DESCRIPTION:
    1215             :         {
    1216           0 :             pContent = new XFDescriptionStart;
    1217           0 :             break;
    1218             :         }
    1219             :         case LwpFieldMark::DOC_NUMPAGES:
    1220             :         {
    1221           0 :             pContent = new XFPageCountStart;
    1222           0 :             break;
    1223             :         }
    1224             :         case LwpFieldMark::DOC_NUMWORDS:
    1225             :         {
    1226           0 :             pContent = new XFWordCountStart;
    1227           0 :             break;
    1228             :         }
    1229             :         case LwpFieldMark::DOC_NUMCHARS:
    1230             :         {
    1231           0 :             pContent = new XFCharCountStart;
    1232           0 :             break;
    1233             :         }
    1234             : //      case LwpFieldMark::DOC_TOTALTIME:
    1235             : //      {
    1236             : //          pContent = new XFTotalEditTimeStart;
    1237             : //          pContent->SetStyleName(m_TimeStyle);
    1238             : //          break;
    1239             : //      }
    1240             :     }
    1241           0 :     if (pContent)
    1242             :     {
    1243           0 :         if (m_ModFlag)//(m_pModifiers)
    1244             :         {
    1245           0 :             XFTextSpanStart* pSpan = new XFTextSpanStart;
    1246           0 :             pSpan->SetStyleName(GetStyleName());
    1247           0 :             pSpan->Add(pContent);
    1248           0 :             pXFPara->Add(pSpan);
    1249           0 :             pFieldMark->SetStyleFlag(sal_True);
    1250             :         }
    1251             :         else
    1252           0 :             pXFPara->Add(pContent);
    1253             :     }
    1254           0 : }
    1255             : 
    1256           0 : void LwpFribField::ConvertDocFieldEnd(XFContentContainer* pXFPara,LwpFieldMark* pFieldMark)
    1257             : {
    1258           0 :     XFContent* pContent = NULL;
    1259           0 :     switch(m_nDocPowerType)
    1260             :     {
    1261             :         case LwpFieldMark::DOC_DESCRIPTION:
    1262             :         {
    1263           0 :             pContent = new XFDescriptionEnd;
    1264           0 :             break;
    1265             :         }
    1266             :         case LwpFieldMark::DOC_NUMPAGES:
    1267             :         {
    1268           0 :             pContent = new XFPageCountEnd;
    1269           0 :             break;
    1270             :         }
    1271             :         case LwpFieldMark::DOC_NUMWORDS:
    1272             :         {
    1273           0 :             pContent = new XFWordCountEnd;
    1274           0 :             break;
    1275             :         }
    1276             :         case LwpFieldMark::DOC_NUMCHARS:
    1277             :         {
    1278           0 :             pContent = new XFCharCountEnd;
    1279           0 :             break;
    1280             :         }
    1281             : //      case LwpFieldMark::DOC_TOTALTIME:
    1282             : //      {
    1283             : //          pContent = new XFTotalEditTimeEnd;
    1284             : //          break;
    1285             : //      }
    1286             :     }
    1287           0 :     if (pContent)
    1288             :     {
    1289           0 :         if (pFieldMark->GetStyleFlag())
    1290             :         {
    1291           0 :             XFTextSpanEnd* pSpan = new XFTextSpanEnd;
    1292           0 :             pSpan->Add(pContent);
    1293           0 :             pXFPara->Add(pSpan);
    1294             :         }
    1295             :         else
    1296           0 :             pXFPara->Add(pContent);
    1297             :     }
    1298           0 : }
    1299             : 
    1300           2 : void LwpFribField::ConvertDateTimeStart(XFContentContainer* pXFPara,LwpFieldMark* pFieldMark)
    1301             : {
    1302           2 :     XFContent* pContent = NULL;
    1303           2 :     switch(m_nDateTimeType)
    1304             :     {
    1305             :     case LwpFieldMark::DATETIME_NOW:
    1306             :     {
    1307           2 :         pContent = new XFDateStart;
    1308           2 :         pContent->SetStyleName(m_TimeStyle);
    1309           2 :         break;
    1310             :     }
    1311             :     case LwpFieldMark::DATETIME_CREATE:
    1312             :     {
    1313           0 :         pContent = new XFCreateTimeStart;
    1314           0 :         pContent->SetStyleName(m_TimeStyle);
    1315           0 :         break;
    1316             :     }
    1317             :     case LwpFieldMark::DATETIME_LASTEDIT:
    1318             :     {
    1319           0 :         pContent = new XFLastEditTimeStart;
    1320           0 :         pContent->SetStyleName(m_TimeStyle);
    1321           0 :         break;
    1322             :     }
    1323             :     case LwpFieldMark::DATETIME_TOTALTIME:
    1324             :     {
    1325           0 :         pContent = new XFTotalEditTimeStart;
    1326           0 :         pContent->SetStyleName(m_TimeStyle);
    1327           0 :         break;
    1328             :     }
    1329             :     default:
    1330           0 :         break;
    1331             :     }
    1332           2 :     if (pContent)
    1333             :     {
    1334           2 :         if (m_ModFlag)//(m_pModifiers)
    1335             :         {
    1336           0 :             XFTextSpanStart* pSpan = new XFTextSpanStart;
    1337           0 :             pSpan->SetStyleName(GetStyleName());
    1338           0 :             pSpan->Add(pContent);
    1339           0 :             pXFPara->Add(pSpan);
    1340           0 :             pFieldMark->SetStyleFlag(sal_True);
    1341             :         }
    1342             :         else
    1343           2 :             pXFPara->Add(pContent);
    1344             :     }
    1345             : 
    1346           2 : }
    1347             : 
    1348           2 : void LwpFribField::ConvertDateTimeEnd(XFContentContainer* pXFPara,LwpFieldMark* pFieldMark)
    1349             : {
    1350           2 :     XFContent* pContent = NULL;
    1351           2 :     switch(m_nDateTimeType)
    1352             :     {
    1353             :         case LwpFieldMark::DATETIME_NOW:
    1354             :         {
    1355           2 :             pContent = new XFDateEnd;
    1356           2 :             break;
    1357             :         }
    1358             :         case LwpFieldMark::DATETIME_CREATE:
    1359             :         {
    1360           0 :             pContent = new XFCreateTimeEnd;
    1361           0 :             break;
    1362             :         }
    1363             :         case LwpFieldMark::DATETIME_LASTEDIT:
    1364             :         {
    1365           0 :             pContent = new XFLastEditTimeEnd;
    1366           0 :             break;
    1367             :         }
    1368             :         case LwpFieldMark::DATETIME_TOTALTIME:
    1369             :         {
    1370           0 :             pContent = new XFTotalEditTimeEnd;
    1371           0 :             break;
    1372             :         }
    1373             :     }
    1374           2 :     if (pContent)
    1375             :     {
    1376           2 :         if (pFieldMark->GetStyleFlag())
    1377             :         {
    1378           0 :             XFTextSpanEnd* pSpan = new XFTextSpanEnd;
    1379           0 :             pSpan->Add(pContent);
    1380           0 :             pXFPara->Add(pSpan);
    1381             :         }
    1382             :         else
    1383           2 :             pXFPara->Add(pContent);
    1384             :     }
    1385           2 : }
    1386             : 
    1387           0 : void LwpFribField::ConvertCrossRefStart(XFContentContainer* pXFPara,LwpFieldMark* pFieldMark)
    1388             : {
    1389           0 :     XFCrossRefStart* pRef = new XFCrossRefStart;
    1390           0 :     pRef->SetRefType(m_nCrossRefType);
    1391           0 :     pRef->SetMarkName(m_sFormula);
    1392             : //  pFieldMark->SetStart(sal_True);//for some disnormal cases
    1393           0 :     if (m_ModFlag)
    1394             :     {
    1395           0 :         XFTextSpanStart* pSpan = new XFTextSpanStart;
    1396           0 :         pSpan->SetStyleName(GetStyleName());
    1397           0 :         pSpan->Add(pRef);
    1398           0 :         pXFPara->Add(pSpan);
    1399           0 :         pFieldMark->SetStyleFlag(sal_True);
    1400             :     }
    1401             :     else
    1402           0 :         pXFPara->Add(pRef);
    1403           0 : }
    1404             : 
    1405           0 : void LwpFribField::ConvertCrossRefEnd(XFContentContainer* pXFPara,LwpFieldMark* pFieldMark)
    1406             : {
    1407           0 :     XFCrossRefEnd* pRef = new XFCrossRefEnd;
    1408           0 :     if (pFieldMark->GetStyleFlag())
    1409             :     {
    1410           0 :         XFTextSpanEnd* pSpan = new XFTextSpanEnd;
    1411           0 :         pSpan->Add(pRef);
    1412           0 :         pXFPara->Add(pSpan);
    1413             :     }
    1414             :     else
    1415           0 :         pXFPara->Add(pRef);
    1416           0 : }
    1417             : 
    1418           0 : LwpFribRubyMarker::LwpFribRubyMarker( LwpPara* pPara ): LwpFrib(pPara)
    1419             : {
    1420           0 : }
    1421             : 
    1422           0 : LwpRubyMarker* LwpFribRubyMarker::GetMarker()
    1423             : {
    1424           0 :     return dynamic_cast<LwpRubyMarker*>(m_objMarker.obj(VO_RUBYMARKER));
    1425             : }
    1426             : 
    1427           0 : void LwpFribRubyMarker::Read(LwpObjectStream* pObjStrm, sal_uInt16 /*len*/)
    1428             : {
    1429           0 :     m_objMarker.ReadIndexed(pObjStrm);
    1430           0 :     m_nType = pObjStrm->QuickReaduInt8();
    1431           0 : }
    1432             : 
    1433           0 : void LwpFribRubyMarker::XFConvert(XFContentContainer* pXFPara)
    1434             : {
    1435           0 :     sal_uInt8 type = GetType();
    1436           0 :     LwpRubyMarker* pMarker = GetMarker();
    1437             : 
    1438           0 :     if (type == MARKER_START)
    1439             :     {
    1440           0 :         XFRubyStart* pRubyStart = new XFRubyStart;
    1441           0 :         if (pMarker)
    1442             :         {
    1443           0 :             pRubyStart->SetStyleName(pMarker->GetRubyStyleName());
    1444             :         }
    1445           0 :         pXFPara->Add(pRubyStart);
    1446             :     }
    1447           0 :     else if(type == MARKER_END)
    1448             :     {
    1449           0 :         XFRubyEnd* pRubyEnd = new XFRubyEnd;
    1450           0 :         if (pMarker)
    1451             :         {
    1452           0 :             pRubyEnd->SetText(pMarker->GetRubyText());
    1453           0 :             pRubyEnd->SetStyleName(pMarker->GetTextStyleName());
    1454             :         }
    1455           0 :         pXFPara->Add(pRubyEnd);
    1456             :     }
    1457           0 : }
    1458             : 
    1459           0 : void LwpFribRubyMarker::RegisterStyle(LwpFoundry* /*pFoundry*/)
    1460             : {
    1461           0 : }
    1462             : 
    1463             : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */

Generated by: LCOV version 1.10