office-gobmx/sw/inc/modcfg.hxx
Stephan Bergmann 7c704c78d3 Removed some unused parameters; added SAL_UNUSED_PARAMETER.
SAL_UNUSED_PARAMETER (expanding to __attribute__ ((unused)) for GCC)
is used to annotate legitimately unused parameters, so that static
analysis tools can tell legitimately unused parameters from truly
unnecessary ones.  To that end, some patches for external modules
are also added, that are only applied when compiling with GCC and
add necessary __attribute__ ((unused)) in headers.
2012-01-21 15:21:16 +01:00

369 lines
18 KiB
C++

/* -*- 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.
*
************************************************************************/
#ifndef _MODOPT_HXX
#define _MODOPT_HXX
#include <tools/string.hxx>
#include <tools/wintypes.hxx>
#include <vcl/field.hxx>
#include <svl/svarray.hxx>
#include <unotools/configitem.hxx>
#include "swdllapi.h"
#include "authratr.hxx"
#include <SwCapObjType.hxx>
#include "tblenum.hxx"
#include "itabenum.hxx"
#include <tools/globname.hxx>
#include <editeng/svxenum.hxx>
class SwModuleOptions;
class InsCaptionOpt;
typedef InsCaptionOpt* InsCaptionOptPtr;
SV_DECL_PTRARR_SORT_DEL(InsCapOptArr, InsCaptionOptPtr, 0)
class InsCaptionOptArr : public InsCapOptArr
{
friend class SwModuleOptions;
friend class SwInsertConfig;
protected:
InsCaptionOpt* Find(const SwCapObjType eType, const SvGlobalName *pOleId = 0) const;
};
class SwRevisionConfig : public utl::ConfigItem
{
friend class SwModuleOptions;
AuthorCharAttr aInsertAttr; //Revision/TextDisplay/Insert/Attribute // Redlining: Author-Zeichenattribute
//Revision/TextDisplay/Insert/Color
AuthorCharAttr aDeletedAttr; //Revision/TextDisplay/Delete/Attribute
//Revision/TextDisplay/Delete/Color
AuthorCharAttr aFormatAttr; //Revision/TextDisplay/ChangeAttribute/Attribute
//Revision/TextDisplay/ChangeAttribute/Color
sal_uInt16 nMarkAlign; //Revision/LinesChanged/Mark
Color aMarkColor; //Revision/LinesChanged/Color
const com::sun::star::uno::Sequence<rtl::OUString>& GetPropertyNames();
public:
SwRevisionConfig();
~SwRevisionConfig();
virtual void Commit();
virtual void Notify( const ::com::sun::star::uno::Sequence< rtl::OUString >& aPropertyNames );
void Load();
void SetModified(){ConfigItem::SetModified();}
};
class SwCompareConfig : public utl::ConfigItem
{
friend class SwModuleOptions;
sal_uInt16 eCmpMode; //Compare/CompareDocuments;
sal_Bool bUseRsid; //Compare/Settings/Use RSID
sal_Bool bIgnorePieces; //Compare/Settings/Ignore pieces of length
sal_uInt16 nPieceLen; //Compare/Settings/Ignore pieces of length
const com::sun::star::uno::Sequence<rtl::OUString>& GetPropertyNames();
public:
SwCompareConfig();
~SwCompareConfig();
virtual void Commit();
virtual void Notify( const ::com::sun::star::uno::Sequence< rtl::OUString >& ){ };
void Load();
void SetModified() {ConfigItem::SetModified(); }
};
class SwInsertConfig : public utl::ConfigItem
{
friend class SwModuleOptions;
InsCaptionOptArr* pCapOptions;
InsCaptionOpt* pOLEMiscOpt;
SvGlobalName aGlobalNames[5];
sal_Bool bInsWithCaption; //Insert/Caption/Automatic
sal_Bool bCaptionOrderNumberingFirst; //#i61007# caption order starting with numbering
SwInsertTableOptions aInsTblOpts;
sal_Bool bIsWeb;
const com::sun::star::uno::Sequence<rtl::OUString>& GetPropertyNames();
public:
SwInsertConfig(sal_Bool bWeb);
~SwInsertConfig();
virtual void Commit();
virtual void Notify( const ::com::sun::star::uno::Sequence< rtl::OUString >& aPropertyNames );
void Load();
void SetModified(){ConfigItem::SetModified();}
};
class SwTableConfig : public utl::ConfigItem
{
friend class SwModuleOptions;
sal_uInt16 nTblHMove; //int Table/Shift/Row
sal_uInt16 nTblVMove; //int Table/Shift/Column
sal_uInt16 nTblHInsert; //int Table/Insert/Row
sal_uInt16 nTblVInsert; //int Table/Insert/Column
TblChgMode eTblChgMode; //int Table/Change/Effect
sal_Bool bInsTblFormatNum; // Table/Input/NumberRecognition // Automatic recognition of numbers.
sal_Bool bInsTblChangeNumFormat; // Table/Input/NumberFormatRecognition // Automatic recognition of number formats.
sal_Bool bInsTblAlignNum; // Table/Input/Alignment // Align numbers.
const com::sun::star::uno::Sequence<rtl::OUString>& GetPropertyNames();
public:
SwTableConfig(sal_Bool bWeb);
~SwTableConfig();
virtual void Commit();
virtual void Notify( const ::com::sun::star::uno::Sequence< rtl::OUString >& aPropertyNames );
void Load();
void SetModified(){ConfigItem::SetModified();}
};
class SwMiscConfig : public utl::ConfigItem
{
friend class SwModuleOptions;
String sWordDelimiter; // Statistics/WordNumber/Delimiter
sal_Bool bDefaultFontsInCurrDocOnly; // DefaultFont/Document
sal_Bool bShowIndexPreview ; // Index/ShowPreview
sal_Bool bGrfToGalleryAsLnk; // Misc/GraphicToGalleryAsLink
sal_Bool bNumAlignSize; // Numbering/Graphic/KeepRatio
sal_Bool bSinglePrintJob; // FormLetter/PrintOutput/SinglePrintJobs
sal_Bool bIsNameFromColumn; // FormLetter/FileOutput/FileName/Generation
sal_Bool bAskForMailMergeInPrint; // Ask if documents containing fields should be 'mailmerged'
sal_Int16 nMailingFormats; // FormLetter/MailingOutput/Formats
String sNameFromColumn; // FormLetter/FileOutput/FileName/FromDatabaseField (string!)
String sMailingPath; // FormLetter/FileOutput/Path
String sMailName; // FormLetter/FileOutput/FileName/FromManualSetting (string!)
const com::sun::star::uno::Sequence<rtl::OUString>& GetPropertyNames();
public:
SwMiscConfig();
~SwMiscConfig();
virtual void Commit();
virtual void Notify( const ::com::sun::star::uno::Sequence< rtl::OUString >& aPropertyNames );
void Load();
void SetModified(){ConfigItem::SetModified();}
};
class SW_DLLPUBLIC SwModuleOptions
{
SwRevisionConfig aRevisionConfig;
SwInsertConfig aInsertConfig;
SwInsertConfig aWebInsertConfig;
SwTableConfig aTableConfig;
SwTableConfig aWebTableConfig;
SwMiscConfig aMiscConfig;
SwCompareConfig aCompareConfig;
//fiscus: don't show tips of text fields - it's not part of the configuration!
sal_Bool bHideFieldTips : 1;
public:
SwModuleOptions();
TblChgMode GetTblMode() const { return aTableConfig.eTblChgMode;}
void SetTblMode( TblChgMode eSet ) { aTableConfig.eTblChgMode = eSet;
aTableConfig.SetModified();}
sal_uInt16 GetTblHMove() const { return aTableConfig.nTblHMove;}
void SetTblHMove( sal_uInt16 nSet ) { aTableConfig.nTblHMove = nSet;
aTableConfig.SetModified();}
sal_uInt16 GetTblVMove() const { return aTableConfig.nTblVMove;}
void SetTblVMove( sal_uInt16 nSet ) { aTableConfig.nTblVMove = nSet;
aTableConfig.SetModified();}
sal_uInt16 GetTblHInsert() const {return aTableConfig.nTblHInsert;}
void SetTblHInsert( sal_uInt16 nSet ) { aTableConfig.nTblHInsert = nSet;
aTableConfig.SetModified();}
sal_uInt16 GetTblVInsert() const {return aTableConfig.nTblVInsert;}
void SetTblVInsert( sal_uInt16 nSet ) { aTableConfig.nTblVInsert = nSet;
aTableConfig.SetModified();}
const AuthorCharAttr &GetInsertAuthorAttr() const { return aRevisionConfig.aInsertAttr; }
void SetInsertAuthorAttr( AuthorCharAttr &rAttr ) { aRevisionConfig.aInsertAttr = rAttr;
aRevisionConfig.SetModified();}
const AuthorCharAttr &GetDeletedAuthorAttr() const { return aRevisionConfig.aDeletedAttr; }
void SetDeletedAuthorAttr( AuthorCharAttr &rAttr ) { aRevisionConfig.aDeletedAttr = rAttr;
aRevisionConfig.SetModified();}
const AuthorCharAttr &GetFormatAuthorAttr() const { return aRevisionConfig.aFormatAttr; }
void SetFormatAuthorAttr( AuthorCharAttr &rAttr ) { aRevisionConfig.aFormatAttr = rAttr;
aRevisionConfig.SetModified();}
sal_uInt16 GetMarkAlignMode() const { return aRevisionConfig.nMarkAlign; }
void SetMarkAlignMode(sal_uInt16 nMode) { aRevisionConfig.nMarkAlign = nMode;
aRevisionConfig.SetModified();}
const Color& GetMarkAlignColor() const { return aRevisionConfig.aMarkColor; }
void SetMarkAlignColor(const Color &rColor) { aRevisionConfig.aMarkColor = rColor;
aRevisionConfig.SetModified();}
sal_Bool IsInsWithCaption(sal_Bool bHTML) const
{ return bHTML ? sal_False : aInsertConfig.bInsWithCaption; }
void SetInsWithCaption( sal_Bool bHTML, sal_Bool b )
{ if(!bHTML)
aInsertConfig.bInsWithCaption = b;
aInsertConfig.SetModified();}
sal_Bool IsCaptionOrderNumberingFirst() const { return aInsertConfig.bCaptionOrderNumberingFirst; }
void SetCaptionOrderNumberingFirst( sal_Bool bSet )
{
if(aInsertConfig.bCaptionOrderNumberingFirst != bSet)
{
aInsertConfig.bCaptionOrderNumberingFirst = bSet;
aInsertConfig.SetModified();
}
}
sal_Bool IsInsTblFormatNum(sal_Bool bHTML) const
{ return bHTML ? aWebTableConfig.bInsTblFormatNum : aTableConfig.bInsTblFormatNum; }
void SetInsTblFormatNum( sal_Bool bHTML, sal_Bool b )
{ bHTML ? (aWebTableConfig.bInsTblFormatNum = b) : (aTableConfig.bInsTblFormatNum = b);
bHTML ? aWebTableConfig.SetModified() : aTableConfig.SetModified();}
sal_Bool IsInsTblChangeNumFormat(sal_Bool bHTML) const
{ return bHTML ? aWebTableConfig.bInsTblChangeNumFormat : aTableConfig.bInsTblChangeNumFormat; }
void SetInsTblChangeNumFormat( sal_Bool bHTML, sal_Bool b )
{ bHTML ? (aWebTableConfig.bInsTblChangeNumFormat = b) : (aTableConfig.bInsTblChangeNumFormat = b);
bHTML ? aWebTableConfig.SetModified() : aTableConfig.SetModified();}
sal_Bool IsInsTblAlignNum(sal_Bool bHTML) const
{ return bHTML ? aWebTableConfig.bInsTblAlignNum : aTableConfig.bInsTblAlignNum; }
void SetInsTblAlignNum( sal_Bool bHTML, sal_Bool b )
{ bHTML ? (aWebTableConfig.bInsTblAlignNum = b) : (aTableConfig.bInsTblAlignNum = b);
bHTML ? aWebTableConfig.SetModified() : aTableConfig.SetModified();}
SwInsertTableOptions GetInsTblFlags(sal_Bool bHTML) const
{ return bHTML ? aWebInsertConfig.aInsTblOpts : aInsertConfig.aInsTblOpts;}
void SetInsTblFlags( sal_Bool bHTML, const SwInsertTableOptions& rOpts ) {
bHTML ? (aWebInsertConfig.aInsTblOpts = rOpts) : (aInsertConfig.aInsTblOpts = rOpts);
bHTML ? aWebInsertConfig.SetModified() : aInsertConfig.SetModified();}
const InsCaptionOpt* GetCapOption(sal_Bool bHTML, const SwCapObjType eType, const SvGlobalName *pOleId);
sal_Bool SetCapOption(sal_Bool bHTML, const InsCaptionOpt* pOpt);
sal_Bool IsGrfToGalleryAsLnk() const { return aMiscConfig.bGrfToGalleryAsLnk; }
void SetGrfToGalleryAsLnk( sal_Bool b ) { aMiscConfig.bGrfToGalleryAsLnk = b;
aMiscConfig.SetModified();}
sal_Int16 GetMailingFormats() const { return aMiscConfig.nMailingFormats;}
void SetMailingFormats( sal_Int16 nSet ) { aMiscConfig.nMailingFormats = nSet;
aMiscConfig.SetModified();}
sal_Bool IsSinglePrintJob() const { return aMiscConfig.bSinglePrintJob; }
void SetSinglePrintJob( sal_Bool b ) { aMiscConfig.bSinglePrintJob = b;
aMiscConfig.SetModified();}
sal_Bool IsNumAlignSize() const { return aMiscConfig.bNumAlignSize; }
void SetNumAlignSize( sal_Bool b ) { aMiscConfig.bNumAlignSize = b;
aMiscConfig.SetModified();}
sal_Bool IsNameFromColumn() const { return aMiscConfig.bIsNameFromColumn; }
void SetIsNameFromColumn( sal_Bool bSet )
{
aMiscConfig.SetModified();
aMiscConfig.bIsNameFromColumn = bSet;
}
sal_Bool IsAskForMailMerge() const { return aMiscConfig.bAskForMailMergeInPrint;}
void SetAskForMailMerge(sal_Bool bSet)
{
aMiscConfig.SetModified();
aMiscConfig.bAskForMailMergeInPrint = bSet;
}
const String& GetNameFromColumn() const { return aMiscConfig.sNameFromColumn; }
void SetNameFromColumn( const String& rSet ) { aMiscConfig.sNameFromColumn = rSet;
aMiscConfig.SetModified();}
String GetMailingPath() const { return aMiscConfig.sMailingPath; }
void SetMailingPath(const String& sPath) { aMiscConfig.sMailingPath = sPath;
aMiscConfig.SetModified();}
String GetMailName() const { return aMiscConfig.sMailName; }
void SetMailName(const String& sName){ aMiscConfig.sMailName = sName;
aMiscConfig.SetModified();}
const String &GetWordDelimiter() const { return aMiscConfig.sWordDelimiter; }
void SetWordDelimiter(const String& sDelim) { aMiscConfig.sWordDelimiter = sDelim;
aMiscConfig.SetModified();}
//convert word delimiter from or to user interface
static String ConvertWordDelimiter(const String& rDelim, sal_Bool bFromUI);
sal_Bool IsShowIndexPreview() const {return aMiscConfig.bShowIndexPreview;}
void SetShowIndexPreview(sal_Bool bSet)
{aMiscConfig.bShowIndexPreview = bSet;
aMiscConfig.SetModified();}
sal_Bool IsDefaultFontInCurrDocOnly() const { return aMiscConfig.bDefaultFontsInCurrDocOnly;}
void SetDefaultFontInCurrDocOnly(sal_Bool bSet)
{
aMiscConfig.bDefaultFontsInCurrDocOnly = bSet;
aMiscConfig.SetModified();
}
sal_Bool IsHideFieldTips() const {return bHideFieldTips;}
void SetHideFieldTips(sal_Bool bSet) {bHideFieldTips = bSet;}
SvxCompareMode GetCompareMode() const { return (SvxCompareMode)aCompareConfig.eCmpMode; }
void SetCompareMode( SvxCompareMode eMode ) { aCompareConfig.eCmpMode = eMode;
aCompareConfig.SetModified(); }
sal_Bool IsUseRsid() const { return aCompareConfig.bUseRsid; }
void SetUseRsid( sal_Bool b ) { aCompareConfig.bUseRsid = b;
aCompareConfig.SetModified(); }
sal_Bool IsIgnorePieces() const { return aCompareConfig.bIgnorePieces; }
void SetIgnorePieces( sal_Bool b ) { aCompareConfig.bIgnorePieces = b;
aCompareConfig.SetModified(); }
sal_uInt16 GetPieceLen() const { return aCompareConfig.nPieceLen; }
void SetPieceLen( sal_uInt16 nLen ) { aCompareConfig.nPieceLen = nLen;
aCompareConfig.SetModified(); }
};
#endif
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */