From 9ec9822b6a63f985fe5c7134102dc0d45bd7fa97 Mon Sep 17 00:00:00 2001 From: RĂ¼diger Timm Date: Thu, 4 Sep 2008 09:23:01 +0000 Subject: INTEGRATION: CWS swenhancedfields2 (1.39.18); FILE MERGED 2008/08/07 11:51:12 b_michaelsen 1.39.18.3: fixed formatting in trvlfrm.cxx portxt.cxx portxt.hxx swfont.cxx unobkm.cxx unocoll.cxx amd unoportenum.cxx 2008/08/04 14:17:57 b_michaelsen 1.39.18.2: RESYNC: (1.39-1.40); FILE MERGED 2008/04/23 14:29:19 ama 1.39.18.1: #i33737#: Enhanced fields --- sw/source/core/unocore/unocoll.cxx | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/sw/source/core/unocore/unocoll.cxx b/sw/source/core/unocore/unocoll.cxx index 112026a3ac5a..c3d67474dce3 100644 --- a/sw/source/core/unocore/unocoll.cxx +++ b/sw/source/core/unocore/unocoll.cxx @@ -7,7 +7,7 @@ * OpenOffice.org - a multi-platform office productivity suite * * $RCSfile: unocoll.cxx,v $ - * $Revision: 1.40 $ + * $Revision: 1.41 $ * * This file is part of OpenOffice.org. * @@ -200,6 +200,8 @@ const ProvNamesId_Type __FAR_DATA aProvNamesId[] = { "com.sun.star.image.ImageMapCircleObject", SW_SERVICE_IMAP_CIRCLE }, { "com.sun.star.image.ImageMapPolygonObject", SW_SERVICE_IMAP_POLYGON }, { "com.sun.star.text.TextGraphicObject", SW_SERVICE_TYPE_TEXT_GRAPHIC }, + { "com.sun.star.text.Fieldmark", SW_SERVICE_TYPE_FIELDMARK }, + { "com.sun.star.text.FormFieldmark", SW_SERVICE_TYPE_FORMFIELDMARK }, { "com.sun.star.chart2.data.DataProvider", SW_SERVICE_CHART2_DATA_PROVIDER }, // case-correct versions of the service names (see #i67811) @@ -369,6 +371,18 @@ uno::Reference< uno::XInterface > SwXServiceProvider::MakeInstance(sal_uInt16 xRet = (cppu::OWeakObject*)pBookmark; } break; + case SW_SERVICE_TYPE_FIELDMARK : + { + SwXFieldmark* pFieldmark = new SwXFieldmark(false); + xRet = (cppu::OWeakObject*)pFieldmark; + } + break; + case SW_SERVICE_TYPE_FORMFIELDMARK : + { + SwXFieldmark* pFieldmark = new SwXFieldmark(true); + xRet = (cppu::OWeakObject*)pFieldmark; + } + break; case SW_SERVICE_TYPE_FOOTNOTE : xRet = (cppu::OWeakObject*)new SwXFootnote(sal_False); break; @@ -1570,7 +1584,14 @@ SwXBookmark* SwXBookmarks::GetObject( SwBookmark& rBkm, SwDoc* pDoc ) SwXBookmark* pBkm = (SwXBookmark*)SwClientIter( rBkm ). First( TYPE( SwXBookmark )); if( !pBkm ) - pBkm = new SwXBookmark(&rBkm, pDoc); + { + if (IDocumentBookmarkAccess::FORM_FIELDMARK_TEXT==rBkm.GetType()) + pBkm = new SwXFieldmark(false, &rBkm, pDoc); + else if (IDocumentBookmarkAccess::FORM_FIELDMARK_NO_TEXT==rBkm.GetType()) + pBkm = new SwXFieldmark(true, &rBkm, pDoc); + else + pBkm = new SwXBookmark(&rBkm, pDoc); + } return pBkm; } /****************************************************************** -- cgit