summaryrefslogtreecommitdiff
path: root/sw/source/filter/ww8
diff options
context:
space:
mode:
Diffstat (limited to 'sw/source/filter/ww8')
-rw-r--r--sw/source/filter/ww8/attributeoutputbase.hxx2
-rw-r--r--sw/source/filter/ww8/wrtw8esh.cxx5
-rw-r--r--sw/source/filter/ww8/wrtw8nds.cxx23
-rw-r--r--sw/source/filter/ww8/ww8atr.cxx25
-rw-r--r--sw/source/filter/ww8/ww8par.cxx43
-rw-r--r--sw/source/filter/ww8/ww8par3.cxx156
-rw-r--r--sw/source/filter/ww8/ww8par5.cxx8
7 files changed, 126 insertions, 136 deletions
diff --git a/sw/source/filter/ww8/attributeoutputbase.hxx b/sw/source/filter/ww8/attributeoutputbase.hxx
index a644371385ce..b3a0f03cfad1 100644
--- a/sw/source/filter/ww8/attributeoutputbase.hxx
+++ b/sw/source/filter/ww8/attributeoutputbase.hxx
@@ -437,7 +437,7 @@ protected:
/// Sfx item RES_TXTATR_CHARFMT
virtual void TextCharFormat( const SwFmtCharFmt& ) = 0;
- /// Sfx item RES_TXTATR_FIELD
+ /// Sfx item RES_TXTATR_FIELD and RES_TXTATR_INPUTFIELD
void TextField( const SwFmtFld& );
/// Sfx item RES_TXTATR_FLYCNT
diff --git a/sw/source/filter/ww8/wrtw8esh.cxx b/sw/source/filter/ww8/wrtw8esh.cxx
index 4355fcdc7148..47c21884c4da 100644
--- a/sw/source/filter/ww8/wrtw8esh.cxx
+++ b/sw/source/filter/ww8/wrtw8esh.cxx
@@ -563,11 +563,10 @@ void WW8Export::DoFormText(const SwInputField * pFld)
OutputField(0, ww::eFORMTEXT, aEmptyStr, WRITEFIELD_CMD_END);
- String const fieldStr( pFld->ExpandField(true) );
+ const String fieldStr( pFld->ExpandField(true) );
SwWW8Writer::WriteString16(Strm(), fieldStr, false);
static sal_uInt8 aArr2[] = {
- 0x03, 0x6a, 0x00, 0x00, 0x00, 0x00, // sprmCPicLocation
0x55, 0x08, 0x01, // sprmCFSpec
0x75, 0x08, 0x01 // ???
};
@@ -2105,7 +2104,7 @@ sal_Int32 SwBasicEscherEx::WriteFlyFrameAttr(const SwFrmFmt& rFmt,
{
const SvxShadowItem* pSI = (const SvxShadowItem*)pShadItem;
- const sal_uInt16 nCstScale = 635; // unit scale between SODC and MS Word
+ const sal_uInt16 nCstScale = 635; // unit scale between AOO and MS Word
const sal_uInt32 nShadowType = 131074; // shadow type of ms word. need to set the default value.
sal_uInt32 nColor = (sal_uInt32)(pSI->GetColor().GetColor()) ;
diff --git a/sw/source/filter/ww8/wrtw8nds.cxx b/sw/source/filter/ww8/wrtw8nds.cxx
index cf2032f164ba..813b9e821496 100644
--- a/sw/source/filter/ww8/wrtw8nds.cxx
+++ b/sw/source/filter/ww8/wrtw8nds.cxx
@@ -396,9 +396,9 @@ xub_StrLen WW8SwAttrIter::SearchNext( xub_StrLen nStartPos )
if( nPos >= nStartPos && nPos <= nMinPos )
nMinPos = nPos;
- if( pHt->GetEnd() ) // Attr mit Ende
+ if( pHt->End() ) // Attr mit Ende
{
- nPos = *pHt->GetEnd(); // gibt letztes Attr-Zeichen + 1
+ nPos = *pHt->End(); // gibt letztes Attr-Zeichen + 1
if( nPos >= nStartPos && nPos <= nMinPos )
nMinPos = nPos;
}
@@ -491,7 +491,7 @@ void WW8SwAttrIter::OutAttr( xub_StrLen nSwPos )
for (xub_StrLen i = 0; i < pTxtAttrs->Count(); ++i)
{
const SwTxtAttr* pHt = (*pTxtAttrs)[i];
- const xub_StrLen* pEnd = pHt->GetEnd();
+ const xub_StrLen* pEnd = pHt->End();
if (pEnd ? ( nSwPos >= *pHt->GetStart() && nSwPos < *pEnd)
: nSwPos == *pHt->GetStart() )
@@ -601,14 +601,17 @@ void WW8SwAttrIter::OutFlys(xub_StrLen nSwPos)
bool WW8SwAttrIter::IsTxtAttr( xub_StrLen nSwPos )
{
- // search for attrs with CH_TXTATR
+ // search for attrs with dummy character or content
if (const SwpHints* pTxtAttrs = rNd.GetpSwpHints())
{
for (sal_uInt16 i = 0; i < pTxtAttrs->Count(); ++i)
{
const SwTxtAttr* pHt = (*pTxtAttrs)[i];
- if ( pHt->HasDummyChar() && (*pHt->GetStart() == nSwPos) )
+ if ( ( pHt->HasDummyChar() || pHt->HasContent() )
+ && (*pHt->GetStart() == nSwPos) )
+ {
return true;
+ }
}
}
@@ -666,7 +669,7 @@ const SfxPoolItem* WW8SwAttrIter::HasTextItem( sal_uInt16 nWhich ) const
const SwTxtAttr* pHt = (*pTxtAttrs)[i];
const SfxPoolItem* pItem = &pHt->GetAttr();
const xub_StrLen* pAtrEnd = 0;
- if( 0 != ( pAtrEnd = pHt->GetEnd() ) && // nur Attr mit Ende
+ if( 0 != ( pAtrEnd = pHt->End() ) && // nur Attr mit Ende
nWhich == pItem->Which() && //
nTmpSwPos >= *pHt->GetStart() && nTmpSwPos < *pAtrEnd )
{
@@ -1115,7 +1118,7 @@ void AttributeOutputBase::TOXMark( const SwTxtNode& rNode, const SwTOXMark& rAtt
ww::eField eType = ww::eNONE;
const SwTxtTOXMark& rTxtTOXMark = *rAttr.GetTxtTOXMark();
- const xub_StrLen* pTxtEnd = rTxtTOXMark.GetEnd();
+ const xub_StrLen* pTxtEnd = rTxtTOXMark.End();
if ( pTxtEnd ) // has range?
{
sTxt = rNode.GetExpandTxt( *rTxtTOXMark.GetStart(),
@@ -1188,7 +1191,7 @@ int WW8SwAttrIter::OutAttrWithRange(xub_StrLen nPos)
if ( m_rExport.AttrOutput().StartURL( rINet->GetValue(), rINet->GetTargetFrame() ) )
++nRet;
}
- if ( 0 != ( pEnd = pHt->GetEnd() ) && nPos == *pEnd )
+ if ( 0 != ( pEnd = pHt->End() ) && nPos == *pEnd )
{
if ( m_rExport.AttrOutput().EndURL() )
--nRet;
@@ -1200,7 +1203,7 @@ int WW8SwAttrIter::OutAttrWithRange(xub_StrLen nPos)
OutSwFmtRefMark( *static_cast< const SwFmtRefMark* >( pItem ), true );
++nRet;
}
- if ( 0 != ( pEnd = pHt->GetEnd() ) && nPos == *pEnd )
+ if ( 0 != ( pEnd = pHt->End() ) && nPos == *pEnd )
{
OutSwFmtRefMark( *static_cast< const SwFmtRefMark* >( pItem ), false );
--nRet;
@@ -1216,7 +1219,7 @@ int WW8SwAttrIter::OutAttrWithRange(xub_StrLen nPos)
m_rExport.AttrOutput().StartRuby( rNd, *static_cast< const SwFmtRuby* >( pItem ) );
++nRet;
}
- if ( 0 != ( pEnd = pHt->GetEnd() ) && nPos == *pEnd )
+ if ( 0 != ( pEnd = pHt->End() ) && nPos == *pEnd )
{
m_rExport.AttrOutput().EndRuby();
--nRet;
diff --git a/sw/source/filter/ww8/ww8atr.cxx b/sw/source/filter/ww8/ww8atr.cxx
index 7616c90c4ca8..e5e137f4596a 100644
--- a/sw/source/filter/ww8/ww8atr.cxx
+++ b/sw/source/filter/ww8/ww8atr.cxx
@@ -1843,9 +1843,7 @@ void WW8Export::OutputField( const SwField* pFld, ww::eField eFldType,
bool bUnicode = IsUnicode();
WW8_WrPlcFld* pFldP = CurrentFieldPlc();
- // --> OD 2008-08-14 #158418#
const bool bIncludeEmptyPicLocation = ( eFldType == ww::ePAGE );
- // <--
if (WRITEFIELD_START & nMode)
{
sal_uInt8 aFld13[2] = { 0x13, 0x00 }; // will change
@@ -1854,9 +1852,7 @@ void WW8Export::OutputField( const SwField* pFld, ww::eField eFldType,
aFld13[0] |= 0x80;
aFld13[1] = static_cast< sal_uInt8 >(eFldType); // Typ nachtragen
pFldP->Append( Fc2Cp( Strm().Tell() ), aFld13 );
- // --> OD 2008-08-14 #158418#
InsertSpecialChar( *this, 0x13, 0, bIncludeEmptyPicLocation );
- // <--
}
if (WRITEFIELD_CMD_START & nMode)
{
@@ -1867,8 +1863,8 @@ void WW8Export::OutputField( const SwField* pFld, ww::eField eFldType,
SwWW8Writer::WriteString8(Strm(), rFldCmd, false,
RTL_TEXTENCODING_MS_1252);
}
- // --> OD 2005-06-08 #i43956# - write hyperlink character including
- // attributes and corresponding binary data for certain reference fields.
+ // write hyperlink character including attributes and
+ // corresponding binary data for certain reference fields.
bool bHandleBookmark = false;
if (pFld)
@@ -1877,12 +1873,6 @@ void WW8Export::OutputField( const SwField* pFld, ww::eField eFldType,
( eFldType == ww::ePAGEREF || eFldType == ww::eREF ||
eFldType == ww::eNOTEREF || eFldType == ww::eFOOTREF ))
bHandleBookmark = true;
-
-#if 0
- if (pFld->GetTyp()->Which() == RES_INPUTFLD &&
- eFldType == ww::eFORMTEXT)
- bHandleBookmark = true;
-#endif
}
if ( bHandleBookmark )
@@ -1908,16 +1898,13 @@ void WW8Export::OutputField( const SwField* pFld, ww::eField eFldType,
// insert hyperlink character including attributes and data.
InsertSpecialChar( *this, 0x01, &aLinkStr );
}
- // <--
}
if (WRITEFIELD_CMD_END & nMode)
{
static const sal_uInt8 aFld14[2] = { 0x14, 0xff };
pFldP->Append( Fc2Cp( Strm().Tell() ), aFld14 );
pFldP->ResultAdded();
- // --> OD 2008-08-14 #158418#
InsertSpecialChar( *this, 0x14, 0, bIncludeEmptyPicLocation );
- // <--
}
if (WRITEFIELD_END & nMode)
{
@@ -1985,9 +1972,7 @@ void WW8Export::OutputField( const SwField* pFld, ww::eField eFldType,
}
pFldP->Append( Fc2Cp( Strm().Tell() ), aFld15 );
- // --> OD 2008-08-14 #158418#
InsertSpecialChar( *this, 0x15, 0, bIncludeEmptyPicLocation );
- // <--
}
}
@@ -2619,7 +2604,7 @@ void AttributeOutputBase::TextField( const SwFmtFld& rField )
const SwField* pFld = rField.GetField();
String sStr; // fuer optionale Parameter
bool bWriteExpand = false;
- sal_uInt16 nSubType = pFld->GetSubType();
+ const sal_uInt16 nSubType = pFld->GetSubType();
switch (pFld->GetTyp()->Which())
{
@@ -2866,8 +2851,7 @@ void AttributeOutputBase::TextField( const SwFmtFld& rField )
break;
case RES_INPUTFLD:
{
- const SwInputField * pInputField =
- dynamic_cast<const SwInputField *>(pFld);
+ const SwInputField * pInputField = dynamic_cast<const SwInputField *>(pFld);
if (pInputField->isFormField())
GetExport().DoFormText(pInputField);
@@ -5182,6 +5166,7 @@ void AttributeOutputBase::OutputItem( const SfxPoolItem& rHt )
TextCharFormat( static_cast< const SwFmtCharFmt& >( rHt ) );
break;
case RES_TXTATR_FIELD:
+ case RES_TXTATR_INPUTFIELD:
TextField( static_cast< const SwFmtFld& >( rHt ) );
break;
case RES_TXTATR_FLYCNT:
diff --git a/sw/source/filter/ww8/ww8par.cxx b/sw/source/filter/ww8/ww8par.cxx
index 2e75bd06defc..9d6c6c9c7888 100644
--- a/sw/source/filter/ww8/ww8par.cxx
+++ b/sw/source/filter/ww8/ww8par.cxx
@@ -1091,6 +1091,8 @@ void SwWW8FltControlStack::NewAttr(const SwPosition& rPos,
{
ASSERT(RES_TXTATR_FIELD != rAttr.Which(), "probably don't want to put"
"fields into the control stack");
+ ASSERT(RES_TXTATR_INPUTFIELD != rAttr.Which(), "probably don't want to put"
+ "input fields into the control stack");
ASSERT(RES_FLTR_REDLINE != rAttr.Which(), "probably don't want to put"
"redlines into the control stack");
SwFltControlStack::NewAttr(rPos, rAttr);
@@ -1332,6 +1334,12 @@ void SwWW8FltControlStack::SetAttrInDoc(const SwPosition& rTmpPos,
ASSERT(!this, "What is a field doing in the control stack,"
"probably should have been in the endstack");
break;
+
+ case RES_TXTATR_INPUTFIELD:
+ ASSERT(!this, "What is a input field doing in the control stack,"
+ "probably should have been in the endstack");
+ break;
+
case RES_TXTATR_INETFMT:
{
SwPaM aRegion(rTmpPos);
@@ -1451,6 +1459,7 @@ void SwWW8FltRefStack::SetAttrInDoc(const SwPosition& rTmpPos,
do normal (?) strange stuff
*/
case RES_TXTATR_FIELD:
+ case RES_TXTATR_INPUTFIELD:
{
SwNodeIndex aIdx(pEntry->nMkNode, 1);
SwPaM aPaM(aIdx, pEntry->nMkCntnt);
@@ -1788,10 +1797,13 @@ void SwWW8ImplReader::ImportDop()
mpDocShell->SetModifyPasswordHash(pWDop->lKeyProtDoc);
- const SvtFilterOptions* pOpt = SvtFilterOptions::Get();
- sal_Bool bUseEnhFields=(pOpt && pOpt->IsUseEnhancedFields());
- if (bUseEnhFields) {
- rDoc.set(IDocumentSettingAccess::PROTECT_FORM, pWDop->fProtEnabled );
+ {
+ const SvtFilterOptions* pOpt = SvtFilterOptions::Get();
+ const sal_Bool bUseEnhFields=(pOpt && pOpt->IsUseEnhancedFields());
+ if (bUseEnhFields)
+ {
+ rDoc.set(IDocumentSettingAccess::PROTECT_FORM, pWDop->fProtEnabled );
+ }
}
maTracer.LeaveEnvironment(sw::log::eDocumentProperties);
@@ -3886,26 +3898,6 @@ void wwSectionManager::SetUseOn(wwSection &rSection)
rSection.mpTitlePage->WriteUseOn(
(UseOnPage) (eUseBase | nsUseOnPage::PD_HEADERSHARE | nsUseOnPage::PD_FOOTERSHARE));
}
-
- if( nsUseOnPage::PD_MIRROR != (UseOnPage)(eUse & nsUseOnPage::PD_MIRROR) )
- {
- if( rSection.maSep.bkc == 3 )
- {
- if( rSection.mpPage )
- rSection.mpPage->SetUseOn( nsUseOnPage::PD_LEFT );
- if( rSection.mpTitlePage )
- rSection.mpTitlePage->SetUseOn( nsUseOnPage::PD_LEFT );
- }
- else if( rSection.maSep.bkc == 4 )
- {
- if( rSection.mpPage )
- rSection.mpPage->SetUseOn( nsUseOnPage::PD_RIGHT );
- if( rSection.mpTitlePage )
- rSection.mpTitlePage->SetUseOn( nsUseOnPage::PD_RIGHT );
- }
-
- }
-
}
//Set the page descriptor on this node, handle the different cases for a text
@@ -4044,7 +4036,8 @@ void wwSectionManager::InsertSegments()
bool bInsertSection = (aIter != aStart) ? (aIter->IsContinous() && bThisAndPreviousAreCompatible): false;
bool bInsertPageDesc = !bInsertSection;
bool bProtected = SectionIsProtected(*aIter); // do we really need this ?? I guess I have a different logic in editshell which disales this...
- if (bUseEnhFields && mrReader.pWDop->fProtEnabled && aIter->IsNotProtected()) {
+ if (bUseEnhFields && mrReader.pWDop->fProtEnabled && aIter->IsNotProtected())
+ {
// here we have the special case that the whole document is protected, with the execption of this section.
// I want to address this when I do the section rework, so for the moment we disable the overall protection then...
mrReader.rDoc.set(IDocumentSettingAccess::PROTECT_FORM, false );
diff --git a/sw/source/filter/ww8/ww8par3.cxx b/sw/source/filter/ww8/ww8par3.cxx
index 4a00e026367c..b607f5920dda 100644
--- a/sw/source/filter/ww8/ww8par3.cxx
+++ b/sw/source/filter/ww8/ww8par3.cxx
@@ -133,55 +133,62 @@ eF_ResT SwWW8ImplReader::Read_F_FormTextBox( WW8FieldDesc* pF, String& rStr )
*/
const SvtFilterOptions* pOpt = SvtFilterOptions::Get();
- sal_Bool bUseEnhFields=(pOpt && pOpt->IsUseEnhancedFields());
+ const sal_Bool bUseEnhFields=(pOpt && pOpt->IsUseEnhancedFields());
- if (!bUseEnhFields) {
- aFormula.sDefault = GetFieldResult(pF);
+ if (!bUseEnhFields)
+ {
+ aFormula.sDefault = GetFieldResult(pF);
#if 0 // why not? (flr)
- //substituting Unicode spacing 0x2002 with double space for layout
- aFormula.sDefault.SearchAndReplaceAll(
- String(static_cast< sal_Unicode >(0x2002)),
- CREATE_CONST_ASC(" "));
+ //substituting Unicode spacing 0x2002 with double space for layout
+ aFormula.sDefault.SearchAndReplaceAll(
+ String(static_cast< sal_Unicode >(0x2002)),
+ CREATE_CONST_ASC(" "));
#endif
- SwInputField aFld((SwInputFieldType*)rDoc.GetSysFldType( RES_INPUTFLD ),
- aFormula.sDefault , aFormula.sTitle , INP_TXT, 0 );
- aFld.SetHelp(aFormula.sHelp);
- aFld.SetToolTip(aFormula.sToolTip);
-
- rDoc.InsertPoolItem(*pPaM, SwFmtFld(aFld), 0);
- return FLD_OK;
- } else {
- WW8PLCFx_Book* pB = pPlcxMan->GetBook();
- String aBookmarkName;
- if (pB!=NULL) {
- WW8_CP currentCP=pF->nSCode;
- WW8_CP currentLen=pF->nLen;
-
- sal_uInt16 bkmFindIdx;
- String aBookmarkFind=pB->GetBookmark(currentCP-1, currentCP+currentLen-1, bkmFindIdx);
-
- if (aBookmarkFind.Len()>0) {
- pB->SetStatus(bkmFindIdx, BOOK_FIELD); // mark bookmark as consumed, such that tl'll not get inserted as a "normal" bookmark again
+ SwInputField aFld(
+ static_cast<SwInputFieldType*>(rDoc.GetSysFldType( RES_INPUTFLD )),
+ aFormula.sDefault,
+ aFormula.sTitle,
+ INP_TXT,
+ 0 );
+ aFld.SetHelp(aFormula.sHelp);
+ aFld.SetToolTip(aFormula.sToolTip);
+
+ rDoc.InsertPoolItem( *pPaM, SwFmtFld(aFld), 0 );
+ return FLD_OK;
+ }
+ else
+ {
+ WW8PLCFx_Book* pB = pPlcxMan->GetBook();
+ String aBookmarkName;
+ if (pB!=NULL) {
+ WW8_CP currentCP=pF->nSCode;
+ WW8_CP currentLen=pF->nLen;
+
+ sal_uInt16 bkmFindIdx;
+ String aBookmarkFind=pB->GetBookmark(currentCP-1, currentCP+currentLen-1, bkmFindIdx);
+
if (aBookmarkFind.Len()>0) {
- aBookmarkName=aBookmarkFind;
+ pB->SetStatus(bkmFindIdx, BOOK_FIELD); // mark bookmark as consumed, such that tl'll not get inserted as a "normal" bookmark again
+ if (aBookmarkFind.Len()>0) {
+ aBookmarkName=aBookmarkFind;
+ }
}
}
- }
- if (pB!=NULL && aBookmarkName.Len()==0) {
- aBookmarkName=pB->GetUniqueBookmarkName(aFormula.sTitle);
- }
+ if (pB!=NULL && aBookmarkName.Len()==0) {
+ aBookmarkName=pB->GetUniqueBookmarkName(aFormula.sTitle);
+ }
- if (aBookmarkName.Len()>0) {
- maFieldStack.back().SetBookmarkName(aBookmarkName);
- maFieldStack.back().SetBookmarkType(::rtl::OUString::createFromAscii(ODF_FORMTEXT));
- maFieldStack.back().getParameters()[::rtl::OUString::createFromAscii("Description")] = uno::makeAny(::rtl::OUString(aFormula.sToolTip));
- maFieldStack.back().getParameters()[::rtl::OUString::createFromAscii("Name")] = uno::makeAny(::rtl::OUString(aFormula.sTitle));
- }
- return FLD_TEXT;
+ if (aBookmarkName.Len()>0) {
+ maFieldStack.back().SetBookmarkName(aBookmarkName);
+ maFieldStack.back().SetBookmarkType(::rtl::OUString::createFromAscii(ODF_FORMTEXT));
+ maFieldStack.back().getParameters()[::rtl::OUString::createFromAscii("Description")] = uno::makeAny(::rtl::OUString(aFormula.sToolTip));
+ maFieldStack.back().getParameters()[::rtl::OUString::createFromAscii("Name")] = uno::makeAny(::rtl::OUString(aFormula.sTitle));
+ }
+ return FLD_TEXT;
}
}
@@ -197,49 +204,52 @@ eF_ResT SwWW8ImplReader::Read_F_FormCheckBox( WW8FieldDesc* pF, String& rStr )
const SvtFilterOptions* pOpt = SvtFilterOptions::Get();
sal_Bool bUseEnhFields=(pOpt && pOpt->IsUseEnhancedFields());
- if (!bUseEnhFields) {
- pFormImpl->InsertFormula(aFormula);
- return FLD_OK;
- } else {
- String aBookmarkName;
- WW8PLCFx_Book* pB = pPlcxMan->GetBook();
- if (pB!=NULL) {
- WW8_CP currentCP=pF->nSCode;
- WW8_CP currentLen=pF->nLen;
-
- sal_uInt16 bkmFindIdx;
- String aBookmarkFind=pB->GetBookmark(currentCP-1, currentCP+currentLen-1, bkmFindIdx);
-
- if (aBookmarkFind.Len()>0) {
- pB->SetStatus(bkmFindIdx, BOOK_FIELD); // mark as consumed by field
+ if (!bUseEnhFields)
+ {
+ pFormImpl->InsertFormula(aFormula);
+ return FLD_OK;
+ }
+ else
+ {
+ String aBookmarkName;
+ WW8PLCFx_Book* pB = pPlcxMan->GetBook();
+ if (pB!=NULL) {
+ WW8_CP currentCP=pF->nSCode;
+ WW8_CP currentLen=pF->nLen;
+
+ sal_uInt16 bkmFindIdx;
+ String aBookmarkFind=pB->GetBookmark(currentCP-1, currentCP+currentLen-1, bkmFindIdx);
+
if (aBookmarkFind.Len()>0) {
- aBookmarkName=aBookmarkFind;
+ pB->SetStatus(bkmFindIdx, BOOK_FIELD); // mark as consumed by field
+ if (aBookmarkFind.Len()>0) {
+ aBookmarkName=aBookmarkFind;
+ }
}
}
- }
- if (pB!=NULL && aBookmarkName.Len()==0) {
- aBookmarkName=pB->GetUniqueBookmarkName(aFormula.sTitle);
- }
+ if (pB!=NULL && aBookmarkName.Len()==0) {
+ aBookmarkName=pB->GetUniqueBookmarkName(aFormula.sTitle);
+ }
- if (aBookmarkName.Len()>0)
- {
- IDocumentMarkAccess* pMarksAccess = rDoc.getIDocumentMarkAccess( );
- IFieldmark* pFieldmark = dynamic_cast<IFieldmark*>( pMarksAccess->makeNoTextFieldBookmark(
+ if (aBookmarkName.Len()>0)
+ {
+ IDocumentMarkAccess* pMarksAccess = rDoc.getIDocumentMarkAccess( );
+ IFieldmark* pFieldmark = dynamic_cast<IFieldmark*>( pMarksAccess->makeNoTextFieldBookmark(
*pPaM, aBookmarkName,
rtl::OUString::createFromAscii( ODF_FORMCHECKBOX ) ) );
- ASSERT(pFieldmark!=NULL, "hmmm; why was the bookmark not created?");
- if (pFieldmark!=NULL) {
- IFieldmark::parameter_map_t* const pParameters = pFieldmark->GetParameters();
- ICheckboxFieldmark* pCheckboxFm = dynamic_cast<ICheckboxFieldmark*>(pFieldmark);
- (*pParameters)[::rtl::OUString::createFromAscii(ODF_FORMCHECKBOX_NAME)] = uno::makeAny(::rtl::OUString(aFormula.sTitle));
- (*pParameters)[::rtl::OUString::createFromAscii(ODF_FORMCHECKBOX_HELPTEXT)] = uno::makeAny(::rtl::OUString(aFormula.sToolTip));
- if(pCheckboxFm)
- pCheckboxFm->SetChecked(aFormula.nChecked);
- // set field data here...
+ ASSERT(pFieldmark!=NULL, "hmmm; why was the bookmark not created?");
+ if (pFieldmark!=NULL) {
+ IFieldmark::parameter_map_t* const pParameters = pFieldmark->GetParameters();
+ ICheckboxFieldmark* pCheckboxFm = dynamic_cast<ICheckboxFieldmark*>(pFieldmark);
+ (*pParameters)[::rtl::OUString::createFromAscii(ODF_FORMCHECKBOX_NAME)] = uno::makeAny(::rtl::OUString(aFormula.sTitle));
+ (*pParameters)[::rtl::OUString::createFromAscii(ODF_FORMCHECKBOX_HELPTEXT)] = uno::makeAny(::rtl::OUString(aFormula.sToolTip));
+ if(pCheckboxFm)
+ pCheckboxFm->SetChecked(aFormula.nChecked);
+ // set field data here...
+ }
}
- }
- return FLD_OK;
+ return FLD_OK;
}
}
diff --git a/sw/source/filter/ww8/ww8par5.cxx b/sw/source/filter/ww8/ww8par5.cxx
index d6c1278a25df..115d982cbdb5 100644
--- a/sw/source/filter/ww8/ww8par5.cxx
+++ b/sw/source/filter/ww8/ww8par5.cxx
@@ -1227,8 +1227,8 @@ eF_ResT SwWW8ImplReader::Read_F_Input( WW8FieldDesc* pF, String& rStr )
if( !aDef.Len() )
aDef = GetFieldResult( pF );
- SwInputField aFld( (SwInputFieldType*)rDoc.GetSysFldType( RES_INPUTFLD ),
- aDef, aQ, INP_TXT, 0 ); // sichtbar ( geht z.Zt. nicht anders )
+ SwInputField aFld( static_cast<SwInputFieldType*>(rDoc.GetSysFldType( RES_INPUTFLD )),
+ aDef, aQ, INP_TXT, 0, false );
rDoc.InsertPoolItem( *pPaM, SwFmtFld( aFld ), 0 );
return FLD_OK;
@@ -2668,8 +2668,8 @@ void SwWW8ImplReader::Read_SubF_Combined( _ReadFieldParams& rReadParam)
sCombinedCharacters = sPart.Copy( nBegin+1, nEnd-nBegin-1 );
if ( sCombinedCharacters.Len() )
{
- SwInputField aFld( (SwInputFieldType*)rDoc.GetSysFldType( RES_INPUTFLD ),
- sCombinedCharacters, sCombinedCharacters, INP_TXT, 0 );
+ SwInputField aFld( static_cast<SwInputFieldType*>(rDoc.GetSysFldType( RES_INPUTFLD )),
+ sCombinedCharacters, sCombinedCharacters, INP_TXT, 0, false );
rDoc.InsertPoolItem( *pPaM, SwFmtFld( aFld ), 0 ); // insert input field
}
}