diff options
Diffstat (limited to 'extensions/source/bibliography/bibconfig.hxx')
-rw-r--r-- | extensions/source/bibliography/bibconfig.hxx | 155 |
1 files changed, 155 insertions, 0 deletions
diff --git a/extensions/source/bibliography/bibconfig.hxx b/extensions/source/bibliography/bibconfig.hxx new file mode 100644 index 000000000000..f5e18734ae0a --- /dev/null +++ b/extensions/source/bibliography/bibconfig.hxx @@ -0,0 +1,155 @@ +/************************************************************************* + * + * 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 _BIBCONFIG_HXX +#define _BIBCONFIG_HXX + +#include <unotools/configitem.hxx> +class MappingArray; + +//----------------------------------------------------------------------------- +#define COLUMN_COUNT 31 +#define IDENTIFIER_POS 0 +#define AUTHORITYTYPE_POS 1 +#define AUTHOR_POS 2 +#define TITLE_POS 3 +#define YEAR_POS 4 +#define ISBN_POS 5 +#define BOOKTITLE_POS 6 +#define CHAPTER_POS 7 +#define EDITION_POS 8 +#define EDITOR_POS 9 +#define HOWPUBLISHED_POS 10 +#define INSTITUTION_POS 11 +#define JOURNAL_POS 12 +#define MONTH_POS 13 +#define NOTE_POS 14 +#define ANNOTE_POS 15 +#define NUMBER_POS 16 +#define ORGANIZATIONS_POS 17 +#define PAGES_POS 18 +#define PUBLISHER_POS 19 +#define ADDRESS_POS 20 +#define SCHOOL_POS 21 +#define SERIES_POS 22 +#define REPORTTYPE_POS 23 +#define VOLUME_POS 24 +#define URL_POS 25 +#define CUSTOM1_POS 26 +#define CUSTOM2_POS 27 +#define CUSTOM3_POS 28 +#define CUSTOM4_POS 29 +#define CUSTOM5_POS 30 +//----------------------------------------------------------------------------- +struct StringPair +{ + rtl::OUString sRealColumnName; + rtl::OUString sLogicalColumnName; +}; +//----------------------------------------------------------------------------- +struct Mapping +{ + rtl::OUString sTableName; + rtl::OUString sURL; + sal_Int16 nCommandType; + StringPair aColumnPairs[COLUMN_COUNT]; + + Mapping() : + nCommandType(0){} +}; +//----------------------------------------------------------------------------- +struct BibDBDescriptor +{ + rtl::OUString sDataSource; + rtl::OUString sTableOrQuery; + sal_Int32 nCommandType; +}; +//----------------------------------------------------------------------------- + +class BibConfig : public utl::ConfigItem +{ + rtl::OUString sDataSource; + rtl::OUString sTableOrQuery; + sal_Int32 nTblOrQuery; + + rtl::OUString sQueryField; + rtl::OUString sQueryText; + MappingArray* pMappingsArr; + long nBeamerSize; + long nViewSize; + sal_Bool bShowColumnAssignmentWarning; + + rtl::OUString aColumnDefaults[COLUMN_COUNT]; + + com::sun::star::uno::Sequence<rtl::OUString> GetPropertyNames(); +public: + BibConfig(); + ~BibConfig(); + + virtual void Commit(); + virtual void Notify( const com::sun::star::uno::Sequence<rtl::OUString>& aPropertyNames); + + BibDBDescriptor GetBibliographyURL(); + void SetBibliographyURL(const BibDBDescriptor& rDesc); + + const Mapping* GetMapping(const BibDBDescriptor& rDesc) const; + void SetMapping(const BibDBDescriptor& rDesc, const Mapping* pMapping); + + const rtl::OUString& GetDefColumnName(sal_uInt16 nIndex) const + {return aColumnDefaults[nIndex];} + + + void setBeamerSize(long nSize) {SetModified(); nBeamerSize = nSize;} + long getBeamerSize()const {return nBeamerSize;} + void setViewSize(long nSize) {SetModified(); nViewSize = nSize;} + long getViewSize() {return nViewSize;} + + const rtl::OUString& getQueryField() const {return sQueryField;} + void setQueryField(const rtl::OUString& rSet) {SetModified(); sQueryField = rSet;} + + const rtl::OUString& getQueryText() const {return sQueryText;} + void setQueryText(const rtl::OUString& rSet) {SetModified(); sQueryText = rSet;} + + sal_Bool IsShowColumnAssignmentWarning() const + { return bShowColumnAssignmentWarning;} + void SetShowColumnAssignmentWarning(sal_Bool bSet) + { bShowColumnAssignmentWarning = bSet;} +}; +/* -----------------------------20.11.00 11:47-------------------------------- + + ---------------------------------------------------------------------------*/ +class DBChangeDialogConfig_Impl +{ + com::sun::star::uno::Sequence<rtl::OUString> aSourceNames; +public: + DBChangeDialogConfig_Impl(); + ~DBChangeDialogConfig_Impl(); + + const com::sun::star::uno::Sequence<rtl::OUString>& GetDataSourceNames(); + +}; +#endif |