1*1d2dbeb0SAndrew Rist /**************************************************************
2cdf0e10cSrcweir *
3*1d2dbeb0SAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one
4*1d2dbeb0SAndrew Rist * or more contributor license agreements. See the NOTICE file
5*1d2dbeb0SAndrew Rist * distributed with this work for additional information
6*1d2dbeb0SAndrew Rist * regarding copyright ownership. The ASF licenses this file
7*1d2dbeb0SAndrew Rist * to you under the Apache License, Version 2.0 (the
8*1d2dbeb0SAndrew Rist * "License"); you may not use this file except in compliance
9*1d2dbeb0SAndrew Rist * with the License. You may obtain a copy of the License at
10*1d2dbeb0SAndrew Rist *
11*1d2dbeb0SAndrew Rist * http://www.apache.org/licenses/LICENSE-2.0
12*1d2dbeb0SAndrew Rist *
13*1d2dbeb0SAndrew Rist * Unless required by applicable law or agreed to in writing,
14*1d2dbeb0SAndrew Rist * software distributed under the License is distributed on an
15*1d2dbeb0SAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*1d2dbeb0SAndrew Rist * KIND, either express or implied. See the License for the
17*1d2dbeb0SAndrew Rist * specific language governing permissions and limitations
18*1d2dbeb0SAndrew Rist * under the License.
19*1d2dbeb0SAndrew Rist *
20*1d2dbeb0SAndrew Rist *************************************************************/
21*1d2dbeb0SAndrew Rist
22*1d2dbeb0SAndrew Rist
23cdf0e10cSrcweir #ifndef _GLOSSARY_HXX
24cdf0e10cSrcweir #define _GLOSSARY_HXX
25cdf0e10cSrcweir
26cdf0e10cSrcweir #ifndef _EDIT_HXX //autogen
27cdf0e10cSrcweir #include <vcl/edit.hxx>
28cdf0e10cSrcweir #endif
29cdf0e10cSrcweir #include <svtools/svtreebx.hxx>
30cdf0e10cSrcweir #include <svx/stddlg.hxx>
31cdf0e10cSrcweir
32cdf0e10cSrcweir #ifndef _BUTTON_HXX //autogen
33cdf0e10cSrcweir #include <vcl/button.hxx>
34cdf0e10cSrcweir #endif
35cdf0e10cSrcweir #include <vcl/fixed.hxx>
36cdf0e10cSrcweir
37cdf0e10cSrcweir #ifndef _BUTTON_HXX //autogen
38cdf0e10cSrcweir #include <vcl/button.hxx>
39cdf0e10cSrcweir #endif
40cdf0e10cSrcweir
41cdf0e10cSrcweir #ifndef _FIXED_HXX //autogen
42cdf0e10cSrcweir #include <vcl/fixed.hxx>
43cdf0e10cSrcweir #endif
44cdf0e10cSrcweir
45cdf0e10cSrcweir #ifndef _COMBOBOX_HXX //autogen
46cdf0e10cSrcweir #include <vcl/combobox.hxx>
47cdf0e10cSrcweir #endif
48cdf0e10cSrcweir
49cdf0e10cSrcweir #ifndef _MENUBTN_HXX //autogen
50cdf0e10cSrcweir #include <vcl/menubtn.hxx>
51cdf0e10cSrcweir #endif
52cdf0e10cSrcweir #include <com/sun/star/container/XEnumerationAccess.hpp>
53cdf0e10cSrcweir #include <com/sun/star/container/XHierarchicalNameAccess.hpp>
54cdf0e10cSrcweir #include <com/sun/star/container/XNameAccess.hpp>
55cdf0e10cSrcweir #include <com/sun/star/container/XContentEnumerationAccess.hpp>
56cdf0e10cSrcweir #include <com/sun/star/container/XEnumeration.hpp>
57cdf0e10cSrcweir #include <com/sun/star/container/XElementAccess.hpp>
58cdf0e10cSrcweir #include <com/sun/star/container/XIndexAccess.hpp>
59cdf0e10cSrcweir
60cdf0e10cSrcweir #include <actctrl.hxx>
61cdf0e10cSrcweir
62cdf0e10cSrcweir class SwGlossaryHdl;
63cdf0e10cSrcweir class SwNewGlosNameDlg;
64cdf0e10cSrcweir class SwWrtShell;
65cdf0e10cSrcweir class SfxViewFrame;
66cdf0e10cSrcweir class PopupMenu;
67cdf0e10cSrcweir class Menu;
68cdf0e10cSrcweir
69cdf0e10cSrcweir const short RET_EDIT = 100;
70cdf0e10cSrcweir
71cdf0e10cSrcweir //------------------------------------------------------------------
72cdf0e10cSrcweir
73cdf0e10cSrcweir class SwGlTreeListBox : public SvTreeListBox
74cdf0e10cSrcweir {
75cdf0e10cSrcweir const String sReadonly;
76cdf0e10cSrcweir
77cdf0e10cSrcweir SvLBoxEntry* pDragEntry;
78cdf0e10cSrcweir
79cdf0e10cSrcweir virtual DragDropMode NotifyStartDrag( TransferDataContainer& rContainer,
80cdf0e10cSrcweir SvLBoxEntry* );
81cdf0e10cSrcweir virtual sal_Bool NotifyAcceptDrop( SvLBoxEntry* );
82cdf0e10cSrcweir
83cdf0e10cSrcweir virtual sal_Bool NotifyMoving( SvLBoxEntry* pTarget,
84cdf0e10cSrcweir SvLBoxEntry* pEntry,
85cdf0e10cSrcweir SvLBoxEntry*& rpNewParent,
86cdf0e10cSrcweir sal_uLong& rNewChildPos
87cdf0e10cSrcweir );
88cdf0e10cSrcweir virtual sal_Bool NotifyCopying( SvLBoxEntry* pTarget,
89cdf0e10cSrcweir SvLBoxEntry* pEntry,
90cdf0e10cSrcweir SvLBoxEntry*& rpNewParent,
91cdf0e10cSrcweir sal_uLong& rNewChildPos);
92cdf0e10cSrcweir public:
93cdf0e10cSrcweir SwGlTreeListBox(Window* pParent, const ResId& rResId);
94cdf0e10cSrcweir
95cdf0e10cSrcweir virtual void RequestHelp( const HelpEvent& rHEvt );
96cdf0e10cSrcweir void Clear();
97cdf0e10cSrcweir };
98cdf0e10cSrcweir
99cdf0e10cSrcweir //------------------------------------------------------------------
100cdf0e10cSrcweir class SwOneExampleFrame;
101cdf0e10cSrcweir class SwGlossaryDlg : public SvxStandardDialog
102cdf0e10cSrcweir {
103cdf0e10cSrcweir friend class SwNewGlosNameDlg;
104cdf0e10cSrcweir friend class SwGlTreeListBox;
105cdf0e10cSrcweir
106cdf0e10cSrcweir CheckBox aInsertTipCB;
107cdf0e10cSrcweir FixedText aNameLbl;
108cdf0e10cSrcweir Edit aNameED;
109cdf0e10cSrcweir FixedText aShortNameLbl;
110cdf0e10cSrcweir NoSpaceEdit aShortNameEdit;
111cdf0e10cSrcweir SwGlTreeListBox aCategoryBox;
112cdf0e10cSrcweir FixedLine aRelativeFL;
113cdf0e10cSrcweir CheckBox aFileRelCB;
114cdf0e10cSrcweir CheckBox aNetRelCB;
115cdf0e10cSrcweir Window aExampleWIN;
116cdf0e10cSrcweir Window aExampleDummyWIN;
117cdf0e10cSrcweir CheckBox aShowExampleCB;
118cdf0e10cSrcweir OKButton aInsertBtn;
119cdf0e10cSrcweir CancelButton aCloseBtn;
120cdf0e10cSrcweir HelpButton aHelpBtn;
121cdf0e10cSrcweir MenuButton aEditBtn;
122cdf0e10cSrcweir PushButton aBibBtn;
123cdf0e10cSrcweir PushButton aPathBtn;
124cdf0e10cSrcweir
125cdf0e10cSrcweir String sReadonlyPath;
126cdf0e10cSrcweir
127cdf0e10cSrcweir ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess > _xAutoText;
128cdf0e10cSrcweir SwOneExampleFrame* pExampleFrame;
129cdf0e10cSrcweir
130cdf0e10cSrcweir PopupMenu* pMenu;
131cdf0e10cSrcweir SwGlossaryHdl* pGlossaryHdl;
132cdf0e10cSrcweir
133cdf0e10cSrcweir String sResumeGroup;
134cdf0e10cSrcweir String sResumeShortName;
135cdf0e10cSrcweir sal_Bool bResume;
136cdf0e10cSrcweir
137cdf0e10cSrcweir
138cdf0e10cSrcweir const sal_Bool bSelection : 1;
139cdf0e10cSrcweir sal_Bool bReadOnly : 1;
140cdf0e10cSrcweir sal_Bool bIsOld : 1;
141cdf0e10cSrcweir sal_Bool bIsDocReadOnly:1;
142cdf0e10cSrcweir
143cdf0e10cSrcweir SwWrtShell* pSh;
144cdf0e10cSrcweir
145cdf0e10cSrcweir void EnableShortName(sal_Bool bOn = sal_True);
146cdf0e10cSrcweir
147cdf0e10cSrcweir DECL_LINK( NameModify, Edit * );
148cdf0e10cSrcweir DECL_LINK( NameDoubleClick, SvTreeListBox * );
149cdf0e10cSrcweir DECL_LINK( GrpSelect, SvTreeListBox * );
150cdf0e10cSrcweir DECL_LINK( MenuHdl, Menu * );
151cdf0e10cSrcweir DECL_LINK( EnableHdl, Menu * );
152cdf0e10cSrcweir DECL_LINK( BibHdl, Button * );
153cdf0e10cSrcweir DECL_LINK( EditHdl, Button * );
154cdf0e10cSrcweir DECL_LINK( PathHdl, Button * );
155cdf0e10cSrcweir DECL_LINK( CheckBoxHdl, CheckBox * );
156cdf0e10cSrcweir DECL_LINK( ShowPreviewHdl, CheckBox * );
157cdf0e10cSrcweir DECL_LINK( PreviewLoadedHdl, void * );
158cdf0e10cSrcweir
159cdf0e10cSrcweir
160cdf0e10cSrcweir virtual void Apply();
161cdf0e10cSrcweir void Init();
162cdf0e10cSrcweir SvLBoxEntry* DoesBlockExist(const String& sBlock, const String& rShort);
163cdf0e10cSrcweir void ShowAutoText(const String& rGroup, const String& rShortName);
164cdf0e10cSrcweir void ResumeShowAutoText();
165cdf0e10cSrcweir
GetResumeData(String & rGroup,String & rShortName)166cdf0e10cSrcweir sal_Bool GetResumeData(String& rGroup, String& rShortName)
167cdf0e10cSrcweir {rGroup = sResumeGroup; rShortName = sResumeShortName; return bResume;}
SetResumeData(const String & rGroup,const String & rShortName)168cdf0e10cSrcweir void SetResumeData(const String& rGroup, const String& rShortName)
169cdf0e10cSrcweir {sResumeGroup = rGroup; sResumeShortName = rShortName; bResume = sal_True;}
ResetResumeData()170cdf0e10cSrcweir void ResetResumeData() {bResume = sal_False;}
171cdf0e10cSrcweir public:
172cdf0e10cSrcweir SwGlossaryDlg(SfxViewFrame* pViewFrame, SwGlossaryHdl* pGlosHdl, SwWrtShell *pWrtShell);
173cdf0e10cSrcweir ~SwGlossaryDlg();
174cdf0e10cSrcweir String GetCurrGrpName() const;
175cdf0e10cSrcweir inline String GetCurrLongName() const;
176cdf0e10cSrcweir inline String GetCurrShortName() const;
177cdf0e10cSrcweir static String GetCurrGroup();
178cdf0e10cSrcweir static void SetActGroup(const String& rNewGroup);
179cdf0e10cSrcweir static String GetExtension();
180cdf0e10cSrcweir };
181cdf0e10cSrcweir
GetCurrLongName() const182cdf0e10cSrcweir inline String SwGlossaryDlg::GetCurrLongName() const
183cdf0e10cSrcweir {
184cdf0e10cSrcweir return aNameED.GetText();
185cdf0e10cSrcweir }
GetCurrShortName() const186cdf0e10cSrcweir inline String SwGlossaryDlg::GetCurrShortName() const
187cdf0e10cSrcweir {
188cdf0e10cSrcweir return aShortNameEdit.GetText();
189cdf0e10cSrcweir }
190cdf0e10cSrcweir
191cdf0e10cSrcweir
192cdf0e10cSrcweir #endif
193cdf0e10cSrcweir
194