update dev300-m58
[ooovba.git] / sw / source / ui / inc / gloslst.hxx
blob729a0def1073b537b01eb4feead2b7aae89ed420
1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: gloslst.hxx,v $
10 * $Revision: 1.4 $
12 * This file is part of OpenOffice.org.
14 * OpenOffice.org is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU Lesser General Public License version 3
16 * only, as published by the Free Software Foundation.
18 * OpenOffice.org is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Lesser General Public License version 3 for more details
22 * (a copy is included in the LICENSE file that accompanied this code).
24 * You should have received a copy of the GNU Lesser General Public License
25 * version 3 along with OpenOffice.org. If not, see
26 * <http://www.openoffice.org/license.html>
27 * for a copy of the LGPLv3 License.
29 ************************************************************************/
31 #ifndef _GLOSLST_HXX
32 #define _GLOSLST_HXX
35 #include <tools/datetime.hxx>
36 #include <tools/string.hxx>
37 #include <vcl/timer.hxx>
38 #include <svtools/svarray.hxx>
40 class SwGlossaries;
41 class SvStringsISortDtor;
43 struct AutoTextGroup
45 USHORT nCount;
46 String sName;
47 String sTitle;
48 String sLongNames; // durch 0x0A getrennte Langnamen
49 String sShortNames; // durch 0x0A getrennte Kurznamen
50 DateTime aDateModified;
54 typedef AutoTextGroup* AutoTextGroupPtr;
55 SV_DECL_PTRARR(AutoTextGroups, AutoTextGroupPtr, 4, 4)
57 class SwGlossaryList : public AutoTimer
59 AutoTextGroups aGroupArr;
60 String sPath;
61 BOOL bFilled;
63 AutoTextGroup* FindGroup(const String& rGroupName);
64 void FillGroup(AutoTextGroup* pGroup, SwGlossaries* pGloss);
66 public:
67 SwGlossaryList();
68 ~SwGlossaryList();
70 BOOL HasLongName(const String& rBegin, SvStringsISortDtor* pLongNames );
71 BOOL GetShortName(const String& rLongName,
72 String& rShortName, String& rGroupName );
74 USHORT GetGroupCount();
75 String GetGroupName(USHORT nPos, BOOL bNoPath = TRUE, String* pTitle = 0);
76 USHORT GetBlockCount(USHORT nGroup);
77 String GetBlockName(USHORT nGroup, USHORT nBlock, String& rShortName);
79 void Update();
81 virtual void Timeout();
83 void ClearGroups();
86 #endif