diff options
Diffstat (limited to 'binfilter/bf_sc/source/core/tool/sc_appoptio.cxx')
-rw-r--r-- | binfilter/bf_sc/source/core/tool/sc_appoptio.cxx | 678 |
1 files changed, 678 insertions, 0 deletions
diff --git a/binfilter/bf_sc/source/core/tool/sc_appoptio.cxx b/binfilter/bf_sc/source/core/tool/sc_appoptio.cxx new file mode 100644 index 000000000000..df9b03a270dc --- /dev/null +++ b/binfilter/bf_sc/source/core/tool/sc_appoptio.cxx @@ -0,0 +1,678 @@ +/* -*- 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 "appoptio.hxx" +#include "rechead.hxx" +#include "userlist.hxx" +#include "bf_sc.hrc" +#include "compiler.hrc" +#include "miscuno.hxx" +namespace binfilter { + +using namespace utl; +using namespace rtl; +using namespace ::com::sun::star::uno; + +// STATIC DATA ----------------------------------------------------------- + +#define SC_VERSION ((USHORT)304) + +//======================================================================== +// ScAppOptions - Applikations-Optionen +//======================================================================== + +/*N*/ ScAppOptions::ScAppOptions() : pLRUList( NULL ) +/*N*/ { +/*N*/ SetDefaults(); +/*N*/ } + +//------------------------------------------------------------------------ + +/*N*/ ScAppOptions::ScAppOptions( const ScAppOptions& rCpy ) : pLRUList( NULL ) +/*N*/ { +/*N*/ *this = rCpy; +/*N*/ } + +//------------------------------------------------------------------------ + +/*N*/ ScAppOptions::~ScAppOptions() +/*N*/ { +/*N*/ delete [] pLRUList; +/*N*/ } + +//------------------------------------------------------------------------ + +/*N*/ void ScAppOptions::SetDefaults() +/*N*/ { +/*N*/ if ( ScOptionsUtil::IsMetricSystem() ) +/*N*/ eMetric = FUNIT_CM; // default for countries with metric system +/*N*/ else +/*N*/ eMetric = FUNIT_INCH; // default for others +/*N*/ +/*N*/ nZoom = 100; +/*N*/ eZoomType = SVX_ZOOM_PERCENT; +/*N*/ nStatusFunc = SUBTOTAL_FUNC_SUM; +/*N*/ bAutoComplete = TRUE; +/*N*/ bDetectiveAuto = TRUE; +/*N*/ +/*N*/ delete [] pLRUList; +/*N*/ pLRUList = new USHORT[5]; // sinnvoll vorbelegen +/*N*/ pLRUList[0] = SC_OPCODE_SUM; +/*N*/ pLRUList[1] = SC_OPCODE_AVERAGE; +/*N*/ pLRUList[2] = SC_OPCODE_MIN; +/*N*/ pLRUList[3] = SC_OPCODE_MAX; +/*N*/ pLRUList[4] = SC_OPCODE_IF; +/*N*/ nLRUFuncCount = 5; +/*N*/ +/*N*/ nTrackContentColor = COL_TRANSPARENT; +/*N*/ nTrackInsertColor = COL_TRANSPARENT; +/*N*/ nTrackDeleteColor = COL_TRANSPARENT; +/*N*/ nTrackMoveColor = COL_TRANSPARENT; +/*N*/ eLinkMode = LM_ON_DEMAND; +/*N*/ +/*N*/ nDefaultObjectSizeWidth = 8000; +/*N*/ nDefaultObjectSizeHeight = 5000; +/*N*/ } + +//------------------------------------------------------------------------ + +/*N*/ const ScAppOptions& ScAppOptions::operator=( const ScAppOptions& rCpy ) +/*N*/ { +/*N*/ eMetric = rCpy.eMetric; +/*N*/ eZoomType = rCpy.eZoomType; +/*N*/ nZoom = rCpy.nZoom; +/*N*/ SetLRUFuncList( rCpy.pLRUList, rCpy.nLRUFuncCount ); +/*N*/ nStatusFunc = rCpy.nStatusFunc; +/*N*/ bAutoComplete = rCpy.bAutoComplete; +/*N*/ bDetectiveAuto = rCpy.bDetectiveAuto; +/*N*/ nTrackContentColor = rCpy.nTrackContentColor; +/*N*/ nTrackInsertColor = rCpy.nTrackInsertColor; +/*N*/ nTrackDeleteColor = rCpy.nTrackDeleteColor; +/*N*/ nTrackMoveColor = rCpy.nTrackMoveColor; +/*N*/ eLinkMode = rCpy.eLinkMode; +/*N*/ nDefaultObjectSizeWidth = rCpy.nDefaultObjectSizeWidth; +/*N*/ nDefaultObjectSizeHeight = rCpy.nDefaultObjectSizeHeight; +/*N*/ return *this; +/*N*/ } + +//------------------------------------------------------------------------ + +/*N*/ SvStream& operator>>( SvStream& rStream, ScAppOptions& rOpt ) +/*N*/ { +/*N*/ rOpt.SetDefaults(); +/*N*/ +/*N*/ ScReadHeader aHdr( rStream ); +/*N*/ +/*N*/ BYTE n; +/*N*/ rStream >> n; rOpt.eMetric = (FieldUnit)n; +/*N*/ +/*N*/ if ( aHdr.BytesLeft() ) +/*N*/ { +/*N*/ rStream >> n; rOpt.nLRUFuncCount = (USHORT)n; +/*N*/ +/*N*/ delete [] rOpt.pLRUList; +/*N*/ rOpt.pLRUList = new USHORT[rOpt.nLRUFuncCount]; +/*N*/ +/*N*/ for ( USHORT i=0; i<rOpt.nLRUFuncCount; i++ ) +/*N*/ rStream >> rOpt.pLRUList[i]; +/*N*/ } +/*N*/ +/*N*/ // ab 31.10.95: globale benutzerdefinierte Listen einlesen :-/ +/*N*/ // (kleiner Hack :-/) +/*N*/ if ( aHdr.BytesLeft() ) +/*N*/ { +/*N*/ ScUserList* pUserList = ScGlobal::GetUserList(); +/*N*/ pUserList->Load( rStream ); +/*N*/ } +/*N*/ +/*N*/ // ab 11.12.95 (304) +/*N*/ // Zoom-Faktor +/*N*/ if ( aHdr.BytesLeft() ) +/*N*/ { +/*N*/ USHORT e; +/*N*/ rStream >> e; rOpt.eZoomType = (SvxZoomType)e; +/*N*/ rStream >> rOpt.nZoom; +/*N*/ } +/*N*/ +/*N*/ // ab 23.5.96: Funktion fuer Statusbar-Controller, Flag fuer Auto-Eingabe +/*N*/ if ( aHdr.BytesLeft() ) +/*N*/ { +/*N*/ rStream >> rOpt.nStatusFunc; +/*N*/ rStream >> rOpt.bAutoComplete; +/*N*/ } +/*N*/ +/*N*/ // ab 15.3.98: Farben fuer Change-Tracking +/*N*/ if ( aHdr.BytesLeft() ) +/*N*/ { +/*N*/ rStream >> rOpt.nTrackContentColor; +/*N*/ rStream >> rOpt.nTrackInsertColor; +/*N*/ rStream >> rOpt.nTrackDeleteColor; +/*N*/ rStream >> rOpt.nTrackMoveColor; +/*N*/ } +/*N*/ +/*N*/ // ab 22.6.98: Automatisches Detektiv-Update +/*N*/ if ( aHdr.BytesLeft() ) +/*N*/ rStream >> rOpt.bDetectiveAuto; +/*N*/ +/*N*/ if ( aHdr.BytesLeft() ) +/*N*/ { +/*N*/ BYTE nLinkMode; +/*N*/ rStream >> nLinkMode; +/*N*/ rOpt.eLinkMode=(ScLkUpdMode) nLinkMode; +/*N*/ } +/*N*/ +/*N*/ return rStream; +/*N*/ } + +//------------------------------------------------------------------------ + +/*N*/ SvStream& operator<<( SvStream& rStream, const ScAppOptions& rOpt ) +/*N*/ { +/*N*/ ScWriteHeader aHdr( rStream, 25 ); +/*N*/ +/*N*/ rStream << (BYTE)rOpt.eMetric; +/*N*/ rStream << (BYTE)rOpt.nLRUFuncCount; +/*N*/ +/*N*/ if ( rOpt.nLRUFuncCount > 0 ) +/*N*/ { +/*N*/ for ( USHORT i=0; i<rOpt.nLRUFuncCount; i++ ) +/*N*/ rStream << rOpt.pLRUList[i]; +/*N*/ } +/*N*/ +/*N*/ // ab 31.10.95: globale benutzerdefinierte Listen speichern +/*N*/ // (kleiner Hack :-/) +/*N*/ ScUserList* pUserList = ScGlobal::GetUserList(); +/*N*/ pUserList->Store( rStream ); +/*N*/ +/*N*/ // ab 11.12.95 (304) +/*N*/ // Zoom-Faktor +/*N*/ rStream << (USHORT)rOpt.eZoomType; +/*N*/ rStream << rOpt.nZoom; +/*N*/ +/*N*/ // ab 23.5.96: Funktion fuer Statusbar-Controller, Flag fuer Auto-Eingabe +/*N*/ rStream << rOpt.nStatusFunc; +/*N*/ rStream << rOpt.bAutoComplete; +/*N*/ +/*N*/ // ab 15.3.98: Farben fuer Change-Tracking +/*N*/ rStream << rOpt.nTrackContentColor; +/*N*/ rStream << rOpt.nTrackInsertColor; +/*N*/ rStream << rOpt.nTrackDeleteColor; +/*N*/ rStream << rOpt.nTrackMoveColor; +/*N*/ +/*N*/ // ab 22.6.98: Automatisches Detektiv-Update +/*N*/ rStream << rOpt.bDetectiveAuto; +/*N*/ rStream << (BYTE) rOpt.eLinkMode; +/*N*/ +/*N*/ return rStream; +/*N*/ } + +//------------------------------------------------------------------------ + +/*N*/ void ScAppOptions::SetLRUFuncList( const USHORT* pList, const USHORT nCount ) +/*N*/ { +/*N*/ delete [] pLRUList; +/*N*/ +/*N*/ nLRUFuncCount = nCount; +/*N*/ +/*N*/ if ( nLRUFuncCount > 0 ) +/*N*/ { +/*N*/ pLRUList = new USHORT[nLRUFuncCount]; +/*N*/ +/*N*/ for ( USHORT i=0; i<nLRUFuncCount; i++ ) +/*N*/ pLRUList[i] = pList[i]; +/*N*/ } +/*N*/ else +/*N*/ pLRUList = NULL; +/*N*/ } + +//================================================================== +// Config Item containing app options +//================================================================== + +/*N*/ void lcl_SetLastFunctions( ScAppOptions& rOpt, const Any& rValue ) +/*N*/ { +/*N*/ Sequence<sal_Int32> aSeq; +/*N*/ if ( rValue >>= aSeq ) +/*N*/ { +/*N*/ long nCount = aSeq.getLength(); +/*N*/ if ( nCount < USHRT_MAX ) +/*N*/ { +/*N*/ const sal_Int32* pArray = aSeq.getConstArray(); +/*N*/ USHORT* pUShorts = new USHORT[nCount]; +/*N*/ for (long i=0; i<nCount; i++) +/*N*/ pUShorts[i] = (USHORT) pArray[i]; +/*N*/ +/*N*/ rOpt.SetLRUFuncList( pUShorts, nCount ); +/*N*/ +/*N*/ delete[] pUShorts; +/*N*/ } +/*N*/ } +/*N*/ } + + +/*N*/ void lcl_SetSortList( const Any& rValue ) +/*N*/ { +/*N*/ Sequence<OUString> aSeq; +/*N*/ if ( rValue >>= aSeq ) +/*N*/ { +/*N*/ long nCount = aSeq.getLength(); +/*N*/ const OUString* pArray = aSeq.getConstArray(); +/*N*/ ScUserList aList; +/*N*/ +/*N*/ // if setting is "default", keep default values from ScUserList ctor +/*N*/ //! mark "default" in a safe way +/*N*/ BOOL bDefault = ( nCount == 1 && +/*N*/ pArray[0].equalsAsciiL( RTL_CONSTASCII_STRINGPARAM( "NULL" ) ) ); +/*N*/ +/*N*/ if (!bDefault) +/*N*/ { +/*?*/ aList.FreeAll(); +/*?*/ +/*?*/ for (long i=0; i<nCount; i++) +/*?*/ { +/*?*/ ScUserListData* pNew = new ScUserListData( pArray[i] ); +/*?*/ if ( !aList.Insert(pNew) ) +/*?*/ delete pNew; +/*?*/ } +/*N*/ } +/*N*/ +/*N*/ ScGlobal::SetUserList( &aList ); +/*N*/ } +/*N*/ } + + +//------------------------------------------------------------------ + +#define CFGPATH_LAYOUT "Office.Calc/Layout" + +#define SCLAYOUTOPT_MEASURE 0 +#define SCLAYOUTOPT_STATUSBAR 1 +#define SCLAYOUTOPT_ZOOMVAL 2 +#define SCLAYOUTOPT_ZOOMTYPE 3 +#define SCLAYOUTOPT_COUNT 4 + +#define CFGPATH_INPUT "Office.Calc/Input" + +#define SCINPUTOPT_LASTFUNCS 0 +#define SCINPUTOPT_AUTOINPUT 1 +#define SCINPUTOPT_DET_AUTO 2 +#define SCINPUTOPT_COUNT 3 + +#define CFGPATH_REVISION "Office.Calc/Revision/Color" + +#define SCREVISOPT_CHANGE 0 +#define SCREVISOPT_INSERTION 1 +#define SCREVISOPT_DELETION 2 +#define SCREVISOPT_MOVEDENTRY 3 +#define SCREVISOPT_COUNT 4 + +#define CFGPATH_CONTENT "Office.Calc/Content/Update" + +#define SCCONTENTOPT_LINK 0 +#define SCCONTENTOPT_COUNT 1 + +#define CFGPATH_SORTLIST "Office.Calc/SortList" + +#define SCSORTLISTOPT_LIST 0 +#define SCSORTLISTOPT_COUNT 1 + +#define CFGPATH_MISC "Office.Calc/Misc" + +#define SCMISCOPT_DEFOBJWIDTH 0 +#define SCMISCOPT_DEFOBJHEIGHT 1 +#define SCMISCOPT_COUNT 2 + + +/*N*/ Sequence<OUString> ScAppCfg::GetLayoutPropertyNames() +/*N*/ { +/*N*/ static const char* aPropNames[] = +/*N*/ { +/*N*/ "Other/MeasureUnit/NonMetric", // SCLAYOUTOPT_MEASURE +/*N*/ "Other/StatusbarFunction", // SCLAYOUTOPT_STATUSBAR +/*N*/ "Zoom/Value", // SCLAYOUTOPT_ZOOMVAL +/*N*/ "Zoom/Type" // SCLAYOUTOPT_ZOOMTYPE +/*N*/ }; +/*N*/ Sequence<OUString> aNames(SCLAYOUTOPT_COUNT); +/*N*/ OUString* pNames = aNames.getArray(); +/*N*/ for(int i = 0; i < SCLAYOUTOPT_COUNT; i++) +/*N*/ pNames[i] = OUString::createFromAscii(aPropNames[i]); +/*N*/ +/*N*/ // adjust for metric system +/*N*/ if (ScOptionsUtil::IsMetricSystem()) +/*N*/ pNames[SCLAYOUTOPT_MEASURE] = OUString::createFromAscii( "Other/MeasureUnit/Metric" ); +/*N*/ +/*N*/ return aNames; +/*N*/ } + +/*N*/ Sequence<OUString> ScAppCfg::GetInputPropertyNames() +/*N*/ { +/*N*/ static const char* aPropNames[] = +/*N*/ { +/*N*/ "LastFunctions", // SCINPUTOPT_LASTFUNCS +/*N*/ "AutoInput", // SCINPUTOPT_AUTOINPUT +/*N*/ "DetectiveAuto" // SCINPUTOPT_DET_AUTO +/*N*/ }; +/*N*/ Sequence<OUString> aNames(SCINPUTOPT_COUNT); +/*N*/ OUString* pNames = aNames.getArray(); +/*N*/ for(int i = 0; i < SCINPUTOPT_COUNT; i++) +/*N*/ pNames[i] = OUString::createFromAscii(aPropNames[i]); +/*N*/ +/*N*/ return aNames; +/*N*/ } + +/*N*/ Sequence<OUString> ScAppCfg::GetRevisionPropertyNames() +/*N*/ { +/*N*/ static const char* aPropNames[] = +/*N*/ { +/*N*/ "Change", // SCREVISOPT_CHANGE +/*N*/ "Insertion", // SCREVISOPT_INSERTION +/*N*/ "Deletion", // SCREVISOPT_DELETION +/*N*/ "MovedEntry" // SCREVISOPT_MOVEDENTRY +/*N*/ }; +/*N*/ Sequence<OUString> aNames(SCREVISOPT_COUNT); +/*N*/ OUString* pNames = aNames.getArray(); +/*N*/ for(int i = 0; i < SCREVISOPT_COUNT; i++) +/*N*/ pNames[i] = OUString::createFromAscii(aPropNames[i]); +/*N*/ +/*N*/ return aNames; +/*N*/ } + +/*N*/ Sequence<OUString> ScAppCfg::GetContentPropertyNames() +/*N*/ { +/*N*/ static const char* aPropNames[] = +/*N*/ { +/*N*/ "Link" // SCCONTENTOPT_LINK +/*N*/ }; +/*N*/ Sequence<OUString> aNames(SCCONTENTOPT_COUNT); +/*N*/ OUString* pNames = aNames.getArray(); +/*N*/ for(int i = 0; i < SCCONTENTOPT_COUNT; i++) +/*N*/ pNames[i] = OUString::createFromAscii(aPropNames[i]); +/*N*/ +/*N*/ return aNames; +/*N*/ } + +/*N*/ Sequence<OUString> ScAppCfg::GetSortListPropertyNames() +/*N*/ { +/*N*/ static const char* aPropNames[] = +/*N*/ { +/*N*/ "List" // SCSORTLISTOPT_LIST +/*N*/ }; +/*N*/ Sequence<OUString> aNames(SCSORTLISTOPT_COUNT); +/*N*/ OUString* pNames = aNames.getArray(); +/*N*/ for(int i = 0; i < SCSORTLISTOPT_COUNT; i++) +/*N*/ pNames[i] = OUString::createFromAscii(aPropNames[i]); +/*N*/ +/*N*/ return aNames; +/*N*/ } + +/*N*/ Sequence<OUString> ScAppCfg::GetMiscPropertyNames() +/*N*/ { +/*N*/ static const char* aPropNames[] = +/*N*/ { +/*N*/ "DefaultObjectSize/Width", // SCMISCOPT_DEFOBJWIDTH +/*N*/ "DefaultObjectSize/Height" // SCMISCOPT_DEFOBJHEIGHT +/*N*/ }; +/*N*/ Sequence<OUString> aNames(SCMISCOPT_COUNT); +/*N*/ OUString* pNames = aNames.getArray(); +/*N*/ for(int i = 0; i < SCMISCOPT_COUNT; i++) +/*N*/ pNames[i] = OUString::createFromAscii(aPropNames[i]); +/*N*/ +/*N*/ return aNames; +/*N*/ } + + +/*N*/ ScAppCfg::ScAppCfg() : +/*N*/ aLayoutItem( OUString::createFromAscii( CFGPATH_LAYOUT ) ), +/*N*/ aInputItem( OUString::createFromAscii( CFGPATH_INPUT ) ), +/*N*/ aRevisionItem( OUString::createFromAscii( CFGPATH_REVISION ) ), +/*N*/ aContentItem( OUString::createFromAscii( CFGPATH_CONTENT ) ), +/*N*/ aSortListItem( OUString::createFromAscii( CFGPATH_SORTLIST ) ), +/*N*/ aMiscItem( OUString::createFromAscii( CFGPATH_MISC ) ) +/*N*/ { +/*N*/ sal_Int32 nIntVal; +/*N*/ +/*N*/ Sequence<OUString> aNames; +/*N*/ Sequence<Any> aValues; +/*N*/ const Any* pValues = NULL; +/*N*/ +/*N*/ aNames = GetLayoutPropertyNames(); +/*N*/ aValues = aLayoutItem.GetProperties(aNames); +/*N*/ aLayoutItem.EnableNotification(aNames); +/*N*/ 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*/ DBG_ASSERT(pValues[nProp].hasValue(), "property value missing"); +/*N*/ if(pValues[nProp].hasValue()) +/*N*/ { +/*N*/ switch(nProp) +/*N*/ { +/*N*/ case SCLAYOUTOPT_MEASURE: +/*N*/ if (pValues[nProp] >>= nIntVal) SetAppMetric( (FieldUnit) nIntVal ); +/*N*/ break; +/*N*/ case SCLAYOUTOPT_STATUSBAR: +/*N*/ if (pValues[nProp] >>= nIntVal) SetStatusFunc( (USHORT) nIntVal ); +/*N*/ break; +/*N*/ case SCLAYOUTOPT_ZOOMVAL: +/*N*/ if (pValues[nProp] >>= nIntVal) SetZoom( (USHORT) nIntVal ); +/*N*/ break; +/*N*/ case SCLAYOUTOPT_ZOOMTYPE: +/*N*/ if (pValues[nProp] >>= nIntVal) SetZoomType( (SvxZoomType) nIntVal ); +/*N*/ break; +/*N*/ } +/*N*/ } +/*N*/ } +/*N*/ } +/*N*/ aLayoutItem.SetCommitLink( LINK( this, ScAppCfg, LayoutCommitHdl ) ); +/*N*/ +/*N*/ aNames = GetInputPropertyNames(); +/*N*/ aValues = aInputItem.GetProperties(aNames); +/*N*/ aInputItem.EnableNotification(aNames); +/*N*/ 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*/ DBG_ASSERT(pValues[nProp].hasValue(), "property value missing"); +/*N*/ if(pValues[nProp].hasValue()) +/*N*/ { +/*N*/ switch(nProp) +/*N*/ { +/*N*/ case SCINPUTOPT_LASTFUNCS: +/*N*/ lcl_SetLastFunctions( *this, pValues[nProp] ); +/*N*/ break; +/*N*/ case SCINPUTOPT_AUTOINPUT: +/*N*/ SetAutoComplete( ScUnoHelpFunctions::GetBoolFromAny( pValues[nProp] ) ); +/*N*/ break; +/*N*/ case SCINPUTOPT_DET_AUTO: +/*N*/ SetDetectiveAuto( ScUnoHelpFunctions::GetBoolFromAny( pValues[nProp] ) ); +/*N*/ break; +/*N*/ } +/*N*/ } +/*N*/ } +/*N*/ } +/*N*/ aInputItem.SetCommitLink( LINK( this, ScAppCfg, InputCommitHdl ) ); +/*N*/ +/*N*/ aNames = GetRevisionPropertyNames(); +/*N*/ aValues = aRevisionItem.GetProperties(aNames); +/*N*/ aRevisionItem.EnableNotification(aNames); +/*N*/ 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*/ DBG_ASSERT(pValues[nProp].hasValue(), "property value missing"); +/*N*/ if(pValues[nProp].hasValue()) +/*N*/ { +/*N*/ switch(nProp) +/*N*/ { +/*N*/ case SCREVISOPT_CHANGE: +/*N*/ if (pValues[nProp] >>= nIntVal) SetTrackContentColor( (ULONG) nIntVal ); +/*N*/ break; +/*N*/ case SCREVISOPT_INSERTION: +/*N*/ if (pValues[nProp] >>= nIntVal) SetTrackInsertColor( (ULONG) nIntVal ); +/*N*/ break; +/*N*/ case SCREVISOPT_DELETION: +/*N*/ if (pValues[nProp] >>= nIntVal) SetTrackDeleteColor( (ULONG) nIntVal ); +/*N*/ break; +/*N*/ case SCREVISOPT_MOVEDENTRY: +/*N*/ if (pValues[nProp] >>= nIntVal) SetTrackMoveColor( (ULONG) nIntVal ); +/*N*/ break; +/*N*/ } +/*N*/ } +/*N*/ } +/*N*/ } +/*N*/ aRevisionItem.SetCommitLink( LINK( this, ScAppCfg, RevisionCommitHdl ) ); +/*N*/ +/*N*/ aNames = GetContentPropertyNames(); +/*N*/ aValues = aContentItem.GetProperties(aNames); +/*N*/ aContentItem.EnableNotification(aNames); +/*N*/ 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*/ DBG_ASSERT(pValues[nProp].hasValue(), "property value missing"); +/*N*/ if(pValues[nProp].hasValue()) +/*N*/ { +/*N*/ switch(nProp) +/*N*/ { +/*N*/ case SCCONTENTOPT_LINK: +/*N*/ if (pValues[nProp] >>= nIntVal) SetLinkMode( (ScLkUpdMode) nIntVal ); +/*N*/ break; +/*N*/ } +/*N*/ } +/*N*/ } +/*N*/ } +/*N*/ aContentItem.SetCommitLink( LINK( this, ScAppCfg, ContentCommitHdl ) ); +/*N*/ +/*N*/ aNames = GetSortListPropertyNames(); +/*N*/ aValues = aSortListItem.GetProperties(aNames); +/*N*/ aSortListItem.EnableNotification(aNames); +/*N*/ 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*/ DBG_ASSERT(pValues[nProp].hasValue(), "property value missing"); +/*N*/ if(pValues[nProp].hasValue()) +/*N*/ { +/*N*/ switch(nProp) +/*N*/ { +/*N*/ case SCSORTLISTOPT_LIST: +/*N*/ lcl_SetSortList( pValues[nProp] ); +/*N*/ break; +/*N*/ } +/*N*/ } +/*N*/ } +/*N*/ } +/*N*/ aSortListItem.SetCommitLink( LINK( this, ScAppCfg, SortListCommitHdl ) ); +/*N*/ +/*N*/ aNames = GetMiscPropertyNames(); +/*N*/ aValues = aMiscItem.GetProperties(aNames); +/*N*/ aMiscItem.EnableNotification(aNames); +/*N*/ 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*/ DBG_ASSERT(pValues[nProp].hasValue(), "property value missing"); +/*N*/ if(pValues[nProp].hasValue()) +/*N*/ { +/*N*/ switch(nProp) +/*N*/ { +/*N*/ case SCMISCOPT_DEFOBJWIDTH: +/*N*/ if (pValues[nProp] >>= nIntVal) SetDefaultObjectSizeWidth( nIntVal ); +/*N*/ break; +/*N*/ case SCMISCOPT_DEFOBJHEIGHT: +/*N*/ if (pValues[nProp] >>= nIntVal) SetDefaultObjectSizeHeight( nIntVal ); +/*N*/ break; +/*N*/ } +/*N*/ } +/*N*/ } +/*N*/ } +/*N*/ aMiscItem.SetCommitLink( LINK( this, ScAppCfg, MiscCommitHdl ) ); +/*N*/ } + +/*N*/ IMPL_LINK( ScAppCfg, LayoutCommitHdl, void *, EMPTYARG ) +/*N*/ { + DBG_BF_ASSERT(0, "STRIP"); //STRIP001 Sequence<OUString> aNames = GetLayoutPropertyNames(); +/*N*/ return 0; +/*N*/ } + +/*N*/ IMPL_LINK( ScAppCfg, InputCommitHdl, void *, EMPTYARG ) +/*N*/ { + DBG_BF_ASSERT(0, "STRIP"); //STRIP001 Sequence<OUString> aNames = GetInputPropertyNames(); +/*N*/ return 0; +/*N*/ } + +/*N*/ IMPL_LINK( ScAppCfg, RevisionCommitHdl, void *, EMPTYARG ) +/*N*/ { + DBG_BF_ASSERT(0, "STRIP"); //STRIP001 Sequence<OUString> aNames = GetRevisionPropertyNames(); +/*N*/ return 0; +/*N*/ } + +/*N*/ IMPL_LINK( ScAppCfg, ContentCommitHdl, void *, EMPTYARG ) +/*N*/ { + DBG_BF_ASSERT(0, "STRIP"); //STRIP001 Sequence<OUString> aNames = GetContentPropertyNames(); +/*N*/ return 0; +/*N*/ } + +/*N*/ IMPL_LINK( ScAppCfg, SortListCommitHdl, void *, EMPTYARG ) +/*N*/ { + DBG_BF_ASSERT(0, "STRIP"); //STRIP001 Sequence<OUString> aNames = GetSortListPropertyNames(); +/*N*/ return 0; +/*N*/ } + +/*N*/ IMPL_LINK( ScAppCfg, MiscCommitHdl, void *, EMPTYARG ) +/*N*/ { + DBG_BF_ASSERT(0, "STRIP"); //STRIP001 Sequence<OUString> aNames = GetMiscPropertyNames(); +/*N*/ return 0; +/*N*/ } + + + + +} + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |