1*efeef26fSAndrew Rist /************************************************************** 2cdf0e10cSrcweir * 3*efeef26fSAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one 4*efeef26fSAndrew Rist * or more contributor license agreements. See the NOTICE file 5*efeef26fSAndrew Rist * distributed with this work for additional information 6*efeef26fSAndrew Rist * regarding copyright ownership. The ASF licenses this file 7*efeef26fSAndrew Rist * to you under the Apache License, Version 2.0 (the 8*efeef26fSAndrew Rist * "License"); you may not use this file except in compliance 9*efeef26fSAndrew Rist * with the License. You may obtain a copy of the License at 10cdf0e10cSrcweir * 11*efeef26fSAndrew Rist * http://www.apache.org/licenses/LICENSE-2.0 12cdf0e10cSrcweir * 13*efeef26fSAndrew Rist * Unless required by applicable law or agreed to in writing, 14*efeef26fSAndrew Rist * software distributed under the License is distributed on an 15*efeef26fSAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*efeef26fSAndrew Rist * KIND, either express or implied. See the License for the 17*efeef26fSAndrew Rist * specific language governing permissions and limitations 18*efeef26fSAndrew Rist * under the License. 19cdf0e10cSrcweir * 20*efeef26fSAndrew Rist *************************************************************/ 21*efeef26fSAndrew Rist 22*efeef26fSAndrew Rist 23cdf0e10cSrcweir 24cdf0e10cSrcweir // MARKER(update_precomp.py): autogen include statement, do not remove 25cdf0e10cSrcweir #include "precompiled_sw.hxx" 26cdf0e10cSrcweir 27cdf0e10cSrcweir 28cdf0e10cSrcweir #include <hintids.hxx> 29cdf0e10cSrcweir #include <sot/clsids.hxx> 30cdf0e10cSrcweir #include <tools/stream.hxx> 31cdf0e10cSrcweir #include <vcl/svapp.hxx> 32cdf0e10cSrcweir #include <svl/mailenum.hxx> 33cdf0e10cSrcweir #ifndef _SVX_SVXIDS_HRC //autogen 34cdf0e10cSrcweir #include <svx/svxids.hrc> 35cdf0e10cSrcweir #endif 36cdf0e10cSrcweir #include <editeng/svxenum.hxx> 37cdf0e10cSrcweir #include <tools/debug.hxx> 38cdf0e10cSrcweir 39cdf0e10cSrcweir #include <tools/globname.hxx> 40cdf0e10cSrcweir #include <swtypes.hxx> 41cdf0e10cSrcweir #include <itabenum.hxx> 42cdf0e10cSrcweir #ifndef _MODCFG_HXX 43cdf0e10cSrcweir #include <modcfg.hxx> 44cdf0e10cSrcweir #endif 45cdf0e10cSrcweir #include <fldupde.hxx> 46cdf0e10cSrcweir #include <unotools/syslocaleoptions.hxx> 47cdf0e10cSrcweir #include <caption.hxx> 48cdf0e10cSrcweir #include <com/sun/star/uno/Any.hxx> 49cdf0e10cSrcweir 50cdf0e10cSrcweir #include <unomid.h> 51cdf0e10cSrcweir 52cdf0e10cSrcweir using namespace utl; 53cdf0e10cSrcweir using rtl::OUString; 54cdf0e10cSrcweir using namespace com::sun::star::uno; 55cdf0e10cSrcweir 56cdf0e10cSrcweir #define GLOB_NAME_CALC 0 57cdf0e10cSrcweir #define GLOB_NAME_IMPRESS 1 58cdf0e10cSrcweir #define GLOB_NAME_DRAW 2 59cdf0e10cSrcweir #define GLOB_NAME_MATH 3 60cdf0e10cSrcweir #define GLOB_NAME_CHART 4 61cdf0e10cSrcweir 62cdf0e10cSrcweir SV_IMPL_PTRARR_SORT(InsCapOptArr, InsCaptionOptPtr) 63cdf0e10cSrcweir /* -----------------03.11.98 13:46------------------- 64cdf0e10cSrcweir * 65cdf0e10cSrcweir * --------------------------------------------------*/ 66cdf0e10cSrcweir InsCaptionOpt* InsCaptionOptArr::Find(const SwCapObjType eType, const SvGlobalName *pOleId) const 67cdf0e10cSrcweir { 68cdf0e10cSrcweir for (sal_uInt16 i = 0; i < Count(); i++ ) 69cdf0e10cSrcweir { 70cdf0e10cSrcweir InsCaptionOpt* pObj = GetObject(i); 71cdf0e10cSrcweir if (pObj->GetObjType() == eType && 72cdf0e10cSrcweir (eType != OLE_CAP || 73cdf0e10cSrcweir (pOleId && 74cdf0e10cSrcweir pObj->GetOleId() == *pOleId))) 75cdf0e10cSrcweir return pObj; 76cdf0e10cSrcweir } 77cdf0e10cSrcweir 78cdf0e10cSrcweir return 0; 79cdf0e10cSrcweir } 80cdf0e10cSrcweir 81cdf0e10cSrcweir /* -----------------03.11.98 15:05------------------- 82cdf0e10cSrcweir * 83cdf0e10cSrcweir * --------------------------------------------------*/ 84cdf0e10cSrcweir 85cdf0e10cSrcweir const InsCaptionOpt* SwModuleOptions::GetCapOption( 86cdf0e10cSrcweir sal_Bool bHTML, const SwCapObjType eType, const SvGlobalName *pOleId) 87cdf0e10cSrcweir { 88cdf0e10cSrcweir if(bHTML) 89cdf0e10cSrcweir { 90cdf0e10cSrcweir DBG_ERROR("no caption option in sw/web!"); 91cdf0e10cSrcweir return 0; 92cdf0e10cSrcweir } 93cdf0e10cSrcweir else 94cdf0e10cSrcweir { 95cdf0e10cSrcweir sal_Bool bFound = sal_False; 96cdf0e10cSrcweir if(eType == OLE_CAP && pOleId) 97cdf0e10cSrcweir { 98cdf0e10cSrcweir for( sal_uInt16 nId = 0; nId <= GLOB_NAME_CHART && !bFound; nId++) 99cdf0e10cSrcweir bFound = *pOleId == aInsertConfig.aGlobalNames[nId ]; 100cdf0e10cSrcweir if(!bFound) 101cdf0e10cSrcweir return aInsertConfig.pOLEMiscOpt; 102cdf0e10cSrcweir } 103cdf0e10cSrcweir return aInsertConfig.pCapOptions->Find(eType, pOleId); 104cdf0e10cSrcweir } 105cdf0e10cSrcweir } 106cdf0e10cSrcweir 107cdf0e10cSrcweir /* -----------------03.11.98 15:05------------------- 108cdf0e10cSrcweir * 109cdf0e10cSrcweir * --------------------------------------------------*/ 110cdf0e10cSrcweir 111cdf0e10cSrcweir sal_Bool SwModuleOptions::SetCapOption(sal_Bool bHTML, const InsCaptionOpt* pOpt) 112cdf0e10cSrcweir { 113cdf0e10cSrcweir sal_Bool bRet = sal_False; 114cdf0e10cSrcweir 115cdf0e10cSrcweir if(bHTML) 116cdf0e10cSrcweir { 117cdf0e10cSrcweir DBG_ERROR("no caption option in sw/web!"); 118cdf0e10cSrcweir } 119cdf0e10cSrcweir else if (pOpt) 120cdf0e10cSrcweir { 121cdf0e10cSrcweir sal_Bool bFound = sal_False; 122cdf0e10cSrcweir if(pOpt->GetObjType() == OLE_CAP && &pOpt->GetOleId()) 123cdf0e10cSrcweir { 124cdf0e10cSrcweir for( sal_uInt16 nId = 0; nId <= GLOB_NAME_CHART; nId++) 125cdf0e10cSrcweir bFound = pOpt->GetOleId() == aInsertConfig.aGlobalNames[nId ]; 126cdf0e10cSrcweir if(!bFound) 127cdf0e10cSrcweir { 128cdf0e10cSrcweir if(aInsertConfig.pOLEMiscOpt) 129cdf0e10cSrcweir *aInsertConfig.pOLEMiscOpt = *pOpt; 130cdf0e10cSrcweir else 131cdf0e10cSrcweir aInsertConfig.pOLEMiscOpt = new InsCaptionOpt(*pOpt); 132cdf0e10cSrcweir } 133cdf0e10cSrcweir } 134cdf0e10cSrcweir 135cdf0e10cSrcweir InsCaptionOptArr& rArr = *aInsertConfig.pCapOptions; 136cdf0e10cSrcweir InsCaptionOpt *pObj = rArr.Find(pOpt->GetObjType(), &pOpt->GetOleId()); 137cdf0e10cSrcweir 138cdf0e10cSrcweir if (pObj) 139cdf0e10cSrcweir { 140cdf0e10cSrcweir *pObj = *pOpt; 141cdf0e10cSrcweir } 142cdf0e10cSrcweir else 143cdf0e10cSrcweir rArr.Insert(new InsCaptionOpt(*pOpt)); 144cdf0e10cSrcweir 145cdf0e10cSrcweir aInsertConfig.SetModified(); 146cdf0e10cSrcweir bRet = sal_True; 147cdf0e10cSrcweir } 148cdf0e10cSrcweir 149cdf0e10cSrcweir return bRet; 150cdf0e10cSrcweir } 151cdf0e10cSrcweir /*-----------------13.01.97 12.44------------------- 152cdf0e10cSrcweir 153cdf0e10cSrcweir --------------------------------------------------*/ 154cdf0e10cSrcweir SwModuleOptions::SwModuleOptions() : 155cdf0e10cSrcweir aInsertConfig(sal_False), 156cdf0e10cSrcweir aWebInsertConfig(sal_True), 157cdf0e10cSrcweir aTableConfig(sal_False), 158cdf0e10cSrcweir aWebTableConfig(sal_True), 159cdf0e10cSrcweir bHideFieldTips(sal_False) 160cdf0e10cSrcweir { 161cdf0e10cSrcweir } 162cdf0e10cSrcweir /* -----------------------------19.01.01 12:26-------------------------------- 163cdf0e10cSrcweir 164cdf0e10cSrcweir ---------------------------------------------------------------------------*/ 165cdf0e10cSrcweir String SwModuleOptions::ConvertWordDelimiter(const String& rDelim, sal_Bool bFromUI) 166cdf0e10cSrcweir { 167cdf0e10cSrcweir String sReturn; 168cdf0e10cSrcweir if(bFromUI) 169cdf0e10cSrcweir { 170cdf0e10cSrcweir String sChar; 171cdf0e10cSrcweir 172cdf0e10cSrcweir xub_StrLen i = 0; 173cdf0e10cSrcweir sal_Unicode c; 174cdf0e10cSrcweir 175cdf0e10cSrcweir while (i < rDelim.Len()) 176cdf0e10cSrcweir { 177cdf0e10cSrcweir c = rDelim.GetChar(i++); 178cdf0e10cSrcweir 179cdf0e10cSrcweir if (c == '\\') 180cdf0e10cSrcweir { 181cdf0e10cSrcweir c = rDelim.GetChar(i++); 182cdf0e10cSrcweir 183cdf0e10cSrcweir switch (c) 184cdf0e10cSrcweir { 185cdf0e10cSrcweir case 'n': sReturn += '\n'; break; 186cdf0e10cSrcweir case 't': sReturn += '\t'; break; 187cdf0e10cSrcweir case '\\': sReturn += '\\'; break; 188cdf0e10cSrcweir 189cdf0e10cSrcweir case 'x': 190cdf0e10cSrcweir { 191cdf0e10cSrcweir sal_Unicode nVal, nChar; 192cdf0e10cSrcweir sal_Bool bValidData = sal_True; 193cdf0e10cSrcweir xub_StrLen n; 194cdf0e10cSrcweir for( n = 0, nChar = 0; n < 2 && i < rDelim.Len(); ++n, ++i ) 195cdf0e10cSrcweir { 196cdf0e10cSrcweir if( ((nVal = rDelim.GetChar( i )) >= '0') && ( nVal <= '9') ) 197cdf0e10cSrcweir nVal -= '0'; 198cdf0e10cSrcweir else if( (nVal >= 'A') && (nVal <= 'F') ) 199cdf0e10cSrcweir nVal -= 'A' - 10; 200cdf0e10cSrcweir else if( (nVal >= 'a') && (nVal <= 'f') ) 201cdf0e10cSrcweir nVal -= 'a' - 10; 202cdf0e10cSrcweir else 203cdf0e10cSrcweir { 204cdf0e10cSrcweir DBG_ERROR( "ungueltiger Hex-Wert" ); 205cdf0e10cSrcweir bValidData = sal_False; 206cdf0e10cSrcweir break; 207cdf0e10cSrcweir } 208cdf0e10cSrcweir 209cdf0e10cSrcweir (nChar <<= 4 ); 210cdf0e10cSrcweir nChar = nChar + nVal; 211cdf0e10cSrcweir } 212cdf0e10cSrcweir if( bValidData ) 213cdf0e10cSrcweir sReturn += nChar; 214cdf0e10cSrcweir break; 215cdf0e10cSrcweir } 216cdf0e10cSrcweir 217cdf0e10cSrcweir default: // Unbekannt, daher nur Backslash einfuegen 218cdf0e10cSrcweir sReturn += '\\'; 219cdf0e10cSrcweir i--; 220cdf0e10cSrcweir break; 221cdf0e10cSrcweir } 222cdf0e10cSrcweir } 223cdf0e10cSrcweir else 224cdf0e10cSrcweir sReturn += c; 225cdf0e10cSrcweir } 226cdf0e10cSrcweir } 227cdf0e10cSrcweir else 228cdf0e10cSrcweir { 229cdf0e10cSrcweir for (xub_StrLen i = 0; i < rDelim.Len(); i++) 230cdf0e10cSrcweir { 231cdf0e10cSrcweir sal_Unicode c = rDelim.GetChar(i); 232cdf0e10cSrcweir 233cdf0e10cSrcweir switch (c) 234cdf0e10cSrcweir { 235cdf0e10cSrcweir case '\n': sReturn.AppendAscii(RTL_CONSTASCII_STRINGPARAM("\\n")); break; 236cdf0e10cSrcweir case '\t': sReturn.AppendAscii(RTL_CONSTASCII_STRINGPARAM("\\t")); break; 237cdf0e10cSrcweir case '\\': sReturn.AppendAscii(RTL_CONSTASCII_STRINGPARAM("\\\\")); break; 238cdf0e10cSrcweir 239cdf0e10cSrcweir default: 240cdf0e10cSrcweir if( c <= 0x1f || c >= 0x7f ) 241cdf0e10cSrcweir { 242cdf0e10cSrcweir sReturn.AppendAscii( RTL_CONSTASCII_STRINGPARAM( "\\x" )) 243cdf0e10cSrcweir += String::CreateFromInt32( c, 16 ); 244cdf0e10cSrcweir } 245cdf0e10cSrcweir else 246cdf0e10cSrcweir sReturn += c; 247cdf0e10cSrcweir } 248cdf0e10cSrcweir } 249cdf0e10cSrcweir } 250cdf0e10cSrcweir return sReturn; 251cdf0e10cSrcweir } 252cdf0e10cSrcweir /* -----------------------------10.10.00 16:22-------------------------------- 253cdf0e10cSrcweir 254cdf0e10cSrcweir ---------------------------------------------------------------------------*/ 255cdf0e10cSrcweir const Sequence<OUString>& SwRevisionConfig::GetPropertyNames() 256cdf0e10cSrcweir { 257cdf0e10cSrcweir static Sequence<OUString> aNames; 258cdf0e10cSrcweir if(!aNames.getLength()) 259cdf0e10cSrcweir { 260cdf0e10cSrcweir const int nCount = 8; 261cdf0e10cSrcweir aNames.realloc(nCount); 262cdf0e10cSrcweir static const char* aPropNames[] = 263cdf0e10cSrcweir { 264cdf0e10cSrcweir "TextDisplay/Insert/Attribute", // 0 265cdf0e10cSrcweir "TextDisplay/Insert/Color", // 1 266cdf0e10cSrcweir "TextDisplay/Delete/Attribute", // 2 267cdf0e10cSrcweir "TextDisplay/Delete/Color", // 3 268cdf0e10cSrcweir "TextDisplay/ChangedAttribute/Attribute", // 4 269cdf0e10cSrcweir "TextDisplay/ChangedAttribute/Color", // 5 270cdf0e10cSrcweir "LinesChanged/Mark", // 6 271cdf0e10cSrcweir "LinesChanged/Color" // 7 272cdf0e10cSrcweir }; 273cdf0e10cSrcweir OUString* pNames = aNames.getArray(); 274cdf0e10cSrcweir for(int i = 0; i < nCount; i++) 275cdf0e10cSrcweir pNames[i] = OUString::createFromAscii(aPropNames[i]); 276cdf0e10cSrcweir } 277cdf0e10cSrcweir return aNames; 278cdf0e10cSrcweir } 279cdf0e10cSrcweir /*-- 10.10.00 16:22:22--------------------------------------------------- 280cdf0e10cSrcweir 281cdf0e10cSrcweir -----------------------------------------------------------------------*/ 282cdf0e10cSrcweir SwRevisionConfig::SwRevisionConfig() : 283cdf0e10cSrcweir ConfigItem(C2U("Office.Writer/Revision"), 284cdf0e10cSrcweir CONFIG_MODE_DELAYED_UPDATE|CONFIG_MODE_RELEASE_TREE) 285cdf0e10cSrcweir { 286cdf0e10cSrcweir aInsertAttr.nItemId = SID_ATTR_CHAR_UNDERLINE; 287cdf0e10cSrcweir aInsertAttr.nAttr = UNDERLINE_SINGLE; 288cdf0e10cSrcweir aInsertAttr.nColor = COL_TRANSPARENT; 289cdf0e10cSrcweir aDeletedAttr.nItemId = SID_ATTR_CHAR_STRIKEOUT; 290cdf0e10cSrcweir aDeletedAttr.nAttr = STRIKEOUT_SINGLE; 291cdf0e10cSrcweir aDeletedAttr.nColor = COL_TRANSPARENT; 292cdf0e10cSrcweir aFormatAttr.nItemId = SID_ATTR_CHAR_WEIGHT; 293cdf0e10cSrcweir aFormatAttr.nAttr = WEIGHT_BOLD; 294cdf0e10cSrcweir aFormatAttr.nColor = COL_BLACK; 295cdf0e10cSrcweir 296cdf0e10cSrcweir Load(); 297cdf0e10cSrcweir } 298cdf0e10cSrcweir /*-- 10.10.00 16:22:23--------------------------------------------------- 299cdf0e10cSrcweir 300cdf0e10cSrcweir -----------------------------------------------------------------------*/ 301cdf0e10cSrcweir SwRevisionConfig::~SwRevisionConfig() 302cdf0e10cSrcweir { 303cdf0e10cSrcweir } 304cdf0e10cSrcweir /*-- 10.10.00 16:22:56--------------------------------------------------- 305cdf0e10cSrcweir 306cdf0e10cSrcweir -----------------------------------------------------------------------*/ 307cdf0e10cSrcweir sal_Int32 lcl_ConvertAttrToCfg(const AuthorCharAttr& rAttr) 308cdf0e10cSrcweir { 309cdf0e10cSrcweir sal_Int32 nRet = 0; 310cdf0e10cSrcweir switch(rAttr.nItemId) 311cdf0e10cSrcweir { 312cdf0e10cSrcweir case SID_ATTR_CHAR_WEIGHT: nRet = 1; break; 313cdf0e10cSrcweir case SID_ATTR_CHAR_POSTURE: nRet = 2; break; 314cdf0e10cSrcweir case SID_ATTR_CHAR_UNDERLINE: nRet = UNDERLINE_SINGLE == rAttr.nAttr ? 3 : 4; break; 315cdf0e10cSrcweir case SID_ATTR_CHAR_STRIKEOUT: nRet = 3; break; 316cdf0e10cSrcweir case SID_ATTR_CHAR_CASEMAP: 317cdf0e10cSrcweir { 318cdf0e10cSrcweir switch(rAttr.nAttr) 319cdf0e10cSrcweir { 320cdf0e10cSrcweir case SVX_CASEMAP_VERSALIEN : nRet = 5;break; 321cdf0e10cSrcweir case SVX_CASEMAP_GEMEINE : nRet = 6;break; 322cdf0e10cSrcweir case SVX_CASEMAP_KAPITAELCHEN: nRet = 7;break; 323cdf0e10cSrcweir case SVX_CASEMAP_TITEL : nRet = 8;break; 324cdf0e10cSrcweir } 325cdf0e10cSrcweir } 326cdf0e10cSrcweir break; 327cdf0e10cSrcweir case SID_ATTR_BRUSH : nRet = 9; break; 328cdf0e10cSrcweir } 329cdf0e10cSrcweir return nRet; 330cdf0e10cSrcweir } 331cdf0e10cSrcweir //----------------------------------------------------------------------------- 332cdf0e10cSrcweir void SwRevisionConfig::Notify( const ::com::sun::star::uno::Sequence< rtl::OUString >& ) {} 333cdf0e10cSrcweir 334cdf0e10cSrcweir void SwRevisionConfig::Commit() 335cdf0e10cSrcweir { 336cdf0e10cSrcweir const Sequence<OUString>& aNames = GetPropertyNames(); 337cdf0e10cSrcweir Sequence<Any> aValues(aNames.getLength()); 338cdf0e10cSrcweir Any* pValues = aValues.getArray(); 339cdf0e10cSrcweir 340cdf0e10cSrcweir for(int nProp = 0; nProp < aNames.getLength(); nProp++) 341cdf0e10cSrcweir { 342cdf0e10cSrcweir sal_Int32 nVal = -1; 343cdf0e10cSrcweir switch(nProp) 344cdf0e10cSrcweir { 345cdf0e10cSrcweir case 0 : nVal = lcl_ConvertAttrToCfg(aInsertAttr); break; 346cdf0e10cSrcweir case 1 : nVal = aInsertAttr.nColor ; break; 347cdf0e10cSrcweir case 2 : nVal = lcl_ConvertAttrToCfg(aDeletedAttr); break; 348cdf0e10cSrcweir case 3 : nVal = aDeletedAttr.nColor ; break; 349cdf0e10cSrcweir case 4 : nVal = lcl_ConvertAttrToCfg(aFormatAttr); break; 350cdf0e10cSrcweir case 5 : nVal = aFormatAttr.nColor ; break; 351cdf0e10cSrcweir case 6 : nVal = nMarkAlign ; break; 352cdf0e10cSrcweir case 7 : nVal = aMarkColor.GetColor(); break; 353cdf0e10cSrcweir } 354cdf0e10cSrcweir pValues[nProp] <<= nVal; 355cdf0e10cSrcweir } 356cdf0e10cSrcweir PutProperties(aNames, aValues); 357cdf0e10cSrcweir } 358cdf0e10cSrcweir /*-- 10.10.00 16:22:56--------------------------------------------------- 359cdf0e10cSrcweir 360cdf0e10cSrcweir -----------------------------------------------------------------------*/ 361cdf0e10cSrcweir void lcl_ConvertCfgToAttr(sal_Int32 nVal, AuthorCharAttr& rAttr, sal_Bool bDelete = sal_False) 362cdf0e10cSrcweir { 363cdf0e10cSrcweir rAttr.nItemId = rAttr.nAttr = 0; 364cdf0e10cSrcweir switch(nVal) 365cdf0e10cSrcweir { 366cdf0e10cSrcweir case 1: rAttr.nItemId = SID_ATTR_CHAR_WEIGHT; rAttr.nAttr = WEIGHT_BOLD ; break; 367cdf0e10cSrcweir case 2: rAttr.nItemId = SID_ATTR_CHAR_POSTURE; rAttr.nAttr = ITALIC_NORMAL ; break; 368cdf0e10cSrcweir case 3: if(bDelete) 369cdf0e10cSrcweir { 370cdf0e10cSrcweir rAttr.nItemId = SID_ATTR_CHAR_STRIKEOUT; 371cdf0e10cSrcweir rAttr.nAttr = STRIKEOUT_SINGLE; 372cdf0e10cSrcweir } 373cdf0e10cSrcweir else 374cdf0e10cSrcweir { 375cdf0e10cSrcweir rAttr.nItemId = SID_ATTR_CHAR_UNDERLINE; 376cdf0e10cSrcweir rAttr.nAttr = UNDERLINE_SINGLE; 377cdf0e10cSrcweir } 378cdf0e10cSrcweir break; 379cdf0e10cSrcweir case 4: rAttr.nItemId = SID_ATTR_CHAR_UNDERLINE;rAttr.nAttr = UNDERLINE_DOUBLE ; break; 380cdf0e10cSrcweir case 5: rAttr.nItemId = SID_ATTR_CHAR_CASEMAP; rAttr.nAttr = SVX_CASEMAP_VERSALIEN ; break; 381cdf0e10cSrcweir case 6: rAttr.nItemId = SID_ATTR_CHAR_CASEMAP; rAttr.nAttr = SVX_CASEMAP_GEMEINE ; break; 382cdf0e10cSrcweir case 7: rAttr.nItemId = SID_ATTR_CHAR_CASEMAP; rAttr.nAttr = SVX_CASEMAP_KAPITAELCHEN ; break; 383cdf0e10cSrcweir case 8: rAttr.nItemId = SID_ATTR_CHAR_CASEMAP; rAttr.nAttr = SVX_CASEMAP_TITEL ; break; 384cdf0e10cSrcweir case 9: rAttr.nItemId = SID_ATTR_BRUSH; break; 385cdf0e10cSrcweir } 386cdf0e10cSrcweir } 387cdf0e10cSrcweir void SwRevisionConfig::Load() 388cdf0e10cSrcweir { 389cdf0e10cSrcweir const Sequence<OUString>& aNames = GetPropertyNames(); 390cdf0e10cSrcweir Sequence<Any> aValues = GetProperties(aNames); 391cdf0e10cSrcweir const Any* pValues = aValues.getConstArray(); 392cdf0e10cSrcweir DBG_ASSERT(aValues.getLength() == aNames.getLength(), "GetProperties failed"); 393cdf0e10cSrcweir if(aValues.getLength() == aNames.getLength()) 394cdf0e10cSrcweir { 395cdf0e10cSrcweir for(int nProp = 0; nProp < aNames.getLength(); nProp++) 396cdf0e10cSrcweir { 397cdf0e10cSrcweir if(pValues[nProp].hasValue()) 398cdf0e10cSrcweir { 399cdf0e10cSrcweir sal_Int32 nVal = 0; 400cdf0e10cSrcweir pValues[nProp] >>= nVal; 401cdf0e10cSrcweir switch(nProp) 402cdf0e10cSrcweir { 403cdf0e10cSrcweir case 0 : lcl_ConvertCfgToAttr(nVal, aInsertAttr); break; 404cdf0e10cSrcweir case 1 : aInsertAttr.nColor = nVal; break; 405cdf0e10cSrcweir case 2 : lcl_ConvertCfgToAttr(nVal, aDeletedAttr, sal_True); break; 406cdf0e10cSrcweir case 3 : aDeletedAttr.nColor = nVal; break; 407cdf0e10cSrcweir case 4 : lcl_ConvertCfgToAttr(nVal, aFormatAttr); break; 408cdf0e10cSrcweir case 5 : aFormatAttr.nColor = nVal; break; 409cdf0e10cSrcweir case 6 : nMarkAlign = sal::static_int_cast< sal_uInt16, sal_Int32>(nVal); break; 410cdf0e10cSrcweir case 7 : aMarkColor.SetColor(nVal); break; 411cdf0e10cSrcweir } 412cdf0e10cSrcweir } 413cdf0e10cSrcweir } 414cdf0e10cSrcweir } 415cdf0e10cSrcweir } 416cdf0e10cSrcweir /* -----------------------------10.10.00 16:22-------------------------------- 417cdf0e10cSrcweir 418cdf0e10cSrcweir ---------------------------------------------------------------------------*/ 419cdf0e10cSrcweir enum InsertConfigProp 420cdf0e10cSrcweir { 421cdf0e10cSrcweir INS_PROP_TABLE_HEADER = 0, 422cdf0e10cSrcweir INS_PROP_TABLE_REPEATHEADER, // 1 423cdf0e10cSrcweir INS_PROP_TABLE_BORDER, // 2 424cdf0e10cSrcweir INS_PROP_TABLE_SPLIT, // 3 from here not in writer/web 425cdf0e10cSrcweir INS_PROP_CAP_AUTOMATIC, // 4 426cdf0e10cSrcweir INS_PROP_CAP_CAPTIONORDERNUMBERINGFIRST, // 5 427cdf0e10cSrcweir INS_PROP_CAP_OBJECT_TABLE_ENABLE, // 6 428cdf0e10cSrcweir INS_PROP_CAP_OBJECT_TABLE_CATEGORY, // 7 429cdf0e10cSrcweir INS_PROP_CAP_OBJECT_TABLE_NUMBERING, // 8 430cdf0e10cSrcweir INS_PROP_CAP_OBJECT_TABLE_NUMBERINGSEPARATOR, // 9 431cdf0e10cSrcweir INS_PROP_CAP_OBJECT_TABLE_CAPTIONTEXT, //10 432cdf0e10cSrcweir INS_PROP_CAP_OBJECT_TABLE_DELIMITER, //11 433cdf0e10cSrcweir INS_PROP_CAP_OBJECT_TABLE_LEVEL, //12 434cdf0e10cSrcweir INS_PROP_CAP_OBJECT_TABLE_POSITION, //13 435cdf0e10cSrcweir INS_PROP_CAP_OBJECT_TABLE_CHARACTERSTYLE, //14 436cdf0e10cSrcweir INS_PROP_CAP_OBJECT_FRAME_ENABLE, //15 437cdf0e10cSrcweir INS_PROP_CAP_OBJECT_FRAME_CATEGORY, //16 438cdf0e10cSrcweir INS_PROP_CAP_OBJECT_FRAME_NUMBERING, //17 439cdf0e10cSrcweir INS_PROP_CAP_OBJECT_FRAME_NUMBERINGSEPARATOR, //18 440cdf0e10cSrcweir INS_PROP_CAP_OBJECT_FRAME_CAPTIONTEXT, //19 441cdf0e10cSrcweir INS_PROP_CAP_OBJECT_FRAME_DELIMITER, //20 442cdf0e10cSrcweir INS_PROP_CAP_OBJECT_FRAME_LEVEL, //21 443cdf0e10cSrcweir INS_PROP_CAP_OBJECT_FRAME_POSITION, //22 444cdf0e10cSrcweir INS_PROP_CAP_OBJECT_FRAME_CHARACTERSTYLE, //23 445cdf0e10cSrcweir INS_PROP_CAP_OBJECT_GRAPHIC_ENABLE, //24 446cdf0e10cSrcweir INS_PROP_CAP_OBJECT_GRAPHIC_CATEGORY, //25 447cdf0e10cSrcweir INS_PROP_CAP_OBJECT_GRAPHIC_NUMBERING, //26 448cdf0e10cSrcweir INS_PROP_CAP_OBJECT_GRAPHIC_NUMBERINGSEPARATOR, //27 449cdf0e10cSrcweir INS_PROP_CAP_OBJECT_GRAPHIC_CAPTIONTEXT, //28 450cdf0e10cSrcweir INS_PROP_CAP_OBJECT_GRAPHIC_DELIMITER, //29 451cdf0e10cSrcweir INS_PROP_CAP_OBJECT_GRAPHIC_LEVEL, //30 452cdf0e10cSrcweir INS_PROP_CAP_OBJECT_GRAPHIC_POSITION, //31 453cdf0e10cSrcweir INS_PROP_CAP_OBJECT_GRAPHIC_CHARACTERSTYLE, //32 454cdf0e10cSrcweir INS_PROP_CAP_OBJECT_GRAPHIC_APPLYATTRIBUTES, //33 455cdf0e10cSrcweir INS_PROP_CAP_OBJECT_CALC_ENABLE, //34 456cdf0e10cSrcweir INS_PROP_CAP_OBJECT_CALC_CATEGORY, //35 457cdf0e10cSrcweir INS_PROP_CAP_OBJECT_CALC_NUMBERING, //36 458cdf0e10cSrcweir INS_PROP_CAP_OBJECT_CALC_NUMBERINGSEPARATOR, //37 459cdf0e10cSrcweir INS_PROP_CAP_OBJECT_CALC_CAPTIONTEXT, //38 460cdf0e10cSrcweir INS_PROP_CAP_OBJECT_CALC_DELIMITER, //39 461cdf0e10cSrcweir INS_PROP_CAP_OBJECT_CALC_LEVEL, //40 462cdf0e10cSrcweir INS_PROP_CAP_OBJECT_CALC_POSITION, //41 463cdf0e10cSrcweir INS_PROP_CAP_OBJECT_CALC_CHARACTERSTYLE, //42 464cdf0e10cSrcweir INS_PROP_CAP_OBJECT_CALC_APPLYATTRIBUTES, //43 465cdf0e10cSrcweir INS_PROP_CAP_OBJECT_IMPRESS_ENABLE, //44 466cdf0e10cSrcweir INS_PROP_CAP_OBJECT_IMPRESS_CATEGORY, //45 467cdf0e10cSrcweir INS_PROP_CAP_OBJECT_IMPRESS_NUMBERING, //46 468cdf0e10cSrcweir INS_PROP_CAP_OBJECT_IMPRESS_NUMBERINGSEPARATOR, //47 469cdf0e10cSrcweir INS_PROP_CAP_OBJECT_IMPRESS_CAPTIONTEXT, //48 470cdf0e10cSrcweir INS_PROP_CAP_OBJECT_IMPRESS_DELIMITER, //49 471cdf0e10cSrcweir INS_PROP_CAP_OBJECT_IMPRESS_LEVEL, //50 472cdf0e10cSrcweir INS_PROP_CAP_OBJECT_IMPRESS_POSITION, //51 473cdf0e10cSrcweir INS_PROP_CAP_OBJECT_IMPRESS_CHARACTERSTYLE, //52 474cdf0e10cSrcweir INS_PROP_CAP_OBJECT_IMPRESS_APPLYATTRIBUTES, //53 475cdf0e10cSrcweir INS_PROP_CAP_OBJECT_CHART_ENABLE, //54 476cdf0e10cSrcweir INS_PROP_CAP_OBJECT_CHART_CATEGORY, //55 477cdf0e10cSrcweir INS_PROP_CAP_OBJECT_CHART_NUMBERING, //56 478cdf0e10cSrcweir INS_PROP_CAP_OBJECT_CHART_NUMBERINGSEPARATOR, //57 479cdf0e10cSrcweir INS_PROP_CAP_OBJECT_CHART_CAPTIONTEXT, //58 480cdf0e10cSrcweir INS_PROP_CAP_OBJECT_CHART_DELIMITER, //59 481cdf0e10cSrcweir INS_PROP_CAP_OBJECT_CHART_LEVEL, //60 482cdf0e10cSrcweir INS_PROP_CAP_OBJECT_CHART_POSITION, //61 483cdf0e10cSrcweir INS_PROP_CAP_OBJECT_CHART_CHARACTERSTYLE, //62 484cdf0e10cSrcweir INS_PROP_CAP_OBJECT_CHART_APPLYATTRIBUTES, //63 485cdf0e10cSrcweir INS_PROP_CAP_OBJECT_FORMULA_ENABLE, //64 486cdf0e10cSrcweir INS_PROP_CAP_OBJECT_FORMULA_CATEGORY, //65 487cdf0e10cSrcweir INS_PROP_CAP_OBJECT_FORMULA_NUMBERING, //66 488cdf0e10cSrcweir INS_PROP_CAP_OBJECT_FORMULA_NUMBERINGSEPARATOR, //67 489cdf0e10cSrcweir INS_PROP_CAP_OBJECT_FORMULA_CAPTIONTEXT, //68 490cdf0e10cSrcweir INS_PROP_CAP_OBJECT_FORMULA_DELIMITER, //69 491cdf0e10cSrcweir INS_PROP_CAP_OBJECT_FORMULA_LEVEL, //70 492cdf0e10cSrcweir INS_PROP_CAP_OBJECT_FORMULA_POSITION, //71 493cdf0e10cSrcweir INS_PROP_CAP_OBJECT_FORMULA_CHARACTERSTYLE, //72 494cdf0e10cSrcweir INS_PROP_CAP_OBJECT_FORMULA_APPLYATTRIBUTES, //73 495cdf0e10cSrcweir INS_PROP_CAP_OBJECT_DRAW_ENABLE, //74 496cdf0e10cSrcweir INS_PROP_CAP_OBJECT_DRAW_CATEGORY, //75 497cdf0e10cSrcweir INS_PROP_CAP_OBJECT_DRAW_NUMBERING, //76 498cdf0e10cSrcweir INS_PROP_CAP_OBJECT_DRAW_NUMBERINGSEPARATOR, //77 499cdf0e10cSrcweir INS_PROP_CAP_OBJECT_DRAW_CAPTIONTEXT, //78 500cdf0e10cSrcweir INS_PROP_CAP_OBJECT_DRAW_DELIMITER, //79 501cdf0e10cSrcweir INS_PROP_CAP_OBJECT_DRAW_LEVEL, //80 502cdf0e10cSrcweir INS_PROP_CAP_OBJECT_DRAW_POSITION, //81 503cdf0e10cSrcweir INS_PROP_CAP_OBJECT_DRAW_CHARACTERSTYLE, //82 504cdf0e10cSrcweir INS_PROP_CAP_OBJECT_DRAW_APPLYATTRIBUTES, //83 505cdf0e10cSrcweir INS_PROP_CAP_OBJECT_OLEMISC_ENABLE, //84 506cdf0e10cSrcweir INS_PROP_CAP_OBJECT_OLEMISC_CATEGORY, //85 507cdf0e10cSrcweir INS_PROP_CAP_OBJECT_OLEMISC_NUMBERING, //86 508cdf0e10cSrcweir INS_PROP_CAP_OBJECT_OLEMISC_NUMBERINGSEPARATOR, //87 509cdf0e10cSrcweir INS_PROP_CAP_OBJECT_OLEMISC_CAPTIONTEXT, //88 510cdf0e10cSrcweir INS_PROP_CAP_OBJECT_OLEMISC_DELIMITER, //89 511cdf0e10cSrcweir INS_PROP_CAP_OBJECT_OLEMISC_LEVEL, //90 512cdf0e10cSrcweir INS_PROP_CAP_OBJECT_OLEMISC_POSITION, //91 513cdf0e10cSrcweir INS_PROP_CAP_OBJECT_OLEMISC_CHARACTERSTYLE, //92 514cdf0e10cSrcweir INS_PROP_CAP_OBJECT_OLEMISC_APPLYATTRIBUTES //93 515cdf0e10cSrcweir }; 516cdf0e10cSrcweir const Sequence<OUString>& SwInsertConfig::GetPropertyNames() 517cdf0e10cSrcweir { 518cdf0e10cSrcweir static Sequence<OUString> aNames; 519cdf0e10cSrcweir static Sequence<OUString> aWebNames; 520cdf0e10cSrcweir if(!aNames.getLength()) 521cdf0e10cSrcweir { 522cdf0e10cSrcweir static const char* aPropNames[] = 523cdf0e10cSrcweir { 524cdf0e10cSrcweir "Table/Header", // 0 525cdf0e10cSrcweir "Table/RepeatHeader", // 1 526cdf0e10cSrcweir "Table/Border", // 2 527cdf0e10cSrcweir "Table/Split", // 3 from here not in writer/web 528cdf0e10cSrcweir "Caption/Automatic", // 4 529cdf0e10cSrcweir "Caption/CaptionOrderNumberingFirst", // 5 530cdf0e10cSrcweir "Caption/WriterObject/Table/Enable", // 6 531cdf0e10cSrcweir "Caption/WriterObject/Table/Settings/Category", // 7 532cdf0e10cSrcweir "Caption/WriterObject/Table/Settings/Numbering", // 8 533cdf0e10cSrcweir "Caption/WriterObject/Table/Settings/NumberingSeparator", // 9 534cdf0e10cSrcweir "Caption/WriterObject/Table/Settings/CaptionText", //10 535cdf0e10cSrcweir "Caption/WriterObject/Table/Settings/Delimiter", //11 536cdf0e10cSrcweir "Caption/WriterObject/Table/Settings/Level", //12 537cdf0e10cSrcweir "Caption/WriterObject/Table/Settings/Position", //13 538cdf0e10cSrcweir "Caption/WriterObject/Table/Settings/CharacterStyle", //14 539cdf0e10cSrcweir "Caption/WriterObject/Frame/Enable", //15 540cdf0e10cSrcweir "Caption/WriterObject/Frame/Settings/Category", //16 541cdf0e10cSrcweir "Caption/WriterObject/Frame/Settings/Numbering", //17 542cdf0e10cSrcweir "Caption/WriterObject/Frame/Settings/NumberingSeparator", //18 543cdf0e10cSrcweir "Caption/WriterObject/Frame/Settings/CaptionText", //19 544cdf0e10cSrcweir "Caption/WriterObject/Frame/Settings/Delimiter", //20 545cdf0e10cSrcweir "Caption/WriterObject/Frame/Settings/Level", //21 546cdf0e10cSrcweir "Caption/WriterObject/Frame/Settings/Position", //22 547cdf0e10cSrcweir "Caption/WriterObject/Frame/Settings/CharacterStyle", //23 548cdf0e10cSrcweir "Caption/WriterObject/Graphic/Enable", //24 549cdf0e10cSrcweir "Caption/WriterObject/Graphic/Settings/Category", //25 550cdf0e10cSrcweir "Caption/WriterObject/Graphic/Settings/Numbering", //26 551cdf0e10cSrcweir "Caption/WriterObject/Graphic/Settings/NumberingSeparator", //27 552cdf0e10cSrcweir "Caption/WriterObject/Graphic/Settings/CaptionText", //28 553cdf0e10cSrcweir "Caption/WriterObject/Graphic/Settings/Delimiter", //29 554cdf0e10cSrcweir "Caption/WriterObject/Graphic/Settings/Level", //30 555cdf0e10cSrcweir "Caption/WriterObject/Graphic/Settings/Position", //31 556cdf0e10cSrcweir "Caption/WriterObject/Graphic/Settings/CharacterStyle", //32 557cdf0e10cSrcweir "Caption/WriterObject/Graphic/Settings/ApplyAttributes", //33 558cdf0e10cSrcweir "Caption/OfficeObject/Calc/Enable", //34 559cdf0e10cSrcweir "Caption/OfficeObject/Calc/Settings/Category", //35 560cdf0e10cSrcweir "Caption/OfficeObject/Calc/Settings/Numbering", //36 561cdf0e10cSrcweir "Caption/OfficeObject/Calc/Settings/NumberingSeparator", //37 562cdf0e10cSrcweir "Caption/OfficeObject/Calc/Settings/CaptionText", //38 563cdf0e10cSrcweir "Caption/OfficeObject/Calc/Settings/Delimiter", //39 564cdf0e10cSrcweir "Caption/OfficeObject/Calc/Settings/Level", //40 565cdf0e10cSrcweir "Caption/OfficeObject/Calc/Settings/Position", //41 566cdf0e10cSrcweir "Caption/OfficeObject/Calc/Settings/CharacterStyle", //42 567cdf0e10cSrcweir "Caption/OfficeObject/Calc/Settings/ApplyAttributes", //43 568cdf0e10cSrcweir "Caption/OfficeObject/Impress/Enable", //44 569cdf0e10cSrcweir "Caption/OfficeObject/Impress/Settings/Category", //45 570cdf0e10cSrcweir "Caption/OfficeObject/Impress/Settings/Numbering", //46 571cdf0e10cSrcweir "Caption/OfficeObject/Impress/Settings/NumberingSeparator", //47 572cdf0e10cSrcweir "Caption/OfficeObject/Impress/Settings/CaptionText", //48 573cdf0e10cSrcweir "Caption/OfficeObject/Impress/Settings/Delimiter", //49 574cdf0e10cSrcweir "Caption/OfficeObject/Impress/Settings/Level", //50 575cdf0e10cSrcweir "Caption/OfficeObject/Impress/Settings/Position", //51 576cdf0e10cSrcweir "Caption/OfficeObject/Impress/Settings/CharacterStyle", //52 577cdf0e10cSrcweir "Caption/OfficeObject/Impress/Settings/ApplyAttributes", //53 578cdf0e10cSrcweir "Caption/OfficeObject/Chart/Enable", //54 579cdf0e10cSrcweir "Caption/OfficeObject/Chart/Settings/Category", //55 580cdf0e10cSrcweir "Caption/OfficeObject/Chart/Settings/Numbering", //56 581cdf0e10cSrcweir "Caption/OfficeObject/Chart/Settings/NumberingSeparator", //57 582cdf0e10cSrcweir "Caption/OfficeObject/Chart/Settings/CaptionText", //58 583cdf0e10cSrcweir "Caption/OfficeObject/Chart/Settings/Delimiter", //59 584cdf0e10cSrcweir "Caption/OfficeObject/Chart/Settings/Level", //60 585cdf0e10cSrcweir "Caption/OfficeObject/Chart/Settings/Position", //61 586cdf0e10cSrcweir "Caption/OfficeObject/Chart/Settings/CharacterStyle", //62 587cdf0e10cSrcweir "Caption/OfficeObject/Chart/Settings/ApplyAttributes", //63 588cdf0e10cSrcweir "Caption/OfficeObject/Formula/Enable", //64 589cdf0e10cSrcweir "Caption/OfficeObject/Formula/Settings/Category", //65 590cdf0e10cSrcweir "Caption/OfficeObject/Formula/Settings/Numbering", //66 591cdf0e10cSrcweir "Caption/OfficeObject/Formula/Settings/NumberingSeparator", //67 592cdf0e10cSrcweir "Caption/OfficeObject/Formula/Settings/CaptionText", //68 593cdf0e10cSrcweir "Caption/OfficeObject/Formula/Settings/Delimiter", //69 594cdf0e10cSrcweir "Caption/OfficeObject/Formula/Settings/Level", //70 595cdf0e10cSrcweir "Caption/OfficeObject/Formula/Settings/Position", //71 596cdf0e10cSrcweir "Caption/OfficeObject/Formula/Settings/CharacterStyle", //72 597cdf0e10cSrcweir "Caption/OfficeObject/Formula/Settings/ApplyAttributes", //73 598cdf0e10cSrcweir "Caption/OfficeObject/Draw/Enable", //74 599cdf0e10cSrcweir "Caption/OfficeObject/Draw/Settings/Category", //75 600cdf0e10cSrcweir "Caption/OfficeObject/Draw/Settings/Numbering", //76 601cdf0e10cSrcweir "Caption/OfficeObject/Draw/Settings/NumberingSeparator", //77 602cdf0e10cSrcweir "Caption/OfficeObject/Draw/Settings/CaptionText", //78 603cdf0e10cSrcweir "Caption/OfficeObject/Draw/Settings/Delimiter", //79 604cdf0e10cSrcweir "Caption/OfficeObject/Draw/Settings/Level", //80 605cdf0e10cSrcweir "Caption/OfficeObject/Draw/Settings/Position", //81 606cdf0e10cSrcweir "Caption/OfficeObject/Draw/Settings/CharacterStyle", //82 607cdf0e10cSrcweir "Caption/OfficeObject/Draw/Settings/ApplyAttributes", //83 608cdf0e10cSrcweir "Caption/OfficeObject/OLEMisc/Enable", //84 609cdf0e10cSrcweir "Caption/OfficeObject/OLEMisc/Settings/Category", //85 610cdf0e10cSrcweir "Caption/OfficeObject/OLEMisc/Settings/Numbering", //86 611cdf0e10cSrcweir "Caption/OfficeObject/OLEMisc/Settings/NumberingSeparator", //87 612cdf0e10cSrcweir "Caption/OfficeObject/OLEMisc/Settings/CaptionText", //88 613cdf0e10cSrcweir "Caption/OfficeObject/OLEMisc/Settings/Delimiter", //89 614cdf0e10cSrcweir "Caption/OfficeObject/OLEMisc/Settings/Level", //90 615cdf0e10cSrcweir "Caption/OfficeObject/OLEMisc/Settings/Position", //91 616cdf0e10cSrcweir "Caption/OfficeObject/OLEMisc/Settings/CharacterStyle", //92 617cdf0e10cSrcweir "Caption/OfficeObject/OLEMisc/Settings/ApplyAttributes" //93 618cdf0e10cSrcweir }; 619cdf0e10cSrcweir const int nCount = INS_PROP_CAP_OBJECT_OLEMISC_APPLYATTRIBUTES + 1; 620cdf0e10cSrcweir const int nWebCount = INS_PROP_TABLE_BORDER + 1; 621cdf0e10cSrcweir aNames.realloc(nCount); 622cdf0e10cSrcweir aWebNames.realloc(nWebCount); 623cdf0e10cSrcweir OUString* pNames = aNames.getArray(); 624cdf0e10cSrcweir OUString* pWebNames = aWebNames.getArray(); 625cdf0e10cSrcweir int i; 626cdf0e10cSrcweir for(i = 0; i < nCount; i++) 627cdf0e10cSrcweir pNames[i] = C2U(aPropNames[i]); 628cdf0e10cSrcweir for(i = 0; i < nWebCount; i++) 629cdf0e10cSrcweir pWebNames[i] = C2U(aPropNames[i]); 630cdf0e10cSrcweir } 631cdf0e10cSrcweir return bIsWeb ? aWebNames : aNames; 632cdf0e10cSrcweir } 633cdf0e10cSrcweir /*-- 10.10.00 16:22:22--------------------------------------------------- 634cdf0e10cSrcweir 635cdf0e10cSrcweir -----------------------------------------------------------------------*/ 636cdf0e10cSrcweir SwInsertConfig::SwInsertConfig(sal_Bool bWeb) : 637cdf0e10cSrcweir ConfigItem(bWeb ? C2U("Office.WriterWeb/Insert") : C2U("Office.Writer/Insert"), 638cdf0e10cSrcweir CONFIG_MODE_DELAYED_UPDATE|CONFIG_MODE_RELEASE_TREE), 639cdf0e10cSrcweir pCapOptions(0), 640cdf0e10cSrcweir pOLEMiscOpt(0), 641cdf0e10cSrcweir bInsWithCaption( sal_False ), 642cdf0e10cSrcweir bCaptionOrderNumberingFirst( sal_False ), 643cdf0e10cSrcweir aInsTblOpts(0,0), 644cdf0e10cSrcweir bIsWeb(bWeb) 645cdf0e10cSrcweir { 646cdf0e10cSrcweir aGlobalNames[GLOB_NAME_CALC ] = SvGlobalName(SO3_SC_CLASSID); 647cdf0e10cSrcweir aGlobalNames[GLOB_NAME_IMPRESS] = SvGlobalName(SO3_SIMPRESS_CLASSID); 648cdf0e10cSrcweir aGlobalNames[GLOB_NAME_DRAW ] = SvGlobalName(SO3_SDRAW_CLASSID); 649cdf0e10cSrcweir aGlobalNames[GLOB_NAME_MATH ] = SvGlobalName(SO3_SM_CLASSID); 650cdf0e10cSrcweir aGlobalNames[GLOB_NAME_CHART ] = SvGlobalName(SO3_SCH_CLASSID); 651cdf0e10cSrcweir if(!bIsWeb) 652cdf0e10cSrcweir pCapOptions = new InsCaptionOptArr; 653cdf0e10cSrcweir 654cdf0e10cSrcweir Load(); 655cdf0e10cSrcweir } 656cdf0e10cSrcweir /*-- 10.10.00 16:22:23--------------------------------------------------- 657cdf0e10cSrcweir 658cdf0e10cSrcweir -----------------------------------------------------------------------*/ 659cdf0e10cSrcweir SwInsertConfig::~SwInsertConfig() 660cdf0e10cSrcweir { 661cdf0e10cSrcweir delete pCapOptions; 662cdf0e10cSrcweir delete pOLEMiscOpt; 663cdf0e10cSrcweir } 664cdf0e10cSrcweir /*-- 10.10.00 16:22:56--------------------------------------------------- 665cdf0e10cSrcweir 666cdf0e10cSrcweir -----------------------------------------------------------------------*/ 667cdf0e10cSrcweir void lcl_WriteOpt(const InsCaptionOpt& rOpt, Any* pValues, sal_Int32 nProp, sal_Int32 nOffset) 668cdf0e10cSrcweir { 669cdf0e10cSrcweir switch(nOffset) 670cdf0e10cSrcweir { 671cdf0e10cSrcweir case 0: 672cdf0e10cSrcweir { 673cdf0e10cSrcweir sal_Bool bTemp = rOpt.UseCaption(); 674cdf0e10cSrcweir pValues[nProp].setValue(&bTemp, ::getBooleanCppuType()); 675cdf0e10cSrcweir } 676cdf0e10cSrcweir break;//Enable 677cdf0e10cSrcweir case 1: pValues[nProp] <<= OUString(rOpt.GetCategory()); break;//Category 678cdf0e10cSrcweir case 2: pValues[nProp] <<= (sal_Int32)rOpt.GetNumType(); break;//Numbering", 679cdf0e10cSrcweir case 3: pValues[nProp] <<= rOpt.GetNumSeparator(); break;//NumberingSeparator", 680cdf0e10cSrcweir case 4: pValues[nProp] <<= OUString(rOpt.GetCaption()); break;//CaptionText", 681cdf0e10cSrcweir case 5: pValues[nProp] <<= OUString(rOpt.GetSeparator());break;//Delimiter", 682cdf0e10cSrcweir case 6: pValues[nProp] <<= (sal_Int32)rOpt.GetLevel(); break;//Level", 683cdf0e10cSrcweir case 7: pValues[nProp] <<= (sal_Int32)rOpt.GetPos(); break;//Position", 684cdf0e10cSrcweir case 8: pValues[nProp] <<= (::rtl::OUString&)rOpt.GetCharacterStyle(); break; //CharacterStyle 685cdf0e10cSrcweir case 9: pValues[nProp] <<= rOpt.CopyAttributes(); break; //ApplyAttributes 686cdf0e10cSrcweir } 687cdf0e10cSrcweir } 688cdf0e10cSrcweir //----------------------------------------------------------------------------- 689cdf0e10cSrcweir void SwInsertConfig::Notify( const ::com::sun::star::uno::Sequence< rtl::OUString >& ) {} 690cdf0e10cSrcweir 691cdf0e10cSrcweir void SwInsertConfig::Commit() 692cdf0e10cSrcweir { 693cdf0e10cSrcweir const Sequence<OUString>& aNames = GetPropertyNames(); 694cdf0e10cSrcweir Sequence<Any> aValues(aNames.getLength()); 695cdf0e10cSrcweir Any* pValues = aValues.getArray(); 696cdf0e10cSrcweir 697cdf0e10cSrcweir const Type& rType = ::getBooleanCppuType(); 698cdf0e10cSrcweir for(int nProp = 0; nProp < aNames.getLength(); nProp++) 699cdf0e10cSrcweir { 700cdf0e10cSrcweir const InsCaptionOpt* pWriterTableOpt = 0; 701cdf0e10cSrcweir const InsCaptionOpt* pWriterFrameOpt = 0; 702cdf0e10cSrcweir const InsCaptionOpt* pWriterGraphicOpt = 0; 703cdf0e10cSrcweir const InsCaptionOpt* pOLECalcOpt = 0; 704cdf0e10cSrcweir const InsCaptionOpt* pOLEImpressOpt = 0; 705cdf0e10cSrcweir const InsCaptionOpt* pOLEChartOpt = 0; 706cdf0e10cSrcweir const InsCaptionOpt* pOLEFormulaOpt = 0; 707cdf0e10cSrcweir const InsCaptionOpt* pOLEDrawOpt = 0; 708cdf0e10cSrcweir if(pCapOptions) 709cdf0e10cSrcweir { 710cdf0e10cSrcweir pWriterTableOpt = pCapOptions->Find(TABLE_CAP, 0); 711cdf0e10cSrcweir pWriterFrameOpt = pCapOptions->Find(FRAME_CAP, 0); 712cdf0e10cSrcweir pWriterGraphicOpt = pCapOptions->Find(GRAPHIC_CAP, 0); 713cdf0e10cSrcweir pOLECalcOpt = pCapOptions->Find(OLE_CAP, &aGlobalNames[GLOB_NAME_CALC]); 714cdf0e10cSrcweir pOLEImpressOpt = pCapOptions->Find(OLE_CAP, &aGlobalNames[GLOB_NAME_IMPRESS]); 715cdf0e10cSrcweir pOLEDrawOpt = pCapOptions->Find(OLE_CAP, &aGlobalNames[GLOB_NAME_DRAW ]); 716cdf0e10cSrcweir pOLEFormulaOpt = pCapOptions->Find(OLE_CAP, &aGlobalNames[GLOB_NAME_MATH ]); 717cdf0e10cSrcweir pOLEChartOpt = pCapOptions->Find(OLE_CAP, &aGlobalNames[GLOB_NAME_CHART ]); 718cdf0e10cSrcweir } 719cdf0e10cSrcweir switch(nProp) 720cdf0e10cSrcweir { 721cdf0e10cSrcweir case INS_PROP_TABLE_HEADER: 722cdf0e10cSrcweir { 723cdf0e10cSrcweir sal_Bool bVal = 0 !=(aInsTblOpts.mnInsMode & tabopts::HEADLINE); pValues[nProp].setValue(&bVal, rType); 724cdf0e10cSrcweir } 725cdf0e10cSrcweir break;//"Table/Header", 726cdf0e10cSrcweir case INS_PROP_TABLE_REPEATHEADER: 727cdf0e10cSrcweir { 728cdf0e10cSrcweir sal_Bool bVal = (aInsTblOpts.mnRowsToRepeat>0); pValues[nProp].setValue(&bVal, rType); 729cdf0e10cSrcweir } 730cdf0e10cSrcweir break;//"Table/RepeatHeader", 731cdf0e10cSrcweir case INS_PROP_TABLE_BORDER: 732cdf0e10cSrcweir { 733cdf0e10cSrcweir sal_Bool bVal = 0 !=(aInsTblOpts.mnInsMode & tabopts::DEFAULT_BORDER ); pValues[nProp].setValue(&bVal, rType); 734cdf0e10cSrcweir } 735cdf0e10cSrcweir break;//"Table/Border", 736cdf0e10cSrcweir case INS_PROP_TABLE_SPLIT: 737cdf0e10cSrcweir { 738cdf0e10cSrcweir sal_Bool bVal = 0 !=(aInsTblOpts.mnInsMode & tabopts::SPLIT_LAYOUT); pValues[nProp].setValue(&bVal, rType); 739cdf0e10cSrcweir } 740cdf0e10cSrcweir break;//"Table/Split", 741cdf0e10cSrcweir case INS_PROP_CAP_AUTOMATIC: pValues[nProp].setValue(&bInsWithCaption, rType);break;//"Caption/Automatic", 742cdf0e10cSrcweir case INS_PROP_CAP_CAPTIONORDERNUMBERINGFIRST: 743cdf0e10cSrcweir pValues[nProp] <<= bCaptionOrderNumberingFirst; 744cdf0e10cSrcweir break;//"Caption/CaptionOrderNumberingFirst" 745cdf0e10cSrcweir 746cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_TABLE_ENABLE: 747cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_TABLE_CATEGORY: 748cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_TABLE_NUMBERING: 749cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_TABLE_NUMBERINGSEPARATOR: 750cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_TABLE_CAPTIONTEXT: 751cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_TABLE_DELIMITER: 752cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_TABLE_LEVEL: 753cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_TABLE_POSITION: 754cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_TABLE_CHARACTERSTYLE: 755cdf0e10cSrcweir if(pWriterTableOpt) 756cdf0e10cSrcweir lcl_WriteOpt(*pWriterTableOpt, pValues, nProp, nProp - INS_PROP_CAP_OBJECT_TABLE_ENABLE); 757cdf0e10cSrcweir break; 758cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_FRAME_ENABLE: 759cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_FRAME_CATEGORY: 760cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_FRAME_NUMBERING: 761cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_FRAME_NUMBERINGSEPARATOR: 762cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_FRAME_CAPTIONTEXT: 763cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_FRAME_DELIMITER: 764cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_FRAME_LEVEL: 765cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_FRAME_POSITION: 766cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_FRAME_CHARACTERSTYLE: 767cdf0e10cSrcweir if(pWriterFrameOpt) 768cdf0e10cSrcweir lcl_WriteOpt(*pWriterFrameOpt, pValues, nProp, nProp - INS_PROP_CAP_OBJECT_FRAME_ENABLE); 769cdf0e10cSrcweir break; 770cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_GRAPHIC_ENABLE: 771cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_GRAPHIC_CATEGORY: 772cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_GRAPHIC_NUMBERING: 773cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_GRAPHIC_NUMBERINGSEPARATOR: 774cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_GRAPHIC_CAPTIONTEXT: 775cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_GRAPHIC_DELIMITER: 776cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_GRAPHIC_LEVEL: 777cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_GRAPHIC_POSITION: 778cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_GRAPHIC_CHARACTERSTYLE: 779cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_GRAPHIC_APPLYATTRIBUTES: 780cdf0e10cSrcweir if(pWriterGraphicOpt) 781cdf0e10cSrcweir lcl_WriteOpt(*pWriterGraphicOpt, pValues, nProp, nProp - INS_PROP_CAP_OBJECT_GRAPHIC_ENABLE); 782cdf0e10cSrcweir break; 783cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_CALC_ENABLE: 784cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_CALC_CATEGORY: 785cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_CALC_NUMBERING: 786cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_CALC_NUMBERINGSEPARATOR: 787cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_CALC_CAPTIONTEXT: 788cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_CALC_DELIMITER: 789cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_CALC_LEVEL: 790cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_CALC_POSITION: 791cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_CALC_CHARACTERSTYLE: 792cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_CALC_APPLYATTRIBUTES: 793cdf0e10cSrcweir if(pOLECalcOpt) 794cdf0e10cSrcweir lcl_WriteOpt(*pOLECalcOpt, pValues, nProp, nProp - INS_PROP_CAP_OBJECT_CALC_ENABLE); 795cdf0e10cSrcweir break; 796cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_IMPRESS_ENABLE: 797cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_IMPRESS_CATEGORY: 798cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_IMPRESS_NUMBERING: 799cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_IMPRESS_NUMBERINGSEPARATOR: 800cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_IMPRESS_CAPTIONTEXT: 801cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_IMPRESS_DELIMITER: 802cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_IMPRESS_LEVEL: 803cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_IMPRESS_POSITION: 804cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_IMPRESS_CHARACTERSTYLE: 805cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_IMPRESS_APPLYATTRIBUTES: 806cdf0e10cSrcweir if(pOLEImpressOpt) 807cdf0e10cSrcweir lcl_WriteOpt(*pOLEImpressOpt, pValues, nProp, nProp - INS_PROP_CAP_OBJECT_IMPRESS_ENABLE); 808cdf0e10cSrcweir break; 809cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_CHART_ENABLE: 810cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_CHART_CATEGORY: 811cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_CHART_NUMBERING: 812cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_CHART_NUMBERINGSEPARATOR: 813cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_CHART_CAPTIONTEXT: 814cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_CHART_DELIMITER: 815cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_CHART_LEVEL: 816cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_CHART_POSITION: 817cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_CHART_CHARACTERSTYLE: 818cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_CHART_APPLYATTRIBUTES: 819cdf0e10cSrcweir if(pOLEChartOpt) 820cdf0e10cSrcweir lcl_WriteOpt(*pOLEChartOpt, pValues, nProp, nProp - INS_PROP_CAP_OBJECT_CHART_ENABLE); 821cdf0e10cSrcweir break; 822cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_FORMULA_ENABLE: 823cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_FORMULA_CATEGORY: 824cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_FORMULA_NUMBERING: 825cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_FORMULA_NUMBERINGSEPARATOR: 826cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_FORMULA_CAPTIONTEXT: 827cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_FORMULA_DELIMITER: 828cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_FORMULA_LEVEL: 829cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_FORMULA_POSITION: 830cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_FORMULA_CHARACTERSTYLE: 831cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_FORMULA_APPLYATTRIBUTES: 832cdf0e10cSrcweir if(pOLEFormulaOpt) 833cdf0e10cSrcweir lcl_WriteOpt(*pOLEFormulaOpt, pValues, nProp, nProp - INS_PROP_CAP_OBJECT_FORMULA_ENABLE); 834cdf0e10cSrcweir break; 835cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_DRAW_ENABLE: 836cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_DRAW_CATEGORY: 837cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_DRAW_NUMBERING: 838cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_DRAW_NUMBERINGSEPARATOR: 839cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_DRAW_CAPTIONTEXT: 840cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_DRAW_DELIMITER: 841cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_DRAW_LEVEL: 842cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_DRAW_POSITION: 843cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_DRAW_CHARACTERSTYLE: 844cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_DRAW_APPLYATTRIBUTES: 845cdf0e10cSrcweir if(pOLEDrawOpt) 846cdf0e10cSrcweir lcl_WriteOpt(*pOLEDrawOpt, pValues, nProp, nProp - INS_PROP_CAP_OBJECT_DRAW_ENABLE); 847cdf0e10cSrcweir break; 848cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_OLEMISC_ENABLE: 849cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_OLEMISC_CATEGORY: 850cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_OLEMISC_NUMBERING: 851cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_OLEMISC_NUMBERINGSEPARATOR: 852cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_OLEMISC_CAPTIONTEXT: 853cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_OLEMISC_DELIMITER: 854cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_OLEMISC_LEVEL: 855cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_OLEMISC_POSITION: 856cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_OLEMISC_CHARACTERSTYLE: 857cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_OLEMISC_APPLYATTRIBUTES: 858cdf0e10cSrcweir if(pOLEMiscOpt) 859cdf0e10cSrcweir lcl_WriteOpt(*pOLEMiscOpt, pValues, nProp, nProp - INS_PROP_CAP_OBJECT_OLEMISC_ENABLE); 860cdf0e10cSrcweir break; 861cdf0e10cSrcweir 862cdf0e10cSrcweir } 863cdf0e10cSrcweir } 864cdf0e10cSrcweir PutProperties(aNames, aValues); 865cdf0e10cSrcweir } 866cdf0e10cSrcweir /*-- 10.10.00 16:22:56--------------------------------------------------- 867cdf0e10cSrcweir 868cdf0e10cSrcweir -----------------------------------------------------------------------*/ 869cdf0e10cSrcweir void lcl_ReadOpt(InsCaptionOpt& rOpt, const Any* pValues, sal_Int32 nProp, sal_Int32 nOffset) 870cdf0e10cSrcweir { 871cdf0e10cSrcweir switch(nOffset) 872cdf0e10cSrcweir { 873cdf0e10cSrcweir case 0: 874cdf0e10cSrcweir rOpt.UseCaption() = *(sal_Bool*)pValues[nProp].getValue(); 875cdf0e10cSrcweir break;//Enable 876cdf0e10cSrcweir case 1: 877cdf0e10cSrcweir { 878cdf0e10cSrcweir OUString sTemp; pValues[nProp] >>= sTemp; 879cdf0e10cSrcweir rOpt.SetCategory(sTemp); 880cdf0e10cSrcweir } 881cdf0e10cSrcweir break;//Category 882cdf0e10cSrcweir case 2: 883cdf0e10cSrcweir { 884cdf0e10cSrcweir sal_Int32 nTemp = 0; 885cdf0e10cSrcweir pValues[nProp] >>= nTemp; 886cdf0e10cSrcweir rOpt.SetNumType(sal::static_int_cast< sal_uInt16, sal_Int32>(nTemp)); 887cdf0e10cSrcweir } 888cdf0e10cSrcweir break;//Numbering", 889cdf0e10cSrcweir case 3: 890cdf0e10cSrcweir { 891cdf0e10cSrcweir OUString sTemp; pValues[nProp] >>= sTemp; 892cdf0e10cSrcweir rOpt.SetNumSeparator(sTemp); 893cdf0e10cSrcweir } 894cdf0e10cSrcweir break;//NumberingSeparator", 895cdf0e10cSrcweir case 4: 896cdf0e10cSrcweir { 897cdf0e10cSrcweir OUString sTemp; pValues[nProp] >>= sTemp; 898cdf0e10cSrcweir rOpt.SetCaption(sTemp); 899cdf0e10cSrcweir } 900cdf0e10cSrcweir break;//CaptionText", 901cdf0e10cSrcweir case 5: 902cdf0e10cSrcweir { 903cdf0e10cSrcweir OUString sTemp; 904cdf0e10cSrcweir if(pValues[nProp] >>= sTemp) 905cdf0e10cSrcweir rOpt.SetSeparator(sTemp); 906cdf0e10cSrcweir } 907cdf0e10cSrcweir break;//Delimiter", 908cdf0e10cSrcweir case 6: 909cdf0e10cSrcweir { 910cdf0e10cSrcweir sal_Int32 nTemp = 0; 911cdf0e10cSrcweir pValues[nProp] >>= nTemp; 912cdf0e10cSrcweir rOpt.SetLevel(sal::static_int_cast< sal_uInt16, sal_Int32>(nTemp)); 913cdf0e10cSrcweir } 914cdf0e10cSrcweir break;//Level", 915cdf0e10cSrcweir case 7: 916cdf0e10cSrcweir { 917cdf0e10cSrcweir sal_Int32 nTemp = 0; 918cdf0e10cSrcweir pValues[nProp] >>= nTemp; 919cdf0e10cSrcweir rOpt.SetPos(sal::static_int_cast< sal_uInt16, sal_Int32>(nTemp)); 920cdf0e10cSrcweir } 921cdf0e10cSrcweir break;//Position", 922cdf0e10cSrcweir case 8 : //CharacterStyle 923cdf0e10cSrcweir { 924cdf0e10cSrcweir ::rtl::OUString sTemp; pValues[nProp] >>= sTemp; 925cdf0e10cSrcweir rOpt.SetCharacterStyle( sTemp ); 926cdf0e10cSrcweir } 927cdf0e10cSrcweir break; 928cdf0e10cSrcweir case 9 : //ApplyAttributes 929cdf0e10cSrcweir { 930cdf0e10cSrcweir pValues[nProp] >>= rOpt.CopyAttributes(); 931cdf0e10cSrcweir } 932cdf0e10cSrcweir break; 933cdf0e10cSrcweir } 934cdf0e10cSrcweir } 935cdf0e10cSrcweir //----------------------------------------------------------------------------- 936cdf0e10cSrcweir void SwInsertConfig::Load() 937cdf0e10cSrcweir { 938cdf0e10cSrcweir const Sequence<OUString>& aNames = GetPropertyNames(); 939cdf0e10cSrcweir Sequence<Any> aValues = GetProperties(aNames); 940cdf0e10cSrcweir const Any* pValues = aValues.getConstArray(); 941cdf0e10cSrcweir DBG_ASSERT(aValues.getLength() == aNames.getLength(), "GetProperties failed"); 942cdf0e10cSrcweir if(aValues.getLength() == aNames.getLength()) 943cdf0e10cSrcweir { 944cdf0e10cSrcweir InsCaptionOpt* pWriterTableOpt = 0; 945cdf0e10cSrcweir InsCaptionOpt* pWriterFrameOpt = 0; 946cdf0e10cSrcweir InsCaptionOpt* pWriterGraphicOpt = 0; 947cdf0e10cSrcweir InsCaptionOpt* pOLECalcOpt = 0; 948cdf0e10cSrcweir InsCaptionOpt* pOLEImpressOpt = 0; 949cdf0e10cSrcweir InsCaptionOpt* pOLEChartOpt = 0; 950cdf0e10cSrcweir InsCaptionOpt* pOLEFormulaOpt = 0; 951cdf0e10cSrcweir InsCaptionOpt* pOLEDrawOpt = 0; 952cdf0e10cSrcweir if(pCapOptions) 953cdf0e10cSrcweir { 954cdf0e10cSrcweir pWriterTableOpt = pCapOptions->Find(TABLE_CAP, 0); 955cdf0e10cSrcweir pWriterFrameOpt = pCapOptions->Find(FRAME_CAP, 0); 956cdf0e10cSrcweir pWriterGraphicOpt = pCapOptions->Find(GRAPHIC_CAP, 0); 957cdf0e10cSrcweir pOLECalcOpt = pCapOptions->Find(OLE_CAP, &aGlobalNames[GLOB_NAME_CALC]); 958cdf0e10cSrcweir pOLEImpressOpt = pCapOptions->Find(OLE_CAP, &aGlobalNames[GLOB_NAME_IMPRESS]); 959cdf0e10cSrcweir pOLEDrawOpt = pCapOptions->Find(OLE_CAP, &aGlobalNames[GLOB_NAME_DRAW ]); 960cdf0e10cSrcweir pOLEFormulaOpt = pCapOptions->Find(OLE_CAP, &aGlobalNames[GLOB_NAME_MATH ]); 961cdf0e10cSrcweir pOLEChartOpt = pCapOptions->Find(OLE_CAP, &aGlobalNames[GLOB_NAME_CHART ]); 962cdf0e10cSrcweir } 963cdf0e10cSrcweir else if(!bIsWeb) 964cdf0e10cSrcweir return; 965cdf0e10cSrcweir 966cdf0e10cSrcweir sal_uInt16 nInsTblFlags = 0; 967cdf0e10cSrcweir for(int nProp = 0; nProp < aNames.getLength(); nProp++) 968cdf0e10cSrcweir { 969cdf0e10cSrcweir if(pValues[nProp].hasValue()) 970cdf0e10cSrcweir { 971cdf0e10cSrcweir sal_Bool bBool = nProp < INS_PROP_CAP_OBJECT_TABLE_ENABLE ? *(sal_Bool*)pValues[nProp].getValue() : sal_False; 972cdf0e10cSrcweir switch(nProp) 973cdf0e10cSrcweir { 974cdf0e10cSrcweir case INS_PROP_TABLE_HEADER: 975cdf0e10cSrcweir { 976cdf0e10cSrcweir if(bBool) 977cdf0e10cSrcweir nInsTblFlags|= tabopts::HEADLINE; 978cdf0e10cSrcweir } 979cdf0e10cSrcweir break;//"Table/Header", 980cdf0e10cSrcweir case INS_PROP_TABLE_REPEATHEADER: 981cdf0e10cSrcweir { 982cdf0e10cSrcweir aInsTblOpts.mnRowsToRepeat = bBool? 1 : 0; 983cdf0e10cSrcweir 984cdf0e10cSrcweir } 985cdf0e10cSrcweir break;//"Table/RepeatHeader", 986cdf0e10cSrcweir case INS_PROP_TABLE_BORDER: 987cdf0e10cSrcweir { 988cdf0e10cSrcweir if(bBool) 989cdf0e10cSrcweir nInsTblFlags|= tabopts::DEFAULT_BORDER; 990cdf0e10cSrcweir } 991cdf0e10cSrcweir break;//"Table/Border", 992cdf0e10cSrcweir case INS_PROP_TABLE_SPLIT: 993cdf0e10cSrcweir { 994cdf0e10cSrcweir if(bBool) 995cdf0e10cSrcweir nInsTblFlags|= tabopts::SPLIT_LAYOUT; 996cdf0e10cSrcweir } 997cdf0e10cSrcweir break;//"Table/Split", 998cdf0e10cSrcweir case INS_PROP_CAP_AUTOMATIC: 999cdf0e10cSrcweir bInsWithCaption = bBool; 1000cdf0e10cSrcweir break; 1001cdf0e10cSrcweir case INS_PROP_CAP_CAPTIONORDERNUMBERINGFIRST: bCaptionOrderNumberingFirst = bBool; break; 1002cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_TABLE_ENABLE: 1003cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_TABLE_CATEGORY: 1004cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_TABLE_NUMBERING: 1005cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_TABLE_NUMBERINGSEPARATOR: 1006cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_TABLE_CAPTIONTEXT: 1007cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_TABLE_DELIMITER: 1008cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_TABLE_LEVEL: 1009cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_TABLE_POSITION: 1010cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_TABLE_CHARACTERSTYLE: 1011cdf0e10cSrcweir if(!pWriterTableOpt) 1012cdf0e10cSrcweir { 1013cdf0e10cSrcweir pWriterTableOpt = new InsCaptionOpt(TABLE_CAP); 1014cdf0e10cSrcweir pCapOptions->Insert(pWriterTableOpt); 1015cdf0e10cSrcweir } 1016cdf0e10cSrcweir lcl_ReadOpt(*pWriterTableOpt, pValues, nProp, nProp - INS_PROP_CAP_OBJECT_TABLE_ENABLE); 1017cdf0e10cSrcweir break; 1018cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_FRAME_ENABLE: 1019cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_FRAME_CATEGORY: 1020cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_FRAME_NUMBERING: 1021cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_FRAME_NUMBERINGSEPARATOR: 1022cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_FRAME_CAPTIONTEXT: 1023cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_FRAME_DELIMITER: 1024cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_FRAME_LEVEL: 1025cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_FRAME_POSITION: 1026cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_FRAME_CHARACTERSTYLE: 1027cdf0e10cSrcweir if(!pWriterFrameOpt) 1028cdf0e10cSrcweir { 1029cdf0e10cSrcweir pWriterFrameOpt = new InsCaptionOpt(FRAME_CAP); 1030cdf0e10cSrcweir pCapOptions->Insert(pWriterFrameOpt); 1031cdf0e10cSrcweir } 1032cdf0e10cSrcweir lcl_ReadOpt(*pWriterFrameOpt, pValues, nProp, nProp - INS_PROP_CAP_OBJECT_FRAME_ENABLE); 1033cdf0e10cSrcweir break; 1034cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_GRAPHIC_ENABLE: 1035cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_GRAPHIC_CATEGORY: 1036cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_GRAPHIC_NUMBERING: 1037cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_GRAPHIC_NUMBERINGSEPARATOR: 1038cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_GRAPHIC_CAPTIONTEXT: 1039cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_GRAPHIC_DELIMITER: 1040cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_GRAPHIC_LEVEL: 1041cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_GRAPHIC_POSITION: 1042cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_GRAPHIC_CHARACTERSTYLE: 1043cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_GRAPHIC_APPLYATTRIBUTES: 1044cdf0e10cSrcweir if(!pWriterGraphicOpt) 1045cdf0e10cSrcweir { 1046cdf0e10cSrcweir pWriterGraphicOpt = new InsCaptionOpt(GRAPHIC_CAP); 1047cdf0e10cSrcweir pCapOptions->Insert(pWriterGraphicOpt); 1048cdf0e10cSrcweir } 1049cdf0e10cSrcweir lcl_ReadOpt(*pWriterGraphicOpt, pValues, nProp, nProp - INS_PROP_CAP_OBJECT_GRAPHIC_ENABLE); 1050cdf0e10cSrcweir break; 1051cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_CALC_ENABLE: 1052cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_CALC_CATEGORY: 1053cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_CALC_NUMBERING: 1054cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_CALC_NUMBERINGSEPARATOR: 1055cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_CALC_CAPTIONTEXT: 1056cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_CALC_DELIMITER: 1057cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_CALC_LEVEL: 1058cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_CALC_POSITION: 1059cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_CALC_CHARACTERSTYLE: 1060cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_CALC_APPLYATTRIBUTES: 1061cdf0e10cSrcweir if(!pOLECalcOpt) 1062cdf0e10cSrcweir { 1063cdf0e10cSrcweir pOLECalcOpt = new InsCaptionOpt(OLE_CAP, &aGlobalNames[GLOB_NAME_CALC]); 1064cdf0e10cSrcweir pCapOptions->Insert(pOLECalcOpt); 1065cdf0e10cSrcweir } 1066cdf0e10cSrcweir lcl_ReadOpt(*pOLECalcOpt, pValues, nProp, nProp - INS_PROP_CAP_OBJECT_CALC_ENABLE); 1067cdf0e10cSrcweir break; 1068cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_IMPRESS_ENABLE: 1069cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_IMPRESS_CATEGORY: 1070cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_IMPRESS_NUMBERING: 1071cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_IMPRESS_NUMBERINGSEPARATOR: 1072cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_IMPRESS_CAPTIONTEXT: 1073cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_IMPRESS_DELIMITER: 1074cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_IMPRESS_LEVEL: 1075cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_IMPRESS_POSITION: 1076cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_IMPRESS_CHARACTERSTYLE: 1077cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_IMPRESS_APPLYATTRIBUTES: 1078cdf0e10cSrcweir if(!pOLEImpressOpt) 1079cdf0e10cSrcweir { 1080cdf0e10cSrcweir pOLEImpressOpt = new InsCaptionOpt(OLE_CAP, &aGlobalNames[GLOB_NAME_IMPRESS]); 1081cdf0e10cSrcweir pCapOptions->Insert(pOLEImpressOpt); 1082cdf0e10cSrcweir } 1083cdf0e10cSrcweir lcl_ReadOpt(*pOLEImpressOpt, pValues, nProp, nProp - INS_PROP_CAP_OBJECT_IMPRESS_ENABLE); 1084cdf0e10cSrcweir break; 1085cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_CHART_ENABLE: 1086cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_CHART_CATEGORY: 1087cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_CHART_NUMBERING: 1088cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_CHART_NUMBERINGSEPARATOR: 1089cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_CHART_CAPTIONTEXT: 1090cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_CHART_DELIMITER: 1091cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_CHART_LEVEL: 1092cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_CHART_POSITION: 1093cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_CHART_CHARACTERSTYLE: 1094cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_CHART_APPLYATTRIBUTES: 1095cdf0e10cSrcweir if(!pOLEChartOpt) 1096cdf0e10cSrcweir { 1097cdf0e10cSrcweir pOLEChartOpt = new InsCaptionOpt(OLE_CAP, &aGlobalNames[GLOB_NAME_CHART]); 1098cdf0e10cSrcweir pCapOptions->Insert(pOLEChartOpt); 1099cdf0e10cSrcweir } 1100cdf0e10cSrcweir lcl_ReadOpt(*pOLEChartOpt, pValues, nProp, nProp - INS_PROP_CAP_OBJECT_CHART_ENABLE); 1101cdf0e10cSrcweir break; 1102cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_FORMULA_ENABLE: 1103cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_FORMULA_CATEGORY: 1104cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_FORMULA_NUMBERING: 1105cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_FORMULA_NUMBERINGSEPARATOR: 1106cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_FORMULA_CAPTIONTEXT: 1107cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_FORMULA_DELIMITER: 1108cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_FORMULA_LEVEL: 1109cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_FORMULA_POSITION: 1110cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_FORMULA_CHARACTERSTYLE: 1111cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_FORMULA_APPLYATTRIBUTES: 1112cdf0e10cSrcweir if(!pOLEFormulaOpt) 1113cdf0e10cSrcweir { 1114cdf0e10cSrcweir pOLEFormulaOpt = new InsCaptionOpt(OLE_CAP, &aGlobalNames[GLOB_NAME_MATH]); 1115cdf0e10cSrcweir pCapOptions->Insert(pOLEFormulaOpt); 1116cdf0e10cSrcweir } 1117cdf0e10cSrcweir lcl_ReadOpt(*pOLEFormulaOpt, pValues, nProp, nProp - INS_PROP_CAP_OBJECT_FORMULA_ENABLE); 1118cdf0e10cSrcweir break; 1119cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_DRAW_ENABLE: 1120cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_DRAW_CATEGORY: 1121cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_DRAW_NUMBERING: 1122cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_DRAW_NUMBERINGSEPARATOR: 1123cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_DRAW_CAPTIONTEXT: 1124cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_DRAW_DELIMITER: 1125cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_DRAW_LEVEL: 1126cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_DRAW_POSITION: 1127cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_DRAW_CHARACTERSTYLE: 1128cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_DRAW_APPLYATTRIBUTES: 1129cdf0e10cSrcweir if(!pOLEDrawOpt) 1130cdf0e10cSrcweir { 1131cdf0e10cSrcweir pOLEDrawOpt = new InsCaptionOpt(OLE_CAP, &aGlobalNames[GLOB_NAME_DRAW]); 1132cdf0e10cSrcweir pCapOptions->Insert(pOLEDrawOpt); 1133cdf0e10cSrcweir } 1134cdf0e10cSrcweir lcl_ReadOpt(*pOLEDrawOpt, pValues, nProp, nProp - INS_PROP_CAP_OBJECT_DRAW_ENABLE); 1135cdf0e10cSrcweir break; 1136cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_OLEMISC_ENABLE: 1137cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_OLEMISC_CATEGORY: 1138cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_OLEMISC_NUMBERING: 1139cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_OLEMISC_NUMBERINGSEPARATOR: 1140cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_OLEMISC_CAPTIONTEXT: 1141cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_OLEMISC_DELIMITER: 1142cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_OLEMISC_LEVEL: 1143cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_OLEMISC_POSITION: 1144cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_OLEMISC_CHARACTERSTYLE: 1145cdf0e10cSrcweir case INS_PROP_CAP_OBJECT_OLEMISC_APPLYATTRIBUTES: 1146cdf0e10cSrcweir if(!pOLEMiscOpt) 1147cdf0e10cSrcweir { 1148cdf0e10cSrcweir pOLEMiscOpt = new InsCaptionOpt(OLE_CAP); 1149cdf0e10cSrcweir } 1150cdf0e10cSrcweir lcl_ReadOpt(*pOLEMiscOpt, pValues, nProp, nProp - INS_PROP_CAP_OBJECT_OLEMISC_ENABLE); 1151cdf0e10cSrcweir break; 1152cdf0e10cSrcweir } 1153cdf0e10cSrcweir } 1154cdf0e10cSrcweir else if(nProp == INS_PROP_CAP_CAPTIONORDERNUMBERINGFIRST) 1155cdf0e10cSrcweir { 1156cdf0e10cSrcweir //#i61007# initialize caption order, right now only HUNGARIAN seems to need a different order 1157cdf0e10cSrcweir SvtSysLocaleOptions aSysLocaleOptions; 1158cdf0e10cSrcweir OUString sLang = aSysLocaleOptions.GetLocaleConfigString(); 1159cdf0e10cSrcweir bCaptionOrderNumberingFirst = ( sLang.getLength() && sLang.matchAsciiL( "hu", 2 )) ? sal_True : sal_False; 1160cdf0e10cSrcweir } 1161cdf0e10cSrcweir 1162cdf0e10cSrcweir } 1163cdf0e10cSrcweir aInsTblOpts.mnInsMode = nInsTblFlags; 1164cdf0e10cSrcweir } 1165cdf0e10cSrcweir } 1166cdf0e10cSrcweir /* -----------------------------10.10.00 16:22-------------------------------- 1167cdf0e10cSrcweir 1168cdf0e10cSrcweir ---------------------------------------------------------------------------*/ 1169cdf0e10cSrcweir const Sequence<OUString>& SwTableConfig::GetPropertyNames() 1170cdf0e10cSrcweir { 1171cdf0e10cSrcweir const int nCount = 8; 1172cdf0e10cSrcweir static Sequence<OUString> aNames(nCount); 1173cdf0e10cSrcweir static const char* aPropNames[] = 1174cdf0e10cSrcweir { 1175cdf0e10cSrcweir "Shift/Row", // 0 1176cdf0e10cSrcweir "Shift/Column", // 1 1177cdf0e10cSrcweir "Insert/Row", // 2 1178cdf0e10cSrcweir "Insert/Column", // 3 1179cdf0e10cSrcweir "Change/Effect", // 4 1180cdf0e10cSrcweir "Input/NumberRecognition", // 5 1181cdf0e10cSrcweir "Input/NumberFormatRecognition",// 6 1182cdf0e10cSrcweir "Input/Alignment" // 7 1183cdf0e10cSrcweir }; 1184cdf0e10cSrcweir OUString* pNames = aNames.getArray(); 1185cdf0e10cSrcweir for(int i = 0; i < nCount; i++) 1186cdf0e10cSrcweir pNames[i] = OUString::createFromAscii(aPropNames[i]); 1187cdf0e10cSrcweir return aNames; 1188cdf0e10cSrcweir } 1189cdf0e10cSrcweir /*-- 10.10.00 16:22:22--------------------------------------------------- 1190cdf0e10cSrcweir 1191cdf0e10cSrcweir -----------------------------------------------------------------------*/ 1192cdf0e10cSrcweir SwTableConfig::SwTableConfig(sal_Bool bWeb) : 1193cdf0e10cSrcweir ConfigItem(bWeb ? C2U("Office.WriterWeb/Table") : C2U("Office.Writer/Table"), 1194cdf0e10cSrcweir CONFIG_MODE_DELAYED_UPDATE|CONFIG_MODE_RELEASE_TREE) 1195cdf0e10cSrcweir { 1196cdf0e10cSrcweir Load(); 1197cdf0e10cSrcweir } 1198cdf0e10cSrcweir /*-- 10.10.00 16:22:23--------------------------------------------------- 1199cdf0e10cSrcweir 1200cdf0e10cSrcweir -----------------------------------------------------------------------*/ 1201cdf0e10cSrcweir SwTableConfig::~SwTableConfig() 1202cdf0e10cSrcweir { 1203cdf0e10cSrcweir } 1204cdf0e10cSrcweir /*-- 10.10.00 16:22:56--------------------------------------------------- 1205cdf0e10cSrcweir 1206cdf0e10cSrcweir -----------------------------------------------------------------------*/ 1207cdf0e10cSrcweir void SwTableConfig::Notify( const ::com::sun::star::uno::Sequence< rtl::OUString >& ) {} 1208cdf0e10cSrcweir 1209cdf0e10cSrcweir void SwTableConfig::Commit() 1210cdf0e10cSrcweir { 1211cdf0e10cSrcweir const Sequence<OUString>& aNames = GetPropertyNames(); 1212cdf0e10cSrcweir Sequence<Any> aValues(aNames.getLength()); 1213cdf0e10cSrcweir Any* pValues = aValues.getArray(); 1214cdf0e10cSrcweir 1215cdf0e10cSrcweir const Type& rType = ::getBooleanCppuType(); 1216cdf0e10cSrcweir for(int nProp = 0; nProp < aNames.getLength(); nProp++) 1217cdf0e10cSrcweir { 1218cdf0e10cSrcweir switch(nProp) 1219cdf0e10cSrcweir { 1220cdf0e10cSrcweir case 0 : pValues[nProp] <<= (sal_Int32)TWIP_TO_MM100_UNSIGNED(nTblHMove); break; //"Shift/Row", 1221cdf0e10cSrcweir case 1 : pValues[nProp] <<= (sal_Int32)TWIP_TO_MM100_UNSIGNED(nTblVMove); break; //"Shift/Column", 1222cdf0e10cSrcweir case 2 : pValues[nProp] <<= (sal_Int32)TWIP_TO_MM100_UNSIGNED(nTblHInsert); break; //"Insert/Row", 1223cdf0e10cSrcweir case 3 : pValues[nProp] <<= (sal_Int32)TWIP_TO_MM100_UNSIGNED(nTblVInsert); break; //"Insert/Column", 1224cdf0e10cSrcweir case 4 : pValues[nProp] <<= (sal_Int32)eTblChgMode; break; //"Change/Effect", 1225cdf0e10cSrcweir case 5 : pValues[nProp].setValue(&bInsTblFormatNum, rType); break; //"Input/NumberRecognition", 1226cdf0e10cSrcweir case 6 : pValues[nProp].setValue(&bInsTblChangeNumFormat, rType); break; //"Input/NumberFormatRecognition", 1227cdf0e10cSrcweir case 7 : pValues[nProp].setValue(&bInsTblAlignNum, rType); break; //"Input/Alignment" 1228cdf0e10cSrcweir } 1229cdf0e10cSrcweir } 1230cdf0e10cSrcweir PutProperties(aNames, aValues); 1231cdf0e10cSrcweir } 1232cdf0e10cSrcweir /*-- 10.10.00 16:22:56--------------------------------------------------- 1233cdf0e10cSrcweir 1234cdf0e10cSrcweir -----------------------------------------------------------------------*/ 1235cdf0e10cSrcweir void SwTableConfig::Load() 1236cdf0e10cSrcweir { 1237cdf0e10cSrcweir const Sequence<OUString>& aNames = GetPropertyNames(); 1238cdf0e10cSrcweir Sequence<Any> aValues = GetProperties(aNames); 1239cdf0e10cSrcweir const Any* pValues = aValues.getConstArray(); 1240cdf0e10cSrcweir DBG_ASSERT(aValues.getLength() == aNames.getLength(), "GetProperties failed"); 1241cdf0e10cSrcweir if(aValues.getLength() == aNames.getLength()) 1242cdf0e10cSrcweir { 1243cdf0e10cSrcweir for(int nProp = 0; nProp < aNames.getLength(); nProp++) 1244cdf0e10cSrcweir { 1245cdf0e10cSrcweir if(pValues[nProp].hasValue()) 1246cdf0e10cSrcweir { 1247cdf0e10cSrcweir sal_Int32 nTemp = 0; 1248cdf0e10cSrcweir switch(nProp) 1249cdf0e10cSrcweir { 1250cdf0e10cSrcweir case 0 : pValues[nProp] >>= nTemp; nTblHMove = (sal_uInt16)MM100_TO_TWIP(nTemp); break; //"Shift/Row", 1251cdf0e10cSrcweir case 1 : pValues[nProp] >>= nTemp; nTblVMove = (sal_uInt16)MM100_TO_TWIP(nTemp); break; //"Shift/Column", 1252cdf0e10cSrcweir case 2 : pValues[nProp] >>= nTemp; nTblHInsert = (sal_uInt16)MM100_TO_TWIP(nTemp); break; //"Insert/Row", 1253cdf0e10cSrcweir case 3 : pValues[nProp] >>= nTemp; nTblVInsert = (sal_uInt16)MM100_TO_TWIP(nTemp); break; //"Insert/Column", 1254cdf0e10cSrcweir case 4 : pValues[nProp] >>= nTemp; eTblChgMode = (TblChgMode)nTemp; break; //"Change/Effect", 1255cdf0e10cSrcweir case 5 : bInsTblFormatNum = *(sal_Bool*)pValues[nProp].getValue(); break; //"Input/NumberRecognition", 1256cdf0e10cSrcweir case 6 : bInsTblChangeNumFormat = *(sal_Bool*)pValues[nProp].getValue(); break; //"Input/NumberFormatRecognition", 1257cdf0e10cSrcweir case 7 : bInsTblAlignNum = *(sal_Bool*)pValues[nProp].getValue(); break; //"Input/Alignment" 1258cdf0e10cSrcweir } 1259cdf0e10cSrcweir } 1260cdf0e10cSrcweir } 1261cdf0e10cSrcweir } 1262cdf0e10cSrcweir } 1263cdf0e10cSrcweir /*-- 18.01.01 17:02:47--------------------------------------------------- 1264cdf0e10cSrcweir 1265cdf0e10cSrcweir -----------------------------------------------------------------------*/ 1266cdf0e10cSrcweir SwMiscConfig::SwMiscConfig() : 1267cdf0e10cSrcweir ConfigItem(C2U("Office.Writer"), 1268cdf0e10cSrcweir CONFIG_MODE_DELAYED_UPDATE|CONFIG_MODE_RELEASE_TREE), 1269cdf0e10cSrcweir bDefaultFontsInCurrDocOnly(sal_False), 1270cdf0e10cSrcweir bShowIndexPreview(sal_False), 1271cdf0e10cSrcweir bGrfToGalleryAsLnk(sal_True), 1272cdf0e10cSrcweir bNumAlignSize(sal_True), 1273cdf0e10cSrcweir bSinglePrintJob(sal_False), 1274cdf0e10cSrcweir bIsNameFromColumn(sal_True), 1275cdf0e10cSrcweir bAskForMailMergeInPrint(sal_True), 1276cdf0e10cSrcweir nMailingFormats(0) 1277cdf0e10cSrcweir { 1278cdf0e10cSrcweir Load(); 1279cdf0e10cSrcweir } 1280cdf0e10cSrcweir /*-- 18.01.01 17:02:47--------------------------------------------------- 1281cdf0e10cSrcweir 1282cdf0e10cSrcweir -----------------------------------------------------------------------*/ 1283cdf0e10cSrcweir SwMiscConfig::~SwMiscConfig() 1284cdf0e10cSrcweir { 1285cdf0e10cSrcweir } 1286cdf0e10cSrcweir /*-- 18.01.01 17:02:47--------------------------------------------------- 1287cdf0e10cSrcweir 1288cdf0e10cSrcweir -----------------------------------------------------------------------*/ 1289cdf0e10cSrcweir const Sequence<OUString>& SwMiscConfig::GetPropertyNames() 1290cdf0e10cSrcweir { 1291cdf0e10cSrcweir static Sequence<OUString> aNames; 1292cdf0e10cSrcweir if(!aNames.getLength()) 1293cdf0e10cSrcweir { 1294cdf0e10cSrcweir const int nCount = 12; 1295cdf0e10cSrcweir aNames.realloc(nCount); 1296cdf0e10cSrcweir static const char* aPropNames[] = 1297cdf0e10cSrcweir { 1298cdf0e10cSrcweir "Statistics/WordNumber/Delimiter", // 0 1299cdf0e10cSrcweir "DefaultFont/Document", // 1 1300cdf0e10cSrcweir "Index/ShowPreview", // 2 1301cdf0e10cSrcweir "Misc/GraphicToGalleryAsLink", // 3 1302cdf0e10cSrcweir "Numbering/Graphic/KeepRatio", // 4 1303cdf0e10cSrcweir "FormLetter/PrintOutput/SinglePrintJobs", // 5 1304cdf0e10cSrcweir "FormLetter/MailingOutput/Format", // 6 1305cdf0e10cSrcweir "FormLetter/FileOutput/FileName/FromDatabaseField", // 7 1306cdf0e10cSrcweir "FormLetter/FileOutput/Path", // 8 1307cdf0e10cSrcweir "FormLetter/FileOutput/FileName/FromManualSetting", // 9 1308cdf0e10cSrcweir "FormLetter/FileOutput/FileName/Generation",//10 1309cdf0e10cSrcweir "FormLetter/PrintOutput/AskForMerge" //11 1310cdf0e10cSrcweir }; 1311cdf0e10cSrcweir OUString* pNames = aNames.getArray(); 1312cdf0e10cSrcweir for(int i = 0; i < nCount; i++) 1313cdf0e10cSrcweir pNames[i] = C2U(aPropNames[i]); 1314cdf0e10cSrcweir } 1315cdf0e10cSrcweir return aNames; 1316cdf0e10cSrcweir } 1317cdf0e10cSrcweir /*-- 18.01.01 17:02:47--------------------------------------------------- 1318cdf0e10cSrcweir 1319cdf0e10cSrcweir -----------------------------------------------------------------------*/ 1320cdf0e10cSrcweir void SwMiscConfig::Notify( const ::com::sun::star::uno::Sequence< rtl::OUString >& ) {} 1321cdf0e10cSrcweir 1322cdf0e10cSrcweir void SwMiscConfig::Commit() 1323cdf0e10cSrcweir { 1324cdf0e10cSrcweir const Sequence<OUString>& aNames = GetPropertyNames(); 1325cdf0e10cSrcweir Sequence<Any> aValues(aNames.getLength()); 1326cdf0e10cSrcweir Any* pValues = aValues.getArray(); 1327cdf0e10cSrcweir 1328cdf0e10cSrcweir const Type& rType = ::getBooleanCppuType(); 1329cdf0e10cSrcweir for(int nProp = 0; nProp < aNames.getLength(); nProp++) 1330cdf0e10cSrcweir { 1331cdf0e10cSrcweir switch(nProp) 1332cdf0e10cSrcweir { 1333cdf0e10cSrcweir case 0 : 1334cdf0e10cSrcweir pValues[nProp] <<= OUString( 1335cdf0e10cSrcweir SwModuleOptions::ConvertWordDelimiter(sWordDelimiter, sal_False)); 1336cdf0e10cSrcweir break; 1337cdf0e10cSrcweir case 1 : pValues[nProp].setValue(&bDefaultFontsInCurrDocOnly, rType); break; 1338cdf0e10cSrcweir case 2 : pValues[nProp].setValue(&bShowIndexPreview, rType) ; break; 1339cdf0e10cSrcweir case 3 : pValues[nProp].setValue(&bGrfToGalleryAsLnk, rType); break; 1340cdf0e10cSrcweir case 4 : pValues[nProp].setValue(&bNumAlignSize, rType); break; 1341cdf0e10cSrcweir case 5 : pValues[nProp].setValue(&bSinglePrintJob, rType); break; 1342cdf0e10cSrcweir case 6 : pValues[nProp] <<= nMailingFormats; break; 1343cdf0e10cSrcweir case 7 : pValues[nProp] <<= OUString(sNameFromColumn); break; 1344cdf0e10cSrcweir case 8 : pValues[nProp] <<= OUString(sMailingPath); break; 1345cdf0e10cSrcweir case 9 : pValues[nProp] <<= OUString(sMailName); break; 1346cdf0e10cSrcweir case 10: pValues[nProp].setValue(&bIsNameFromColumn, rType);break; 1347cdf0e10cSrcweir case 11: pValues[nProp] <<= bAskForMailMergeInPrint; break; 1348cdf0e10cSrcweir } 1349cdf0e10cSrcweir } 1350cdf0e10cSrcweir PutProperties(aNames, aValues); 1351cdf0e10cSrcweir } 1352cdf0e10cSrcweir /*-- 18.01.01 17:02:48--------------------------------------------------- 1353cdf0e10cSrcweir 1354cdf0e10cSrcweir -----------------------------------------------------------------------*/ 1355cdf0e10cSrcweir void SwMiscConfig::Load() 1356cdf0e10cSrcweir { 1357cdf0e10cSrcweir const Sequence<OUString>& aNames = GetPropertyNames(); 1358cdf0e10cSrcweir Sequence<Any> aValues = GetProperties(aNames); 1359cdf0e10cSrcweir const Any* pValues = aValues.getConstArray(); 1360cdf0e10cSrcweir DBG_ASSERT(aValues.getLength() == aNames.getLength(), "GetProperties failed"); 1361cdf0e10cSrcweir if(aValues.getLength() == aNames.getLength()) 1362cdf0e10cSrcweir { 1363cdf0e10cSrcweir OUString sTmp; 1364cdf0e10cSrcweir for(int nProp = 0; nProp < aNames.getLength(); nProp++) 1365cdf0e10cSrcweir { 1366cdf0e10cSrcweir if(pValues[nProp].hasValue()) 1367cdf0e10cSrcweir { 1368cdf0e10cSrcweir switch(nProp) 1369cdf0e10cSrcweir { 1370cdf0e10cSrcweir case 0 : pValues[nProp] >>= sTmp; 1371cdf0e10cSrcweir sWordDelimiter = SwModuleOptions::ConvertWordDelimiter(sTmp, sal_True); 1372cdf0e10cSrcweir break; 1373cdf0e10cSrcweir case 1 : bDefaultFontsInCurrDocOnly = *(sal_Bool*)pValues[nProp].getValue(); break; 1374cdf0e10cSrcweir case 2 : bShowIndexPreview = *(sal_Bool*)pValues[nProp].getValue(); break; 1375cdf0e10cSrcweir case 3 : bGrfToGalleryAsLnk = *(sal_Bool*)pValues[nProp].getValue(); break; 1376cdf0e10cSrcweir case 4 : bNumAlignSize = *(sal_Bool*)pValues[nProp].getValue(); break; 1377cdf0e10cSrcweir case 5 : bSinglePrintJob = *(sal_Bool*)pValues[nProp].getValue(); break; 1378cdf0e10cSrcweir case 6 : pValues[nProp] >>= nMailingFormats; ; break; 1379cdf0e10cSrcweir case 7 : pValues[nProp] >>= sTmp; sNameFromColumn = sTmp; break; 1380cdf0e10cSrcweir case 8 : pValues[nProp] >>= sTmp; sMailingPath = sTmp; break; 1381cdf0e10cSrcweir case 9 : pValues[nProp] >>= sTmp; sMailName = sTmp; break; 1382cdf0e10cSrcweir case 10: bIsNameFromColumn = *(sal_Bool*)pValues[nProp].getValue(); break; 1383cdf0e10cSrcweir case 11: pValues[nProp] >>= bAskForMailMergeInPrint; break; 1384cdf0e10cSrcweir } 1385cdf0e10cSrcweir } 1386cdf0e10cSrcweir } 1387cdf0e10cSrcweir } 1388cdf0e10cSrcweir } 1389