summaryrefslogtreecommitdiff
path: root/sw/source/ui/inc/glosdoc.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'sw/source/ui/inc/glosdoc.hxx')
-rw-r--r--sw/source/ui/inc/glosdoc.hxx148
1 files changed, 148 insertions, 0 deletions
diff --git a/sw/source/ui/inc/glosdoc.hxx b/sw/source/ui/inc/glosdoc.hxx
new file mode 100644
index 000000000000..1436c7fe8db9
--- /dev/null
+++ b/sw/source/ui/inc/glosdoc.hxx
@@ -0,0 +1,148 @@
+/*************************************************************************
+ *
+ * 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 _GLOSDOC_HXX
+#define _GLOSDOC_HXX
+
+#include <tools/string.hxx>
+#include <svl/svarray.hxx>
+#include <com/sun/star/text/XAutoTextGroup.hpp>
+
+class SwTextBlocks;
+class SvStrings;
+class SwDocShell;
+
+#ifndef SW_DECL_SWDOCSHELL_DEFINED
+#define SW_DECL_SWDOCSHELL_DEFINED
+#include <tools/ref.hxx>
+SV_DECL_REF( SwDocShell )
+#endif
+#include <cppuhelper/weakref.hxx>
+
+#ifndef INCLUDED_VECTOR
+#include <vector>
+#define INCLUDED_VECTOR
+#endif
+#include "swdllapi.h"
+
+typedef ::com::sun::star::uno::WeakReference< ::com::sun::star::text::XAutoTextGroup > AutoTextGroupRef;
+typedef ::std::vector< AutoTextGroupRef > UnoAutoTextGroups;
+
+typedef ::com::sun::star::uno::WeakReference< ::com::sun::star::text::XAutoTextEntry > AutoTextEntryRef;
+typedef ::std::vector< AutoTextEntryRef > UnoAutoTextEntries;
+
+#define GLOS_DELIM (sal_Unicode)'*'
+
+// CLASS -----------------------------------------------------------------
+class SW_DLLPUBLIC SwGlossaries
+{
+ UnoAutoTextGroups m_aGlossaryGroups;
+ UnoAutoTextEntries m_aGlossaryEntries;
+
+ String m_aPath;
+ String m_sOldErrPath;
+ String m_sErrPath;
+ SvStrings *m_pPathArr;
+ SvStrings *m_pGlosArr;
+ BOOL m_bError;
+
+ SW_DLLPRIVATE SwTextBlocks* GetGlosDoc(const String &rName, BOOL bCreate = TRUE) const;
+ SW_DLLPRIVATE SvStrings *GetNameList();
+
+ // implementation in unoatxt.cxx
+ SW_DLLPRIVATE void RemoveFileFromList( const String& rGroup );
+ SW_DLLPRIVATE void InvalidateUNOOjects();
+
+public:
+ SwGlossaries();
+ ~SwGlossaries();
+
+ /** returns the cached AutoTextGroup (if any) for the given group name
+
+ @precond
+ If <arg>_bCreate</arg> is <TRUE/>, the SolarMutex must be locked when calling into this method.
+
+ @param _rGroupName
+ the name of the glossaries group
+ @param _bCreate
+ if <TRUE/>, the group is created if it does not yet exist
+ */
+ ::com::sun::star::uno::Reference< ::com::sun::star::text::XAutoTextGroup >
+ GetAutoTextGroup(
+ const ::rtl::OUString& _rGroupName,
+ bool _bCreate = false
+ );
+
+ /** returns the cached AutoTextEntry (if any) for the given group/with the given name
+
+ @precond
+ If <arg>_bCreate</arg> is <TRUE/>, the SolarMutex must be locked when calling into this method.
+
+ @param _rGroupAccessName
+ the name to access the group
+ @param _rGroupName
+ the name of the glossaries group, as to be passed to the entry
+ @param _rEntryName
+ the name of the auto text entry
+ @param _bCreate
+ if <TRUE/>, the entry is created if it does not yet exist
+ */
+ ::com::sun::star::uno::Reference< ::com::sun::star::text::XAutoTextEntry >
+ GetAutoTextEntry(
+ const String& _rCompleteGroupName,
+ const ::rtl::OUString& _rGroupName,
+ const ::rtl::OUString& _rEntryName,
+ bool _bCreate = false
+ );
+
+ USHORT GetGroupCnt();
+ String GetGroupName(USHORT );
+ String GetGroupTitle( const String& rGroupName );
+
+ BOOL FindGroupName(String & rGroup);
+
+ SwTextBlocks* GetGroupDoc(const String &rName,
+ BOOL bCreate = FALSE) const;
+ SwTextBlocks* GetDefGroupDoc() const {return GetGroupDoc(GetDefName());}
+ void PutGroupDoc(SwTextBlocks *pBlock);
+ static String GetDefName();
+ static String GetExtension();
+
+ String GetCompleteGroupName( const ::rtl::OUString& GroupName );
+
+ BOOL NewGroupDoc(String &rGroupName, const String& rTitle);
+ BOOL RenameGroupDoc(const String& sOldGroup, String& sNewGroup, const String& rNewTitle);
+ BOOL DelGroupDoc(const String &);
+ SwDocShellRef EditGroupDoc(const String &rGrpName, const String& rShortName, BOOL bShow = TRUE );
+ void SaveGroupDoc(const String &rGrpName, const String& rLongName );
+ void UpdateGlosPath(BOOL bFull);
+ void ShowError();
+ inline ULONG IsGlosPathErr() { return m_bError; }
+ const SvStrings* GetPathArray() const {return m_pPathArr;}
+};
+
+
+#endif // _GLOSDOC_HXX