1*cdf0e10cSrcweir /************************************************************************* 2*cdf0e10cSrcweir * 3*cdf0e10cSrcweir * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4*cdf0e10cSrcweir * 5*cdf0e10cSrcweir * Copyright 2000, 2010 Oracle and/or its affiliates. 6*cdf0e10cSrcweir * 7*cdf0e10cSrcweir * OpenOffice.org - a multi-platform office productivity suite 8*cdf0e10cSrcweir * 9*cdf0e10cSrcweir * This file is part of OpenOffice.org. 10*cdf0e10cSrcweir * 11*cdf0e10cSrcweir * OpenOffice.org is free software: you can redistribute it and/or modify 12*cdf0e10cSrcweir * it under the terms of the GNU Lesser General Public License version 3 13*cdf0e10cSrcweir * only, as published by the Free Software Foundation. 14*cdf0e10cSrcweir * 15*cdf0e10cSrcweir * OpenOffice.org is distributed in the hope that it will be useful, 16*cdf0e10cSrcweir * but WITHOUT ANY WARRANTY; without even the implied warranty of 17*cdf0e10cSrcweir * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18*cdf0e10cSrcweir * GNU Lesser General Public License version 3 for more details 19*cdf0e10cSrcweir * (a copy is included in the LICENSE file that accompanied this code). 20*cdf0e10cSrcweir * 21*cdf0e10cSrcweir * You should have received a copy of the GNU Lesser General Public License 22*cdf0e10cSrcweir * version 3 along with OpenOffice.org. If not, see 23*cdf0e10cSrcweir * <http://www.openoffice.org/license.html> 24*cdf0e10cSrcweir * for a copy of the LGPLv3 License. 25*cdf0e10cSrcweir * 26*cdf0e10cSrcweir ************************************************************************/ 27*cdf0e10cSrcweir 28*cdf0e10cSrcweir #ifndef _BIBCONFIG_HXX 29*cdf0e10cSrcweir #define _BIBCONFIG_HXX 30*cdf0e10cSrcweir 31*cdf0e10cSrcweir #include <unotools/configitem.hxx> 32*cdf0e10cSrcweir class MappingArray; 33*cdf0e10cSrcweir 34*cdf0e10cSrcweir //----------------------------------------------------------------------------- 35*cdf0e10cSrcweir #define COLUMN_COUNT 31 36*cdf0e10cSrcweir #define IDENTIFIER_POS 0 37*cdf0e10cSrcweir #define AUTHORITYTYPE_POS 1 38*cdf0e10cSrcweir #define AUTHOR_POS 2 39*cdf0e10cSrcweir #define TITLE_POS 3 40*cdf0e10cSrcweir #define YEAR_POS 4 41*cdf0e10cSrcweir #define ISBN_POS 5 42*cdf0e10cSrcweir #define BOOKTITLE_POS 6 43*cdf0e10cSrcweir #define CHAPTER_POS 7 44*cdf0e10cSrcweir #define EDITION_POS 8 45*cdf0e10cSrcweir #define EDITOR_POS 9 46*cdf0e10cSrcweir #define HOWPUBLISHED_POS 10 47*cdf0e10cSrcweir #define INSTITUTION_POS 11 48*cdf0e10cSrcweir #define JOURNAL_POS 12 49*cdf0e10cSrcweir #define MONTH_POS 13 50*cdf0e10cSrcweir #define NOTE_POS 14 51*cdf0e10cSrcweir #define ANNOTE_POS 15 52*cdf0e10cSrcweir #define NUMBER_POS 16 53*cdf0e10cSrcweir #define ORGANIZATIONS_POS 17 54*cdf0e10cSrcweir #define PAGES_POS 18 55*cdf0e10cSrcweir #define PUBLISHER_POS 19 56*cdf0e10cSrcweir #define ADDRESS_POS 20 57*cdf0e10cSrcweir #define SCHOOL_POS 21 58*cdf0e10cSrcweir #define SERIES_POS 22 59*cdf0e10cSrcweir #define REPORTTYPE_POS 23 60*cdf0e10cSrcweir #define VOLUME_POS 24 61*cdf0e10cSrcweir #define URL_POS 25 62*cdf0e10cSrcweir #define CUSTOM1_POS 26 63*cdf0e10cSrcweir #define CUSTOM2_POS 27 64*cdf0e10cSrcweir #define CUSTOM3_POS 28 65*cdf0e10cSrcweir #define CUSTOM4_POS 29 66*cdf0e10cSrcweir #define CUSTOM5_POS 30 67*cdf0e10cSrcweir //----------------------------------------------------------------------------- 68*cdf0e10cSrcweir struct StringPair 69*cdf0e10cSrcweir { 70*cdf0e10cSrcweir rtl::OUString sRealColumnName; 71*cdf0e10cSrcweir rtl::OUString sLogicalColumnName; 72*cdf0e10cSrcweir }; 73*cdf0e10cSrcweir //----------------------------------------------------------------------------- 74*cdf0e10cSrcweir struct Mapping 75*cdf0e10cSrcweir { 76*cdf0e10cSrcweir rtl::OUString sTableName; 77*cdf0e10cSrcweir rtl::OUString sURL; 78*cdf0e10cSrcweir sal_Int16 nCommandType; 79*cdf0e10cSrcweir StringPair aColumnPairs[COLUMN_COUNT]; 80*cdf0e10cSrcweir 81*cdf0e10cSrcweir Mapping() : 82*cdf0e10cSrcweir nCommandType(0){} 83*cdf0e10cSrcweir }; 84*cdf0e10cSrcweir //----------------------------------------------------------------------------- 85*cdf0e10cSrcweir struct BibDBDescriptor 86*cdf0e10cSrcweir { 87*cdf0e10cSrcweir rtl::OUString sDataSource; 88*cdf0e10cSrcweir rtl::OUString sTableOrQuery; 89*cdf0e10cSrcweir sal_Int32 nCommandType; 90*cdf0e10cSrcweir }; 91*cdf0e10cSrcweir //----------------------------------------------------------------------------- 92*cdf0e10cSrcweir 93*cdf0e10cSrcweir class BibConfig : public utl::ConfigItem 94*cdf0e10cSrcweir { 95*cdf0e10cSrcweir rtl::OUString sDataSource; 96*cdf0e10cSrcweir rtl::OUString sTableOrQuery; 97*cdf0e10cSrcweir sal_Int32 nTblOrQuery; 98*cdf0e10cSrcweir 99*cdf0e10cSrcweir rtl::OUString sQueryField; 100*cdf0e10cSrcweir rtl::OUString sQueryText; 101*cdf0e10cSrcweir MappingArray* pMappingsArr; 102*cdf0e10cSrcweir long nBeamerSize; 103*cdf0e10cSrcweir long nViewSize; 104*cdf0e10cSrcweir sal_Bool bShowColumnAssignmentWarning; 105*cdf0e10cSrcweir 106*cdf0e10cSrcweir rtl::OUString aColumnDefaults[COLUMN_COUNT]; 107*cdf0e10cSrcweir 108*cdf0e10cSrcweir com::sun::star::uno::Sequence<rtl::OUString> GetPropertyNames(); 109*cdf0e10cSrcweir public: 110*cdf0e10cSrcweir BibConfig(); 111*cdf0e10cSrcweir ~BibConfig(); 112*cdf0e10cSrcweir 113*cdf0e10cSrcweir virtual void Commit(); 114*cdf0e10cSrcweir virtual void Notify( const com::sun::star::uno::Sequence<rtl::OUString>& aPropertyNames); 115*cdf0e10cSrcweir 116*cdf0e10cSrcweir BibDBDescriptor GetBibliographyURL(); 117*cdf0e10cSrcweir void SetBibliographyURL(const BibDBDescriptor& rDesc); 118*cdf0e10cSrcweir 119*cdf0e10cSrcweir const Mapping* GetMapping(const BibDBDescriptor& rDesc) const; 120*cdf0e10cSrcweir void SetMapping(const BibDBDescriptor& rDesc, const Mapping* pMapping); 121*cdf0e10cSrcweir 122*cdf0e10cSrcweir const rtl::OUString& GetDefColumnName(sal_uInt16 nIndex) const 123*cdf0e10cSrcweir {return aColumnDefaults[nIndex];} 124*cdf0e10cSrcweir 125*cdf0e10cSrcweir 126*cdf0e10cSrcweir void setBeamerSize(long nSize) {SetModified(); nBeamerSize = nSize;} 127*cdf0e10cSrcweir long getBeamerSize()const {return nBeamerSize;} 128*cdf0e10cSrcweir void setViewSize(long nSize) {SetModified(); nViewSize = nSize;} 129*cdf0e10cSrcweir long getViewSize() {return nViewSize;} 130*cdf0e10cSrcweir 131*cdf0e10cSrcweir const rtl::OUString& getQueryField() const {return sQueryField;} 132*cdf0e10cSrcweir void setQueryField(const rtl::OUString& rSet) {SetModified(); sQueryField = rSet;} 133*cdf0e10cSrcweir 134*cdf0e10cSrcweir const rtl::OUString& getQueryText() const {return sQueryText;} 135*cdf0e10cSrcweir void setQueryText(const rtl::OUString& rSet) {SetModified(); sQueryText = rSet;} 136*cdf0e10cSrcweir 137*cdf0e10cSrcweir sal_Bool IsShowColumnAssignmentWarning() const 138*cdf0e10cSrcweir { return bShowColumnAssignmentWarning;} 139*cdf0e10cSrcweir void SetShowColumnAssignmentWarning(sal_Bool bSet) 140*cdf0e10cSrcweir { bShowColumnAssignmentWarning = bSet;} 141*cdf0e10cSrcweir }; 142*cdf0e10cSrcweir /* -----------------------------20.11.00 11:47-------------------------------- 143*cdf0e10cSrcweir 144*cdf0e10cSrcweir ---------------------------------------------------------------------------*/ 145*cdf0e10cSrcweir class DBChangeDialogConfig_Impl 146*cdf0e10cSrcweir { 147*cdf0e10cSrcweir com::sun::star::uno::Sequence<rtl::OUString> aSourceNames; 148*cdf0e10cSrcweir public: 149*cdf0e10cSrcweir DBChangeDialogConfig_Impl(); 150*cdf0e10cSrcweir ~DBChangeDialogConfig_Impl(); 151*cdf0e10cSrcweir 152*cdf0e10cSrcweir const com::sun::star::uno::Sequence<rtl::OUString>& GetDataSourceNames(); 153*cdf0e10cSrcweir 154*cdf0e10cSrcweir }; 155*cdf0e10cSrcweir #endif 156