summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRüdiger Timm <rt@openoffice.org>2008-09-04 09:23:01 +0000
committerRüdiger Timm <rt@openoffice.org>2008-09-04 09:23:01 +0000
commit9ec9822b6a63f985fe5c7134102dc0d45bd7fa97 (patch)
tree046ba08cd648d656a2a70164cd8ebe44f695cac9
parentfa21e6249822611f504e2539a283b39ce28ff4e1 (diff)
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
-rw-r--r--sw/source/core/unocore/unocoll.cxx25
1 files 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;
}
/******************************************************************