diff options
Diffstat (limited to 'extensions/source/bibliography/bibmod.cxx')
-rw-r--r-- | extensions/source/bibliography/bibmod.cxx | 125 |
1 files changed, 125 insertions, 0 deletions
diff --git a/extensions/source/bibliography/bibmod.cxx b/extensions/source/bibliography/bibmod.cxx new file mode 100644 index 000000000000..573c5756132b --- /dev/null +++ b/extensions/source/bibliography/bibmod.cxx @@ -0,0 +1,125 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: bibmod.cxx,v $ + * $Revision: 1.12 $ + * + * 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. + * + ************************************************************************/ + +// MARKER(update_precomp.py): autogen include statement, do not remove +#include "precompiled_extensions.hxx" + + +#include <tools/resmgr.hxx> +#include <tools/urlobj.hxx> +#include <svtools/urihelper.hxx> +#include <com/sun/star/container/XNameAccess.hpp> +#include <com/sun/star/util/XLocalizedAliases.hpp> +#include <com/sun/star/lang/XLocalizable.hpp> +#include <tools/debug.hxx> + +#include "bibmod.hxx" +#include "bibresid.hxx" +#include "datman.hxx" +#include "bibconfig.hxx" +static PtrBibModul pBibModul=NULL; +static sal_uInt32 nBibModulCount=0; +#include <ucbhelper/content.hxx> + +using namespace ::rtl; +using namespace ::com::sun::star; +using namespace ::com::sun::star::uno; +using namespace ::com::sun::star::util; +using namespace ::com::sun::star::lang; +using namespace ::com::sun::star::ucb; + +#define C2U(cChar) OUString::createFromAscii(cChar) +#define C2S(cChar) String::CreateFromAscii(cChar) + +HdlBibModul OpenBibModul() +{ + if(pBibModul==NULL) + { + pBibModul=new BibModul(); + } + nBibModulCount++; + return &pBibModul; +} + +void CloseBibModul(HdlBibModul ppBibModul) +{ + nBibModulCount--; + if(nBibModulCount==0 && ppBibModul!=NULL) + { + delete pBibModul; + pBibModul=NULL; + } +} + +BibResId::BibResId( sal_uInt16 nId ) : + ResId( nId, *pBibModul->GetResMgr() ) +{ +} +BibConfig* BibModul::pBibConfig = 0; +BibModul::BibModul() +{ + pResMgr = ResMgr::CreateResMgr( "bib" ); +} + +BibModul::~BibModul() +{ + delete pResMgr; + delete pBibConfig; + pBibConfig = 0; +} + +BibDataManager* BibModul::createDataManager() +{ + return new BibDataManager(); +} +//----------------------------------------------------------------------------- +BibConfig* BibModul::GetConfig() +{ + if(! pBibConfig) + pBibConfig = new BibConfig; + return pBibConfig; +} + + +// PropertyNames +#define STATIC_USTRING(a,b) rtl::OUString a(b) +STATIC_USTRING(FM_PROP_LABEL,C2U("Label")); +STATIC_USTRING(FM_PROP_CONTROLSOURCE,C2U("DataField")); +STATIC_USTRING(FM_PROP_NAME,C2U("Name")); +STATIC_USTRING(FM_PROP_FORMATKEY,C2U("FormatKey")); +#ifdef TF_SDBAPI +#else // !TF_SDBAPI +STATIC_USTRING(FM_PROP_EDITMODE,C2U("RecordMode")); +STATIC_USTRING(FM_PROP_CURSORSOURCETYPE,C2U("DataSelectionType")); +STATIC_USTRING(FM_PROP_CURSORSOURCE,C2U("DataSelection")); +STATIC_USTRING(FM_PROP_DATASOURCE, C2U("DataSource")); +#endif // !TF_SDBAPI +STATIC_USTRING(FM_PROP_VALUE,C2U("Value")); +STATIC_USTRING(FM_PROP_TEXT,C2U("Text")); |