diff options
Diffstat (limited to 'binfilter/bf_sw/source/ui/config/sw_modcfg.cxx')
-rw-r--r-- | binfilter/bf_sw/source/ui/config/sw_modcfg.cxx | 797 |
1 files changed, 797 insertions, 0 deletions
diff --git a/binfilter/bf_sw/source/ui/config/sw_modcfg.cxx b/binfilter/bf_sw/source/ui/config/sw_modcfg.cxx new file mode 100644 index 000000000000..a2e7553e390c --- /dev/null +++ b/binfilter/bf_sw/source/ui/config/sw_modcfg.cxx @@ -0,0 +1,797 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + + +#ifdef _MSC_VER +#pragma hdrstop +#endif + +#include <comphelper/classids.hxx> +#include <bf_svx/svxids.hrc> +#include <bf_svx/svxenum.hxx> +#include <bf_so3/factory.hxx> + +#include <swtypes.hxx> +#include <itabenum.hxx> +#include <modcfg.hxx> + +namespace binfilter { + +using namespace utl; +using namespace rtl; +using namespace ::com::sun::star::uno; + +#define C2U(cChar) OUString::createFromAscii(cChar) +#define GLOB_NAME_CALC 0 +#define GLOB_NAME_IMPRESS 1 +#define GLOB_NAME_DRAW 2 +#define GLOB_NAME_MATH 3 +#define GLOB_NAME_CHART 4 + +/*N*/ SV_IMPL_PTRARR_SORT(InsCapOptArr, InsCaptionOptPtr) +/* -----------------03.11.98 13:46------------------- + * + * --------------------------------------------------*/ +/*N*/ InsCaptionOpt* InsCaptionOptArr::Find(const SwCapObjType eType, const SvGlobalName *pOleId) const +/*N*/ { +/*N*/ for (USHORT i = 0; i < Count(); i++ ) +/*N*/ { +/*?*/ InsCaptionOpt* pObj = GetObject(i); +/*?*/ if (pObj->GetObjType() == eType && +/*?*/ (eType != OLE_CAP || +/*?*/ (pOleId && +/*?*/ (pObj->GetOleId() == *pOleId || +/*?*/ SvFactory::GetAutoConvertTo(pObj->GetOleId()) == *pOleId)))) +/*?*/ return pObj; +/*N*/ } +/*N*/ +/*N*/ return 0; +/*N*/ } + +/* -----------------03.11.98 15:05------------------- + * + * --------------------------------------------------*/ + + +/* -----------------03.11.98 15:05------------------- + * + * --------------------------------------------------*/ + +/*-----------------13.01.97 12.44------------------- + +--------------------------------------------------*/ +/*N*/ SwModuleOptions::SwModuleOptions() : +/*N*/ aInsertConfig(FALSE), +/*N*/ aWebInsertConfig(TRUE), +/*N*/ aTableConfig(FALSE), +/*N*/ aWebTableConfig(TRUE), +/*N*/ bHideFieldTips(FALSE) +/*N*/ { +/*N*/ } +/* -----------------------------19.01.01 12:26-------------------------------- + + ---------------------------------------------------------------------------*/ +/*N*/ String SwModuleOptions::ConvertWordDelimiter(const String& rDelim, BOOL bFromUI) +/*N*/ { +/*N*/ String sReturn; +/*N*/ if(bFromUI) +/*N*/ { +/*N*/ String sChar; +/*N*/ +/*N*/ xub_StrLen i = 0; +/*N*/ sal_Unicode c; +/*N*/ +/*N*/ while (i < rDelim.Len()) +/*N*/ { +/*N*/ c = rDelim.GetChar(i++); +/*N*/ +/*N*/ if (c == '\\') +/*N*/ { +/*N*/ c = rDelim.GetChar(i++); +/*N*/ +/*N*/ switch (c) +/*N*/ { +/*N*/ case 'n': sReturn += '\n'; break; +/*N*/ case 't': sReturn += '\t'; break; +/*?*/ case '\\': sReturn += '\\'; break; +/*N*/ +/*N*/ case 'x': +/*N*/ { +/*N*/ sal_Unicode nVal, nChar; +/*N*/ BOOL bValidData = TRUE; +/*N*/ xub_StrLen n; +/*N*/ for( n = 0, nChar = 0; n < 2 && i < rDelim.Len(); ++n, ++i ) +/*N*/ { +/*N*/ if( ((nVal = rDelim.GetChar( i )) >= '0') && ( nVal <= '9') ) +/*?*/ nVal -= '0'; +/*N*/ else if( (nVal >= 'A') && (nVal <= 'F') ) +/*?*/ nVal -= 'A' - 10; +/*N*/ else if( (nVal >= 'a') && (nVal <= 'f') ) +/*N*/ nVal -= 'a' - 10; +/*N*/ else +/*N*/ { +/*?*/ DBG_ERROR( "ungueltiger Hex-Wert" ); +/*?*/ bValidData = FALSE; +/*?*/ break; +/*N*/ } +/*N*/ +/*N*/ (nChar <<= 4 ) += nVal; +/*N*/ } +/*N*/ if( bValidData ) +/*N*/ sReturn += nChar; +/*N*/ break; +/*N*/ } +/*N*/ +/*?*/ default: // Unbekannt, daher nur Backslash einfuegen +/*?*/ sReturn += '\\'; +/*?*/ i--; +/*?*/ break; +/*N*/ } +/*N*/ } +/*N*/ else +/*N*/ sReturn += c; +/*N*/ } +/*N*/ } +/*N*/ else +/*N*/ { +/*?*/ for (xub_StrLen i = 0; i < rDelim.Len(); i++) +/*?*/ { +/*?*/ sal_Unicode c = rDelim.GetChar(i); +/*?*/ +/*?*/ switch (c) +/*?*/ { +/*?*/ case '\n': sReturn.AppendAscii(RTL_CONSTASCII_STRINGPARAM("\\n")); break; +/*?*/ case '\t': sReturn.AppendAscii(RTL_CONSTASCII_STRINGPARAM("\\t")); break; +/*?*/ case '\\': sReturn.AppendAscii(RTL_CONSTASCII_STRINGPARAM("\\\\")); break; +/*?*/ +/*?*/ default: +/*?*/ if( c <= 0x1f || c >= 0x7f ) +/*?*/ { +/*?*/ sReturn.AppendAscii( RTL_CONSTASCII_STRINGPARAM( "\\x" )) +/*?*/ += String::CreateFromInt32( c, 16 ); +/*?*/ } +/*?*/ else +/*?*/ sReturn += c; +/*?*/ } +/*?*/ } +/*N*/ } +/*N*/ return sReturn; +/*N*/ } +/* -----------------------------10.10.00 16:22-------------------------------- + + ---------------------------------------------------------------------------*/ +/*N*/ const Sequence<OUString>& SwRevisionConfig::GetPropertyNames() +/*N*/ { +/*N*/ static Sequence<OUString> aNames; +/*N*/ if(!aNames.getLength()) +/*N*/ { +/*N*/ const int nCount = 8; +/*N*/ aNames.realloc(nCount); +/*N*/ static const char* aPropNames[] = +/*N*/ { +/*N*/ "TextDisplay/Insert/Attribute", // 0 +/*N*/ "TextDisplay/Insert/Color", // 1 +/*N*/ "TextDisplay/Delete/Attribute", // 2 +/*N*/ "TextDisplay/Delete/Color", // 3 +/*N*/ "TextDisplay/ChangedAttribute/Attribute", // 4 +/*N*/ "TextDisplay/ChangedAttribute/Color", // 5 +/*N*/ "LinesChanged/Mark", // 6 +/*N*/ "LinesChanged/Color" // 7 +/*N*/ }; +/*N*/ OUString* pNames = aNames.getArray(); +/*N*/ for(int i = 0; i < nCount; i++) +/*N*/ pNames[i] = OUString::createFromAscii(aPropNames[i]); +/*N*/ } +/*N*/ return aNames; +/*N*/ } +/*-- 10.10.00 16:22:22--------------------------------------------------- + + -----------------------------------------------------------------------*/ +/*N*/ SwRevisionConfig::SwRevisionConfig() : +/*N*/ ConfigItem(C2U("Office.Writer/Revision"), +/*N*/ CONFIG_MODE_DELAYED_UPDATE|CONFIG_MODE_RELEASE_TREE) +/*N*/ { +/*N*/ aInsertAttr.nItemId = SID_ATTR_CHAR_UNDERLINE; +/*N*/ aInsertAttr.nAttr = UNDERLINE_SINGLE; +/*N*/ aInsertAttr.nColor = COL_TRANSPARENT; +/*N*/ aDeletedAttr.nItemId = SID_ATTR_CHAR_STRIKEOUT; +/*N*/ aDeletedAttr.nAttr = STRIKEOUT_SINGLE; +/*N*/ aDeletedAttr.nColor = COL_TRANSPARENT; +/*N*/ aFormatAttr.nItemId = SID_ATTR_CHAR_WEIGHT; +/*N*/ aFormatAttr.nAttr = WEIGHT_BOLD; +/*N*/ aFormatAttr.nColor = COL_BLACK; +/*N*/ +/*N*/ Load(); +/*N*/ } +/*-- 10.10.00 16:22:23--------------------------------------------------- + + -----------------------------------------------------------------------*/ +/*N*/ SwRevisionConfig::~SwRevisionConfig() +/*N*/ { +/*N*/ } +/*-- 10.10.00 16:22:56--------------------------------------------------- + + + -----------------------------------------------------------------------*/ + + void SwRevisionConfig::Commit() {} + void SwRevisionConfig::Notify( const ::com::sun::star::uno::Sequence< rtl::OUString >& aPropertyNames ) {} + +//----------------------------------------------------------------------------- +/*-- 10.10.00 16:22:56--------------------------------------------------- + + -----------------------------------------------------------------------*/ +/*N*/ void lcl_ConvertCfgToAttr(sal_Int32 nVal, AuthorCharAttr& rAttr, sal_Bool bDelete = sal_False) +/*N*/ { +/*N*/ rAttr.nItemId = rAttr.nAttr = 0; +/*N*/ switch(nVal) +/*N*/ { +/*N*/ case 1: rAttr.nItemId = SID_ATTR_CHAR_WEIGHT; rAttr.nAttr = WEIGHT_BOLD ; break; +/*?*/ case 2: rAttr.nItemId = SID_ATTR_CHAR_POSTURE; rAttr.nAttr = ITALIC_NORMAL ; break; +/*N*/ case 3: if(bDelete) +/*N*/ { +/*N*/ rAttr.nItemId = SID_ATTR_CHAR_STRIKEOUT; +/*N*/ rAttr.nAttr = STRIKEOUT_SINGLE; +/*N*/ } +/*N*/ else +/*N*/ { +/*N*/ rAttr.nItemId = SID_ATTR_CHAR_UNDERLINE; +/*N*/ rAttr.nAttr = UNDERLINE_SINGLE; +/*N*/ } +/*N*/ break; +/*?*/ case 4: rAttr.nItemId = SID_ATTR_CHAR_UNDERLINE;rAttr.nAttr = UNDERLINE_DOUBLE ; break; +/*?*/ case 5: rAttr.nItemId = SID_ATTR_CHAR_CASEMAP; rAttr.nAttr = SVX_CASEMAP_VERSALIEN ; break; +/*?*/ case 6: rAttr.nItemId = SID_ATTR_CHAR_CASEMAP; rAttr.nAttr = SVX_CASEMAP_GEMEINE ; break; +/*?*/ case 7: rAttr.nItemId = SID_ATTR_CHAR_CASEMAP; rAttr.nAttr = SVX_CASEMAP_KAPITAELCHEN ; break; +/*?*/ case 8: rAttr.nItemId = SID_ATTR_CHAR_CASEMAP; rAttr.nAttr = SVX_CASEMAP_TITEL ; break; +/*?*/ case 9: rAttr.nItemId = SID_ATTR_BRUSH; break; +/*N*/ } +/*N*/ } +/*N*/ void SwRevisionConfig::Load() +/*N*/ { +/*N*/ const Sequence<OUString>& aNames = GetPropertyNames(); +/*N*/ Sequence<Any> aValues = GetProperties(aNames); +/*N*/ const Any* pValues = aValues.getConstArray(); +/*N*/ DBG_ASSERT(aValues.getLength() == aNames.getLength(), "GetProperties failed"); +/*N*/ if(aValues.getLength() == aNames.getLength()) +/*N*/ { +/*N*/ for(int nProp = 0; nProp < aNames.getLength(); nProp++) +/*N*/ { +/*N*/ if(pValues[nProp].hasValue()) +/*N*/ { +/*N*/ sal_Int32 nVal; +/*N*/ pValues[nProp] >>= nVal; +/*N*/ switch(nProp) +/*N*/ { +/*N*/ case 0 : lcl_ConvertCfgToAttr(nVal, aInsertAttr); break; +/*N*/ case 1 : aInsertAttr.nColor = nVal; break; +/*N*/ case 2 : lcl_ConvertCfgToAttr(nVal, aDeletedAttr, sal_True); break; +/*N*/ case 3 : aDeletedAttr.nColor = nVal; break; +/*N*/ case 4 : lcl_ConvertCfgToAttr(nVal, aFormatAttr); break; +/*N*/ case 5 : aFormatAttr.nColor = nVal; break; +/*N*/ case 6 : nMarkAlign = nVal; break; +/*N*/ case 7 : aMarkColor.SetColor(nVal); break; +/*N*/ } +/*N*/ } +/*N*/ } +/*N*/ } +/*N*/ } +/* -----------------------------10.10.00 16:22-------------------------------- + + ---------------------------------------------------------------------------*/ +/*N*/ const Sequence<OUString>& SwInsertConfig::GetPropertyNames() +/*N*/ { +/*N*/ static Sequence<OUString> aNames; +/*N*/ static Sequence<OUString> aWebNames; +/*N*/ if(!aNames.getLength()) +/*N*/ { +/*N*/ static const char* aPropNames[] = +/*N*/ { +/*N*/ "Table/Header", // 0 +/*N*/ "Table/RepeatHeader", // 1 +/*N*/ "Table/Border", // 2 +/*N*/ "Table/Split", // 3 from here not in writer/web +/*N*/ "Caption/Automatic", // 4 +/*N*/ "Caption/WriterObject/Table/Enable", // 5 +/*N*/ "Caption/WriterObject/Table/Settings/Category", // 6 +/*N*/ "Caption/WriterObject/Table/Settings/Numbering", // 7 +/*N*/ "Caption/WriterObject/Table/Settings/CaptionText", // 8 +/*N*/ "Caption/WriterObject/Table/Settings/Delimiter", // 9 +/*N*/ "Caption/WriterObject/Table/Settings/Level", //10 +/*N*/ "Caption/WriterObject/Table/Settings/Position", //11 +/*N*/ "Caption/WriterObject/Frame/Enable", //12 +/*N*/ "Caption/WriterObject/Frame/Settings/Category", //13 +/*N*/ "Caption/WriterObject/Frame/Settings/Numbering", //14 +/*N*/ "Caption/WriterObject/Frame/Settings/CaptionText", //15 +/*N*/ "Caption/WriterObject/Frame/Settings/Delimiter", //16 +/*N*/ "Caption/WriterObject/Frame/Settings/Level", //17 +/*N*/ "Caption/WriterObject/Frame/Settings/Position", //18 +/*N*/ "Caption/WriterObject/Graphic/Enable", //19 +/*N*/ "Caption/WriterObject/Graphic/Settings/Category", //20 +/*N*/ "Caption/WriterObject/Graphic/Settings/Numbering", //21 +/*N*/ "Caption/WriterObject/Graphic/Settings/CaptionText",//22 +/*N*/ "Caption/WriterObject/Graphic/Settings/Delimiter", //23 +/*N*/ "Caption/WriterObject/Graphic/Settings/Level", //24 +/*N*/ "Caption/OfficeObject/Calc/Enable", //25 +/*N*/ "Caption/OfficeObject/Calc/Settings/Category", //26 +/*N*/ "Caption/OfficeObject/Calc/Settings/Numbering", //27 +/*N*/ "Caption/OfficeObject/Calc/Settings/CaptionText", //28 +/*N*/ "Caption/OfficeObject/Calc/Settings/Delimiter", //29 +/*N*/ "Caption/OfficeObject/Calc/Settings/Level", //30 +/*N*/ "Caption/OfficeObject/Calc/Settings/Position", //31 +/*N*/ "Caption/OfficeObject/Impress/Enable", //32 +/*N*/ "Caption/OfficeObject/Impress/Settings/Category", //33 +/*N*/ "Caption/OfficeObject/Impress/Settings/Numbering", //34 +/*N*/ "Caption/OfficeObject/Impress/Settings/CaptionText",//35 +/*N*/ "Caption/OfficeObject/Impress/Settings/Delimiter", //36 +/*N*/ "Caption/OfficeObject/Impress/Settings/Level", //37 +/*N*/ "Caption/OfficeObject/Impress/Settings/Position", //38 +/*N*/ "Caption/OfficeObject/Chart/Enable", //39 +/*N*/ "Caption/OfficeObject/Chart/Settings/Category", //40 +/*N*/ "Caption/OfficeObject/Chart/Settings/Numbering", //41 +/*N*/ "Caption/OfficeObject/Chart/Settings/CaptionText", //42 +/*N*/ "Caption/OfficeObject/Chart/Settings/Delimiter", //43 +/*N*/ "Caption/OfficeObject/Chart/Settings/Level", //44 +/*N*/ "Caption/OfficeObject/Chart/Settings/Position", //45 +/*N*/ "Caption/OfficeObject/Formula/Enable", //46 +/*N*/ "Caption/OfficeObject/Formula/Settings/Category", //47 +/*N*/ "Caption/OfficeObject/Formula/Settings/Numbering", //48 +/*N*/ "Caption/OfficeObject/Formula/Settings/CaptionText",//49 +/*N*/ "Caption/OfficeObject/Formula/Settings/Delimiter", //50 +/*N*/ "Caption/OfficeObject/Formula/Settings/Level", //51 +/*N*/ "Caption/OfficeObject/Formula/Settings/Position", //52 +/*N*/ "Caption/OfficeObject/Draw/Enable", //53 +/*N*/ "Caption/OfficeObject/Draw/Settings/Category", //54 +/*N*/ "Caption/OfficeObject/Draw/Settings/Numbering", //55 +/*N*/ "Caption/OfficeObject/Draw/Settings/CaptionText", //56 +/*N*/ "Caption/OfficeObject/Draw/Settings/Delimiter", //57 +/*N*/ "Caption/OfficeObject/Draw/Settings/Level", //58 +/*N*/ "Caption/OfficeObject/Draw/Settings/Position", //59 +/*N*/ "Caption/OfficeObject/OLEMisc/Enable", //60 +/*N*/ "Caption/OfficeObject/OLEMisc/Settings/Category", //61 +/*N*/ "Caption/OfficeObject/OLEMisc/Settings/Numbering", //62 +/*N*/ "Caption/OfficeObject/OLEMisc/Settings/CaptionText",//63 +/*N*/ "Caption/OfficeObject/OLEMisc/Settings/Delimiter", //64 +/*N*/ "Caption/OfficeObject/OLEMisc/Settings/Level", //65 +/*N*/ "Caption/OfficeObject/OLEMisc/Settings/Position" //66 +/*N*/ }; +/*N*/ const int nCount = 67; +/*N*/ const int nWebCount = 3; +/*N*/ aNames.realloc(nCount); +/*N*/ aWebNames.realloc(nWebCount); +/*N*/ OUString* pNames = aNames.getArray(); +/*N*/ OUString* pWebNames = aWebNames.getArray(); +/*N*/ int i; +/*N*/ for(i = 0; i < nCount; i++) +/*N*/ pNames[i] = C2U(aPropNames[i]); +/*N*/ for(i = 0; i < nWebCount; i++) +/*N*/ pWebNames[i] = C2U(aPropNames[i]); +/*N*/ } +/*N*/ return bIsWeb ? aWebNames : aNames; +/*N*/ } +/*-- 10.10.00 16:22:22--------------------------------------------------- + + -----------------------------------------------------------------------*/ +/*N*/ SwInsertConfig::SwInsertConfig(sal_Bool bWeb) : +/*N*/ ConfigItem(bWeb ? C2U("Office.WriterWeb/Insert") : C2U("Office.Writer/Insert"), +/*N*/ CONFIG_MODE_DELAYED_UPDATE|CONFIG_MODE_RELEASE_TREE), +/*N*/ bIsWeb(bWeb), +/*N*/ pCapOptions(0), +/*N*/ pOLEMiscOpt(0) +/*N*/ { +/*N*/ aGlobalNames[GLOB_NAME_CALC ] = SvGlobalName(BF_SO3_SC_CLASSID); +/*N*/ aGlobalNames[GLOB_NAME_IMPRESS] = SvGlobalName(BF_SO3_SIMPRESS_CLASSID); +/*N*/ aGlobalNames[GLOB_NAME_DRAW ] = SvGlobalName(BF_SO3_SDRAW_CLASSID); +/*N*/ aGlobalNames[GLOB_NAME_MATH ] = SvGlobalName(BF_SO3_SM_CLASSID); +/*N*/ aGlobalNames[GLOB_NAME_CHART ] = SvGlobalName(BF_SO3_SCH_CLASSID); +/*N*/ if(!bIsWeb) +/*N*/ pCapOptions = new InsCaptionOptArr; +/*N*/ +/*N*/ Load(); +/*N*/ } + + void SwInsertConfig::Commit() {} + void SwInsertConfig::Notify( const ::com::sun::star::uno::Sequence< rtl::OUString >& aPropertyNames ) {} + +/*-- 10.10.00 16:22:23--------------------------------------------------- + + -----------------------------------------------------------------------*/ +/*N*/ SwInsertConfig::~SwInsertConfig() +/*N*/ { +/*N*/ delete pCapOptions; +/*N*/ delete pOLEMiscOpt; +/*N*/ } +/*-- 10.10.00 16:22:56--------------------------------------------------- + + -----------------------------------------------------------------------*/ +//----------------------------------------------------------------------------- +/*-- 10.10.00 16:22:56--------------------------------------------------- + + -----------------------------------------------------------------------*/ +/*N*/ void lcl_ReadOpt(InsCaptionOpt& rOpt, const Any* pValues, sal_Int32 nProp, sal_Int32 nOffset) +/*N*/ { +/*N*/ switch(nOffset) +/*N*/ { +/*N*/ case 0: +/*N*/ rOpt.UseCaption() = *(sal_Bool*)pValues[nProp].getValue(); +/*N*/ break;//Enable +/*N*/ case 1: +/*N*/ { +/*N*/ OUString sTemp; pValues[nProp] >>= sTemp; +/*N*/ rOpt.SetCategory(sTemp); +/*N*/ } +/*N*/ break;//Category +/*N*/ case 2: +/*N*/ { +/*N*/ sal_Int32 nTemp; pValues[nProp] >>= nTemp; +/*N*/ rOpt.SetNumType(nTemp); +/*N*/ } +/*N*/ break;//Numbering", +/*N*/ case 3: +/*N*/ { +/*N*/ OUString sTemp; pValues[nProp] >>= sTemp; +/*N*/ rOpt.SetCaption(sTemp); +/*N*/ } +/*N*/ break;//CaptionText", +/*N*/ case 4: +/*N*/ { +/*N*/ OUString sTemp; pValues[nProp] >>= sTemp; +/*N*/ if(sTemp.getLength()) +/*N*/ rOpt.SetSeparator(sTemp[0]); +/*N*/ } +/*N*/ break;//Delimiter", +/*N*/ case 5: +/*N*/ { +/*N*/ sal_Int32 nTemp; pValues[nProp] >>= nTemp; +/*N*/ rOpt.SetLevel(nTemp); +/*N*/ } +/*N*/ break;//Level", +/*N*/ case 6: +/*N*/ { +/*N*/ sal_Int32 nTemp; pValues[nProp] >>= nTemp; +/*N*/ rOpt.SetPos(nTemp); +/*N*/ } +/*N*/ break;//Position", +/*N*/ } +/*N*/ } +//----------------------------------------------------------------------------- +/*N*/ void SwInsertConfig::Load() +/*N*/ { +/*N*/ const Sequence<OUString>& aNames = GetPropertyNames(); +/*N*/ Sequence<Any> aValues = GetProperties(aNames); +/*N*/ const Any* pValues = aValues.getConstArray(); +/*N*/ DBG_ASSERT(aValues.getLength() == aNames.getLength(), "GetProperties failed"); +/*N*/ if(aValues.getLength() == aNames.getLength()) +/*N*/ { +/*N*/ InsCaptionOpt* pWriterTableOpt = 0; +/*N*/ InsCaptionOpt* pWriterFrameOpt = 0; +/*N*/ InsCaptionOpt* pWriterGraphicOpt = 0; +/*N*/ InsCaptionOpt* pOLECalcOpt = 0; +/*N*/ InsCaptionOpt* pOLEImpressOpt = 0; +/*N*/ InsCaptionOpt* pOLEChartOpt = 0; +/*N*/ InsCaptionOpt* pOLEFormulaOpt = 0; +/*N*/ InsCaptionOpt* pOLEDrawOpt = 0; +/*N*/ if(pCapOptions) +/*N*/ { +/*N*/ pWriterTableOpt = pCapOptions->Find(TABLE_CAP, 0); +/*N*/ pWriterFrameOpt = pCapOptions->Find(FRAME_CAP, 0); +/*N*/ pWriterGraphicOpt = pCapOptions->Find(GRAPHIC_CAP, 0); +/*N*/ pOLECalcOpt = pCapOptions->Find(OLE_CAP, &aGlobalNames[GLOB_NAME_CALC]); +/*N*/ pOLEImpressOpt = pCapOptions->Find(OLE_CAP, &aGlobalNames[GLOB_NAME_IMPRESS]); +/*N*/ pOLEDrawOpt = pCapOptions->Find(OLE_CAP, &aGlobalNames[GLOB_NAME_DRAW ]); +/*N*/ pOLEFormulaOpt = pCapOptions->Find(OLE_CAP, &aGlobalNames[GLOB_NAME_MATH ]); +/*N*/ pOLEChartOpt = pCapOptions->Find(OLE_CAP, &aGlobalNames[GLOB_NAME_CHART ]); +/*N*/ } +/*N*/ else if(!bIsWeb) +/*?*/ return; +/*N*/ +/*N*/ nInsTblFlags = 0; +/*N*/ for(int nProp = 0; nProp < aNames.getLength(); nProp++) +/*N*/ { +/*N*/ if(pValues[nProp].hasValue()) +/*N*/ { +/*N*/ sal_Bool bBool = nProp < 5 ? *(sal_Bool*)pValues[nProp].getValue() : sal_False; +/*N*/ switch(nProp) +/*N*/ { +/*N*/ case 0: +/*N*/ { +/*N*/ if(bBool) +/*N*/ nInsTblFlags|= HEADLINE; +/*N*/ } +/*N*/ break;//"Table/Header", +/*N*/ case 1: +/*N*/ { +/*N*/ if(bBool) +/*N*/ nInsTblFlags|= REPEAT; +/*N*/ } +/*N*/ break;//"Table/RepeatHeader", +/*N*/ case 2: +/*N*/ { +/*N*/ if(bBool) +/*N*/ nInsTblFlags|= DEFAULT_BORDER; +/*N*/ } +/*N*/ break;//"Table/Border", +/*N*/ case 3: +/*N*/ { +/*N*/ if(bBool) +/*N*/ nInsTblFlags|= SPLIT_LAYOUT; +/*N*/ } +/*N*/ break;//"Table/Split", +/*N*/ case 4: +/*N*/ bInsWithCaption = bBool; +/*N*/ break; +/*N*/ case 5: case 6: case 7: case 8: case 9: case 10: case 11: +/*N*/ if(!pWriterTableOpt) +/*N*/ { +/*N*/ pWriterTableOpt = new InsCaptionOpt(TABLE_CAP); +/*N*/ pCapOptions->Insert(pWriterTableOpt); +/*N*/ } +/*N*/ lcl_ReadOpt(*pWriterTableOpt, pValues, nProp, nProp - 5); +/*N*/ break; +/*N*/ case 12: case 13: case 14: case 15: case 16: case 17: case 18: +/*N*/ if(!pWriterFrameOpt) +/*N*/ { +/*N*/ pWriterFrameOpt = new InsCaptionOpt(FRAME_CAP); +/*N*/ pCapOptions->Insert(pWriterFrameOpt); +/*N*/ } +/*N*/ lcl_ReadOpt(*pWriterFrameOpt, pValues, nProp, nProp - 12); +/*N*/ case 19: case 20: case 21:case 22: case 23: case 24: +/*N*/ if(!pWriterGraphicOpt) +/*N*/ { +/*N*/ pWriterGraphicOpt = new InsCaptionOpt(GRAPHIC_CAP); +/*N*/ pCapOptions->Insert(pWriterGraphicOpt); +/*N*/ } +/*N*/ lcl_ReadOpt(*pWriterGraphicOpt, pValues, nProp, nProp - 19); +/*N*/ break; +/*N*/ case 25: case 26: case 27: case 28: case 29: case 30: case 31: +/*N*/ if(!pOLECalcOpt) +/*N*/ { +/*N*/ pOLECalcOpt = new InsCaptionOpt(OLE_CAP, &aGlobalNames[GLOB_NAME_CALC]); +/*N*/ pCapOptions->Insert(pOLECalcOpt); +/*N*/ } +/*N*/ lcl_ReadOpt(*pOLECalcOpt, pValues, nProp, nProp - 25); +/*N*/ break; +/*N*/ case 32: case 33: case 34: case 35: case 36: case 37: case 38: +/*N*/ if(!pOLEImpressOpt) +/*N*/ { +/*N*/ pOLEImpressOpt = new InsCaptionOpt(OLE_CAP, &aGlobalNames[GLOB_NAME_IMPRESS]); +/*N*/ pCapOptions->Insert(pOLEImpressOpt); +/*N*/ } +/*N*/ lcl_ReadOpt(*pOLEImpressOpt, pValues, nProp, nProp - 32); +/*N*/ break; +/*N*/ case 39: case 40: case 41: case 42: case 43: case 44: case 45: +/*N*/ if(!pOLEChartOpt) +/*N*/ { +/*N*/ pOLEChartOpt = new InsCaptionOpt(OLE_CAP, &aGlobalNames[GLOB_NAME_CHART]); +/*N*/ pCapOptions->Insert(pOLEChartOpt); +/*N*/ } +/*N*/ lcl_ReadOpt(*pOLEChartOpt, pValues, nProp, nProp - 39); +/*N*/ break; +/*N*/ case 46: case 47: case 48: case 49: case 50: case 51: case 52: +/*N*/ if(!pOLEFormulaOpt) +/*N*/ { +/*N*/ pOLEFormulaOpt = new InsCaptionOpt(OLE_CAP, &aGlobalNames[GLOB_NAME_MATH]); +/*N*/ pCapOptions->Insert(pOLEFormulaOpt); +/*N*/ } +/*N*/ lcl_ReadOpt(*pOLEFormulaOpt, pValues, nProp, nProp - 46); +/*N*/ break; +/*N*/ case 53: case 54: case 55: case 56: case 57: case 58: case 59: +/*N*/ if(!pOLEDrawOpt) +/*N*/ { +/*N*/ pOLEDrawOpt = new InsCaptionOpt(OLE_CAP, &aGlobalNames[GLOB_NAME_DRAW]); +/*N*/ pCapOptions->Insert(pOLEDrawOpt); +/*N*/ } +/*N*/ lcl_ReadOpt(*pOLEDrawOpt, pValues, nProp, nProp - 53); +/*N*/ break; +/*N*/ case 60: case 61: case 62: case 63: case 64: case 65: case 66: +/*N*/ if(!pOLEMiscOpt) +/*N*/ { +/*N*/ pOLEMiscOpt = new InsCaptionOpt(OLE_CAP); +/*N*/ } +/*N*/ lcl_ReadOpt(*pOLEMiscOpt, pValues, nProp, nProp - 60); +/*N*/ break; +/*N*/ +/*N*/ } +/*N*/ } +/*N*/ } +/*N*/ } +/*N*/ } +/* -----------------------------10.10.00 16:22-------------------------------- + + ---------------------------------------------------------------------------*/ +/*N*/ const Sequence<OUString>& SwTableConfig::GetPropertyNames() +/*N*/ { +/*N*/ const int nCount = 8; +/*N*/ static Sequence<OUString> aNames(nCount); +/*N*/ static const char* aPropNames[] = +/*N*/ { +/*N*/ "Shift/Row", // 0 +/*N*/ "Shift/Column", // 1 +/*N*/ "Insert/Row", // 2 +/*N*/ "Insert/Column", // 3 +/*N*/ "Change/Effect", // 4 +/*N*/ "Input/NumberRecognition", // 5 +/*N*/ "Input/NumberFormatRecognition",// 6 +/*N*/ "Input/Alignment" // 7 +/*N*/ }; +/*N*/ OUString* pNames = aNames.getArray(); +/*N*/ for(int i = 0; i < nCount; i++) +/*N*/ pNames[i] = OUString::createFromAscii(aPropNames[i]); +/*N*/ return aNames; +/*N*/ } +/*-- 10.10.00 16:22:22--------------------------------------------------- + + -----------------------------------------------------------------------*/ +/*N*/ SwTableConfig::SwTableConfig(sal_Bool bWeb) : +/*N*/ ConfigItem(bWeb ? C2U("Office.WriterWeb/Table") : C2U("Office.Writer/Table"), +/*N*/ CONFIG_MODE_DELAYED_UPDATE|CONFIG_MODE_RELEASE_TREE) +/*N*/ { +/*N*/ Load(); +/*N*/ } +/*-- 10.10.00 16:22:23--------------------------------------------------- + + -----------------------------------------------------------------------*/ +/*N*/ SwTableConfig::~SwTableConfig() +/*N*/ { +/*N*/ } +/*-- 10.10.00 16:22:56--------------------------------------------------- + + -----------------------------------------------------------------------*/ +/*-- 10.10.00 16:22:56--------------------------------------------------- + + -----------------------------------------------------------------------*/ +/*N*/ void SwTableConfig::Load() +/*N*/ { +/*N*/ const Sequence<OUString>& aNames = GetPropertyNames(); +/*N*/ Sequence<Any> aValues = GetProperties(aNames); +/*N*/ const Any* pValues = aValues.getConstArray(); +/*N*/ DBG_ASSERT(aValues.getLength() == aNames.getLength(), "GetProperties failed"); +/*N*/ if(aValues.getLength() == aNames.getLength()) +/*N*/ { +/*N*/ for(int nProp = 0; nProp < aNames.getLength(); nProp++) +/*N*/ { +/*N*/ if(pValues[nProp].hasValue()) +/*N*/ { +/*N*/ sal_Int32 nTemp; +/*N*/ switch(nProp) +/*N*/ { +/*N*/ case 0 : pValues[nProp] >>= nTemp; nTblHMove = (USHORT)MM100_TO_TWIP(nTemp); break; //"Shift/Row", +/*N*/ case 1 : pValues[nProp] >>= nTemp; nTblVMove = (USHORT)MM100_TO_TWIP(nTemp); break; //"Shift/Column", +/*N*/ case 2 : pValues[nProp] >>= nTemp; nTblHInsert = (USHORT)MM100_TO_TWIP(nTemp); break; //"Insert/Row", +/*N*/ case 3 : pValues[nProp] >>= nTemp; nTblVInsert = (USHORT)MM100_TO_TWIP(nTemp); break; //"Insert/Column", +/*N*/ case 4 : pValues[nProp] >>= nTemp; eTblChgMode = (TblChgMode)nTemp; break; //"Change/Effect", +/*N*/ case 5 : bInsTblFormatNum = *(sal_Bool*)pValues[nProp].getValue(); break; //"Input/NumberRecognition", +/*N*/ case 6 : bInsTblChangeNumFormat = *(sal_Bool*)pValues[nProp].getValue(); break; //"Input/NumberFormatRecognition", +/*N*/ case 7 : bInsTblAlignNum = *(sal_Bool*)pValues[nProp].getValue(); break; //"Input/Alignment" +/*N*/ } +/*N*/ } +/*N*/ } +/*N*/ } +/*N*/ } + + void SwTableConfig::Commit() {} + void SwTableConfig::Notify( const ::com::sun::star::uno::Sequence< rtl::OUString >& aPropertyNames ) {} + +/*-- 18.01.01 17:02:47--------------------------------------------------- + + -----------------------------------------------------------------------*/ +/*N*/ SwMiscConfig::SwMiscConfig() : +/*N*/ ConfigItem(C2U("Office.Writer"), +/*N*/ CONFIG_MODE_DELAYED_UPDATE|CONFIG_MODE_RELEASE_TREE), +/*N*/ bDefaultFontsInCurrDocOnly(sal_False), +/*N*/ bShowIndexPreview(sal_False), +/*N*/ bGrfToGalleryAsLnk(sal_True), +/*N*/ bNumAlignSize(sal_True), +/*N*/ bSinglePrintJob(sal_False), +/*N*/ bIsNameFromColumn(sal_True), +/*N*/ nMailingFormats(0) +/*N*/ { +/*N*/ Load(); +/*N*/ } +/*-- 18.01.01 17:02:47--------------------------------------------------- + + -----------------------------------------------------------------------*/ +/*N*/ SwMiscConfig::~SwMiscConfig() +/*N*/ { +/*N*/ } + + void SwMiscConfig::Commit() {} + void SwMiscConfig::Notify( const ::com::sun::star::uno::Sequence< rtl::OUString >& aPropertyNames ) {} + +/*-- 18.01.01 17:02:47--------------------------------------------------- + + -----------------------------------------------------------------------*/ +/*N*/ const Sequence<OUString>& SwMiscConfig::GetPropertyNames() +/*N*/ { +/*N*/ static Sequence<OUString> aNames; +/*N*/ if(!aNames.getLength()) +/*N*/ { +/*N*/ const int nCount = 11; +/*N*/ aNames.realloc(nCount); +/*N*/ static const char* aPropNames[] = +/*N*/ { +/*N*/ "Statistics/WordNumber/Delimiter", // 0 +/*N*/ "DefaultFont/Document", // 1 +/*N*/ "Index/ShowPreview", // 2 +/*N*/ "Misc/GraphicToGalleryAsLink", // 3 +/*N*/ "Numbering/Graphic/KeepRatio", // 4 +/*N*/ "FormLetter/PrintOutput/SinglePrintJobs", // 5 +/*N*/ "FormLetter/MailingOutput/Format", // 6 +/*N*/ "FormLetter/FileOutput/FileName/FromDatabaseField", // 7 +/*N*/ "FormLetter/FileOutput/Path", // 8 +/*N*/ "FormLetter/FileOutput/FileName/FromManualSetting", // 9 +/*N*/ "FormLetter/FileOutput/FileName/Generation"//10 +/*N*/ }; +/*N*/ OUString* pNames = aNames.getArray(); +/*N*/ for(int i = 0; i < nCount; i++) +/*N*/ pNames[i] = C2U(aPropNames[i]); +/*N*/ } +/*N*/ return aNames; +/*N*/ } +/*-- 18.01.01 17:02:47--------------------------------------------------- + + -----------------------------------------------------------------------*/ +/*-- 18.01.01 17:02:48--------------------------------------------------- + + -----------------------------------------------------------------------*/ +/*N*/ void SwMiscConfig::Load() +/*N*/ { +/*N*/ const Sequence<OUString>& aNames = GetPropertyNames(); +/*N*/ Sequence<Any> aValues = GetProperties(aNames); +/*N*/ const Any* pValues = aValues.getConstArray(); +/*N*/ DBG_ASSERT(aValues.getLength() == aNames.getLength(), "GetProperties failed"); +/*N*/ if(aValues.getLength() == aNames.getLength()) +/*N*/ { +/*N*/ OUString sTmp; +/*N*/ for(int nProp = 0; nProp < aNames.getLength(); nProp++) +/*N*/ { +/*N*/ if(pValues[nProp].hasValue()) +/*N*/ { +/*N*/ switch(nProp) +/*N*/ { +/*N*/ case 0 : pValues[nProp] >>= sTmp; +/*N*/ sWordDelimiter = SwModuleOptions::ConvertWordDelimiter(sTmp, sal_True); +/*N*/ break; +/*N*/ case 1 : bDefaultFontsInCurrDocOnly = *(sal_Bool*)pValues[nProp].getValue(); break; +/*N*/ case 2 : bShowIndexPreview = *(sal_Bool*)pValues[nProp].getValue(); break; +/*N*/ case 3 : bGrfToGalleryAsLnk = *(sal_Bool*)pValues[nProp].getValue(); break; +/*N*/ case 4 : bNumAlignSize = *(sal_Bool*)pValues[nProp].getValue(); break; +/*N*/ case 5 : bSinglePrintJob = *(sal_Bool*)pValues[nProp].getValue(); break; +/*?*/ case 6 : pValues[nProp] >>= nMailingFormats; ; break; +/*?*/ case 7 : pValues[nProp] >>= sTmp; sNameFromColumn = sTmp; break; +/*N*/ case 8 : pValues[nProp] >>= sTmp; sMailingPath = sTmp; break; +/*?*/ case 9 : pValues[nProp] >>= sTmp; sMailName = sTmp; break; +/*?*/ case 10: bIsNameFromColumn = *(sal_Bool*)pValues[nProp].getValue(); break; +/*N*/ } +/*N*/ } +/*N*/ } +/*N*/ } +/*N*/ } +} + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |