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