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