xref: /trunk/main/cui/source/inc/autocdlg.hxx (revision 914d351e5f5b84e4342a86d6ab8d4aca7308b9bd)
1*c4eee24dSAndrew Rist /**************************************************************
2cdf0e10cSrcweir  *
3*c4eee24dSAndrew Rist  * Licensed to the Apache Software Foundation (ASF) under one
4*c4eee24dSAndrew Rist  * or more contributor license agreements.  See the NOTICE file
5*c4eee24dSAndrew Rist  * distributed with this work for additional information
6*c4eee24dSAndrew Rist  * regarding copyright ownership.  The ASF licenses this file
7*c4eee24dSAndrew Rist  * to you under the Apache License, Version 2.0 (the
8*c4eee24dSAndrew Rist  * "License"); you may not use this file except in compliance
9*c4eee24dSAndrew Rist  * with the License.  You may obtain a copy of the License at
10cdf0e10cSrcweir  *
11*c4eee24dSAndrew Rist  *   http://www.apache.org/licenses/LICENSE-2.0
12cdf0e10cSrcweir  *
13*c4eee24dSAndrew Rist  * Unless required by applicable law or agreed to in writing,
14*c4eee24dSAndrew Rist  * software distributed under the License is distributed on an
15*c4eee24dSAndrew Rist  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*c4eee24dSAndrew Rist  * KIND, either express or implied.  See the License for the
17*c4eee24dSAndrew Rist  * specific language governing permissions and limitations
18*c4eee24dSAndrew Rist  * under the License.
19cdf0e10cSrcweir  *
20*c4eee24dSAndrew Rist  *************************************************************/
21*c4eee24dSAndrew Rist 
22*c4eee24dSAndrew Rist 
23cdf0e10cSrcweir #ifndef _OFA_AUTOCDLG_HXX
24cdf0e10cSrcweir #define _OFA_AUTOCDLG_HXX
25cdf0e10cSrcweir 
26cdf0e10cSrcweir #include <svtools/langtab.hxx>
27cdf0e10cSrcweir #include <sfx2/tabdlg.hxx>
28cdf0e10cSrcweir #include <tools/table.hxx>
29cdf0e10cSrcweir #include <svx/checklbx.hxx>
30cdf0e10cSrcweir #include <vcl/fixed.hxx>
31cdf0e10cSrcweir #include <vcl/field.hxx>
32cdf0e10cSrcweir #include <vcl/metric.hxx>
33cdf0e10cSrcweir #include <svx/langbox.hxx>
34cdf0e10cSrcweir 
35cdf0e10cSrcweir class SvxAutoCorrect;
36cdf0e10cSrcweir class CharClass;
37cdf0e10cSrcweir class CollatorWrapper;
38cdf0e10cSrcweir class SmartTagMgr;
39cdf0e10cSrcweir 
40cdf0e10cSrcweir // class OfaAutoCorrDlg --------------------------------------------------
41cdf0e10cSrcweir 
42cdf0e10cSrcweir class OfaAutoCorrDlg : public SfxTabDialog
43cdf0e10cSrcweir {
44cdf0e10cSrcweir     FixedText       aLanguageFT;
45cdf0e10cSrcweir     SvxLanguageBox  aLanguageLB;
46cdf0e10cSrcweir 
47cdf0e10cSrcweir     DECL_LINK(SelectLanguageHdl, ListBox*);
48cdf0e10cSrcweir public:
49cdf0e10cSrcweir 
50cdf0e10cSrcweir     OfaAutoCorrDlg(Window* pParent, const SfxItemSet *pSet );
51cdf0e10cSrcweir 
EnableLanguage(sal_Bool bEnable)52cdf0e10cSrcweir     void    EnableLanguage(sal_Bool bEnable)
53cdf0e10cSrcweir             {   aLanguageFT.Enable(bEnable);
54cdf0e10cSrcweir                 aLanguageLB.Enable(bEnable);}
55cdf0e10cSrcweir 
56cdf0e10cSrcweir };
57cdf0e10cSrcweir 
58cdf0e10cSrcweir #ifdef _OFA_AUTOCDLG_CXX
59cdf0e10cSrcweir #include <vcl/group.hxx>
60cdf0e10cSrcweir #ifndef _SV_BUTTON_HXX
61cdf0e10cSrcweir #include <vcl/button.hxx>
62cdf0e10cSrcweir #endif
63cdf0e10cSrcweir #include <vcl/lstbox.hxx>
64cdf0e10cSrcweir #include <svtools/svtabbx.hxx>
65cdf0e10cSrcweir #include <svx/simptabl.hxx>
66cdf0e10cSrcweir 
67cdf0e10cSrcweir class SvStringsISortDtor;
68cdf0e10cSrcweir 
69cdf0e10cSrcweir // class OfaACorrCheckListBox ------------------------------------------
70cdf0e10cSrcweir 
71cdf0e10cSrcweir class OfaACorrCheckListBox : public SvxSimpleTable
72cdf0e10cSrcweir {
73cdf0e10cSrcweir     using SvxSimpleTable::SetTabs;
74cdf0e10cSrcweir     using SvTreeListBox::GetCheckButtonState;
75cdf0e10cSrcweir     using SvTreeListBox::SetCheckButtonState;
76cdf0e10cSrcweir 
77cdf0e10cSrcweir     protected:
78cdf0e10cSrcweir         virtual void    SetTabs();
79cdf0e10cSrcweir         virtual void    HBarClick();
80cdf0e10cSrcweir         virtual void    KeyInput( const KeyEvent& rKEvt );
81cdf0e10cSrcweir 
82cdf0e10cSrcweir     public:
OfaACorrCheckListBox(Window * pParent,const ResId & rResId)83cdf0e10cSrcweir         OfaACorrCheckListBox(Window* pParent, const ResId& rResId ) :
84cdf0e10cSrcweir             SvxSimpleTable( pParent, rResId ){}
85cdf0e10cSrcweir 
GetUserData(sal_uLong nPos)86cdf0e10cSrcweir         inline void *GetUserData(sal_uLong nPos) { return GetEntry(nPos)->GetUserData(); }
SetUserData(sal_uLong nPos,void * pData)87cdf0e10cSrcweir         inline void SetUserData(sal_uLong nPos, void *pData ) { GetEntry(nPos)->SetUserData(pData); }
GetSelectEntryPos()88cdf0e10cSrcweir         inline sal_uLong GetSelectEntryPos() { return GetModel()->GetAbsPos(FirstSelected()); }
89cdf0e10cSrcweir 
90cdf0e10cSrcweir         sal_Bool            IsChecked(sal_uLong nPos, sal_uInt16 nCol = 0);
91cdf0e10cSrcweir         void            CheckEntryPos(sal_uLong nPos, sal_uInt16 nCol, sal_Bool bChecked);
92cdf0e10cSrcweir         SvButtonState   GetCheckButtonState( SvLBoxEntry*, sal_uInt16 nCol ) const;
93cdf0e10cSrcweir         void            SetCheckButtonState( SvLBoxEntry*, sal_uInt16 nCol, SvButtonState );
94cdf0e10cSrcweir };
95cdf0e10cSrcweir 
96cdf0e10cSrcweir // class OfaAutocorrOptionsPage ------------------------------------------
97cdf0e10cSrcweir 
98cdf0e10cSrcweir 
99cdf0e10cSrcweir class OfaAutocorrOptionsPage : public SfxTabPage
100cdf0e10cSrcweir {
101cdf0e10cSrcweir     using TabPage::ActivatePage;
102cdf0e10cSrcweir 
103cdf0e10cSrcweir private:
104cdf0e10cSrcweir     SvxCheckListBox aCheckLB;
105cdf0e10cSrcweir 
106cdf0e10cSrcweir     String      sInput;
107cdf0e10cSrcweir     String      sDoubleCaps;
108cdf0e10cSrcweir     String      sStartCap;
109cdf0e10cSrcweir     String      sBoldUnderline;
110cdf0e10cSrcweir     String      sURL;
111cdf0e10cSrcweir     String      sNoDblSpaces;
112cdf0e10cSrcweir     String      sDash;
113cdf0e10cSrcweir     String      sNonBrkSpace;
114cdf0e10cSrcweir     String      sFirst;
115cdf0e10cSrcweir 
116cdf0e10cSrcweir public:
117cdf0e10cSrcweir                         OfaAutocorrOptionsPage( Window* pParent, const SfxItemSet& rSet );
118cdf0e10cSrcweir                         ~OfaAutocorrOptionsPage();
119cdf0e10cSrcweir 
120cdf0e10cSrcweir     static SfxTabPage*  Create( Window* pParent,
121cdf0e10cSrcweir                                 const SfxItemSet& rAttrSet);
122cdf0e10cSrcweir 
123cdf0e10cSrcweir     virtual sal_Bool        FillItemSet( SfxItemSet& rSet );
124cdf0e10cSrcweir     virtual void        Reset( const SfxItemSet& rSet );
125cdf0e10cSrcweir     virtual void        ActivatePage( const SfxItemSet& );
126cdf0e10cSrcweir 
127cdf0e10cSrcweir };
128cdf0e10cSrcweir 
129cdf0e10cSrcweir // class OfaSwAutoFmtOptionsPage ----------------------------------------------------
130cdf0e10cSrcweir 
131cdf0e10cSrcweir class OfaSwAutoFmtOptionsPage : public SfxTabPage
132cdf0e10cSrcweir {
133cdf0e10cSrcweir     using TabPage::ActivatePage;
134cdf0e10cSrcweir 
135cdf0e10cSrcweir     OfaACorrCheckListBox    aCheckLB;
136cdf0e10cSrcweir     PushButton      aEditPB;
137cdf0e10cSrcweir     FixedText       aHeader1Expl;
138cdf0e10cSrcweir     FixedText       aHeader2Expl;
139cdf0e10cSrcweir 
140cdf0e10cSrcweir     String          sHeader1;
141cdf0e10cSrcweir     String          sHeader2;
142cdf0e10cSrcweir 
143cdf0e10cSrcweir     String          sDeleteEmptyPara;
144cdf0e10cSrcweir     String          sUseReplaceTbl;
145cdf0e10cSrcweir     String          sCptlSttWord;
146cdf0e10cSrcweir     String          sCptlSttSent;
147cdf0e10cSrcweir     String          sUserStyle;
148cdf0e10cSrcweir     String          sBullet;
149cdf0e10cSrcweir     String          sByInputBullet;
150cdf0e10cSrcweir     String          sBoldUnder;
151cdf0e10cSrcweir     String          sNoDblSpaces;
152cdf0e10cSrcweir     String          sDetectURL;
153cdf0e10cSrcweir     String          sDash;
154cdf0e10cSrcweir     String          sNonBrkSpace;
155cdf0e10cSrcweir     String          sOrdinal;
156cdf0e10cSrcweir     String          sRightMargin;
157cdf0e10cSrcweir     String          sNum;
158cdf0e10cSrcweir     String          sBorder;
159cdf0e10cSrcweir     String          sTable;
160cdf0e10cSrcweir     String          sReplaceTemplates;
161cdf0e10cSrcweir     String          sDelSpaceAtSttEnd;
162cdf0e10cSrcweir     String          sDelSpaceBetweenLines;
163cdf0e10cSrcweir 
164cdf0e10cSrcweir     String          sMargin;
165cdf0e10cSrcweir     String          sBulletChar;
166cdf0e10cSrcweir     String          sByInputBulletChar;
167cdf0e10cSrcweir 
168cdf0e10cSrcweir     Font            aBulletFont;
169cdf0e10cSrcweir     Font            aByInputBulletFont;
170cdf0e10cSrcweir     sal_uInt16          nPercent;
171cdf0e10cSrcweir 
172cdf0e10cSrcweir     SvLBoxButtonData*   pCheckButtonData;
173cdf0e10cSrcweir 
174cdf0e10cSrcweir         DECL_LINK(SelectHdl, OfaACorrCheckListBox*);
175cdf0e10cSrcweir         DECL_LINK(EditHdl, PushButton*);
176cdf0e10cSrcweir         SvLBoxEntry* CreateEntry(String& rTxt, sal_uInt16 nCol);
177cdf0e10cSrcweir 
178cdf0e10cSrcweir 
179cdf0e10cSrcweir         OfaSwAutoFmtOptionsPage( Window* pParent,
180cdf0e10cSrcweir                             const SfxItemSet& rSet );
181cdf0e10cSrcweir         ~OfaSwAutoFmtOptionsPage();
182cdf0e10cSrcweir 
183cdf0e10cSrcweir     public:
184cdf0e10cSrcweir         static SfxTabPage*  Create( Window* pParent,
185cdf0e10cSrcweir                                 const SfxItemSet& rAttrSet);
186cdf0e10cSrcweir         virtual sal_Bool        FillItemSet( SfxItemSet& rSet );
187cdf0e10cSrcweir         virtual void        Reset( const SfxItemSet& rSet );
188cdf0e10cSrcweir         virtual void        ActivatePage( const SfxItemSet& );
189cdf0e10cSrcweir };
190cdf0e10cSrcweir 
191cdf0e10cSrcweir // class AutoCorrEdit ----------------------------------------------------
192cdf0e10cSrcweir 
193cdf0e10cSrcweir class AutoCorrEdit : public Edit
194cdf0e10cSrcweir {
195cdf0e10cSrcweir     Link    aActionLink;
196cdf0e10cSrcweir     sal_Bool    bSpaces;
197cdf0e10cSrcweir 
198cdf0e10cSrcweir     public:
AutoCorrEdit(Window * pParent,const ResId & rResId)199cdf0e10cSrcweir                     AutoCorrEdit(Window* pParent, const ResId& rResId) :
200cdf0e10cSrcweir                         Edit(pParent, rResId), bSpaces(sal_False){}
201cdf0e10cSrcweir 
SetActionHdl(const Link & rLink)202cdf0e10cSrcweir     void            SetActionHdl( const Link& rLink )
203cdf0e10cSrcweir                                 { aActionLink = rLink;}
204cdf0e10cSrcweir 
SetSpaces(sal_Bool bSet)205cdf0e10cSrcweir     void            SetSpaces(sal_Bool bSet)
206cdf0e10cSrcweir                                 {bSpaces = bSet;}
207cdf0e10cSrcweir 
208cdf0e10cSrcweir     virtual void    KeyInput( const KeyEvent& rKEvent );
209cdf0e10cSrcweir };
210cdf0e10cSrcweir 
211cdf0e10cSrcweir // class OfaAutocorrReplacePage ------------------------------------------
212cdf0e10cSrcweir 
213cdf0e10cSrcweir class DoubleStringArray;
214cdf0e10cSrcweir typedef DoubleStringArray* DoubleStringArrayPtr;
215cdf0e10cSrcweir DECLARE_TABLE(DoubleStringTable, DoubleStringArrayPtr)
216cdf0e10cSrcweir 
217cdf0e10cSrcweir class OfaAutocorrReplacePage : public SfxTabPage
218cdf0e10cSrcweir {
219cdf0e10cSrcweir         using TabPage::ActivatePage;
220cdf0e10cSrcweir         using TabPage::DeactivatePage;
221cdf0e10cSrcweir 
222cdf0e10cSrcweir private:
223cdf0e10cSrcweir         CheckBox        aTextOnlyCB;
224cdf0e10cSrcweir         FixedText       aShortFT;
225cdf0e10cSrcweir         AutoCorrEdit    aShortED;
226cdf0e10cSrcweir         FixedText       aReplaceFT;
227cdf0e10cSrcweir         AutoCorrEdit    aReplaceED;
228cdf0e10cSrcweir         SvTabListBox    aReplaceTLB;
229cdf0e10cSrcweir         PushButton      aNewReplacePB;
230cdf0e10cSrcweir         PushButton      aDeleteReplacePB;
231cdf0e10cSrcweir 
232cdf0e10cSrcweir         String          sModify;
233cdf0e10cSrcweir         String          sNew;
234cdf0e10cSrcweir 
235cdf0e10cSrcweir         SvStringsISortDtor*     pFormatText;
236cdf0e10cSrcweir         DoubleStringTable       aDoubleStringTable;
237cdf0e10cSrcweir         CollatorWrapper*        pCompareClass;
238cdf0e10cSrcweir         CharClass*              pCharClass;
239cdf0e10cSrcweir         LanguageType            eLang;
240cdf0e10cSrcweir 
241cdf0e10cSrcweir         sal_Bool            bHasSelectionText;
242cdf0e10cSrcweir         sal_Bool            bFirstSelect:1;
243cdf0e10cSrcweir         sal_Bool            bReplaceEditChanged:1;
244cdf0e10cSrcweir         sal_Bool            bSWriter:1;
245cdf0e10cSrcweir 
246cdf0e10cSrcweir         DECL_LINK(SelectHdl, SvTabListBox*);
247cdf0e10cSrcweir         DECL_LINK(NewDelHdl, PushButton*);
248cdf0e10cSrcweir         DECL_LINK(ModifyHdl, Edit*);
249cdf0e10cSrcweir 
250cdf0e10cSrcweir         void            RefillReplaceBox(sal_Bool bFromReset, //Box mit neuer Sprache fuellen
251cdf0e10cSrcweir                                         LanguageType eOldLanguage,
252cdf0e10cSrcweir                                         LanguageType eNewLanguage);
253cdf0e10cSrcweir 
254cdf0e10cSrcweir public:
255cdf0e10cSrcweir                         OfaAutocorrReplacePage( Window* pParent, const SfxItemSet& rSet );
256cdf0e10cSrcweir                         ~OfaAutocorrReplacePage();
257cdf0e10cSrcweir 
258cdf0e10cSrcweir     static SfxTabPage*  Create( Window* pParent,
259cdf0e10cSrcweir                                 const SfxItemSet& rAttrSet);
260cdf0e10cSrcweir 
261cdf0e10cSrcweir     virtual sal_Bool        FillItemSet( SfxItemSet& rSet );
262cdf0e10cSrcweir     virtual void        Reset( const SfxItemSet& rSet );
263cdf0e10cSrcweir     virtual void        ActivatePage( const SfxItemSet& );
264cdf0e10cSrcweir     virtual int         DeactivatePage( SfxItemSet* pSet = 0 );
265cdf0e10cSrcweir 
266cdf0e10cSrcweir     void                SetLanguage(LanguageType eSet);
267cdf0e10cSrcweir };
268cdf0e10cSrcweir 
269cdf0e10cSrcweir // class OfaAutocorrExceptPage ---------------------------------------------
270cdf0e10cSrcweir 
271cdf0e10cSrcweir struct StringsArrays;
272cdf0e10cSrcweir typedef StringsArrays* StringsArraysPtr;
273cdf0e10cSrcweir DECLARE_TABLE(StringsTable, StringsArraysPtr)
274cdf0e10cSrcweir 
275cdf0e10cSrcweir class OfaAutocorrExceptPage : public SfxTabPage
276cdf0e10cSrcweir {
277cdf0e10cSrcweir     using TabPage::ActivatePage;
278cdf0e10cSrcweir     using TabPage::DeactivatePage;
279cdf0e10cSrcweir 
280cdf0e10cSrcweir private:
281cdf0e10cSrcweir         FixedLine       aAbbrevFL;
282cdf0e10cSrcweir         AutoCorrEdit    aAbbrevED;
283cdf0e10cSrcweir         ListBox         aAbbrevLB;
284cdf0e10cSrcweir         PushButton      aNewAbbrevPB;
285cdf0e10cSrcweir         PushButton      aDelAbbrevPB;
286cdf0e10cSrcweir         CheckBox        aAutoAbbrevCB;
287cdf0e10cSrcweir 
288cdf0e10cSrcweir         FixedLine       aDoubleCapsFL;
289cdf0e10cSrcweir         AutoCorrEdit    aDoubleCapsED;
290cdf0e10cSrcweir         ListBox         aDoubleCapsLB;
291cdf0e10cSrcweir         PushButton      aNewDoublePB;
292cdf0e10cSrcweir         PushButton      aDelDoublePB;
293cdf0e10cSrcweir         CheckBox        aAutoCapsCB;
294cdf0e10cSrcweir 
295cdf0e10cSrcweir         StringsTable    aStringsTable;
296cdf0e10cSrcweir         CollatorWrapper* pCompareClass;
297cdf0e10cSrcweir         LanguageType    eLang;
298cdf0e10cSrcweir 
299cdf0e10cSrcweir     DECL_LINK(NewDelHdl, PushButton*);
300cdf0e10cSrcweir     DECL_LINK(SelectHdl, ListBox*);
301cdf0e10cSrcweir     DECL_LINK(ModifyHdl, Edit*);
302cdf0e10cSrcweir 
303cdf0e10cSrcweir     void            RefillReplaceBoxes(sal_Bool bFromReset, //Box mit neuer Sprache fuellen
304cdf0e10cSrcweir                                         LanguageType eOldLanguage,
305cdf0e10cSrcweir                                         LanguageType eNewLanguage);
306cdf0e10cSrcweir public:
307cdf0e10cSrcweir                         OfaAutocorrExceptPage( Window* pParent, const SfxItemSet& rSet );
308cdf0e10cSrcweir                         ~OfaAutocorrExceptPage();
309cdf0e10cSrcweir 
310cdf0e10cSrcweir     static SfxTabPage*  Create( Window* pParent,
311cdf0e10cSrcweir                                 const SfxItemSet& rAttrSet);
312cdf0e10cSrcweir 
313cdf0e10cSrcweir     virtual sal_Bool        FillItemSet( SfxItemSet& rSet );
314cdf0e10cSrcweir     virtual void        Reset( const SfxItemSet& rSet );
315cdf0e10cSrcweir     virtual void        ActivatePage( const SfxItemSet& );
316cdf0e10cSrcweir     virtual int         DeactivatePage( SfxItemSet* pSet = 0 );
317cdf0e10cSrcweir     void                SetLanguage(LanguageType eSet);
318cdf0e10cSrcweir 
319cdf0e10cSrcweir };
320cdf0e10cSrcweir 
321cdf0e10cSrcweir // class OfaQuoteTabPage -------------------------------------------------
322cdf0e10cSrcweir 
323cdf0e10cSrcweir class OfaQuoteTabPage : public SfxTabPage
324cdf0e10cSrcweir {
325cdf0e10cSrcweir     using TabPage::ActivatePage;
326cdf0e10cSrcweir 
327cdf0e10cSrcweir private:
328cdf0e10cSrcweir     // For anything but writer
329cdf0e10cSrcweir     SvxCheckListBox aCheckLB;
330cdf0e10cSrcweir 
331cdf0e10cSrcweir     // Just for writer
332cdf0e10cSrcweir     OfaACorrCheckListBox    aSwCheckLB;
333cdf0e10cSrcweir     String          sHeader1;
334cdf0e10cSrcweir     String          sHeader2;
335cdf0e10cSrcweir 
336cdf0e10cSrcweir     String          sNonBrkSpace;
337cdf0e10cSrcweir     String          sOrdinal;
338cdf0e10cSrcweir 
339cdf0e10cSrcweir     SvLBoxButtonData*   pCheckButtonData;
340cdf0e10cSrcweir 
341cdf0e10cSrcweir     FixedLine   aSingleFL;
342cdf0e10cSrcweir     CheckBox    aSingleTypoCB;
343cdf0e10cSrcweir     FixedText   aSglStartQuoteFT;
344cdf0e10cSrcweir     PushButton  aSglStartQuotePB;
345cdf0e10cSrcweir     FixedText   aSglStartExFT;
346cdf0e10cSrcweir     FixedText   aSglEndQuoteFT;
347cdf0e10cSrcweir     PushButton  aSglEndQuotePB;
348cdf0e10cSrcweir     FixedText   aSglEndExFT;
349cdf0e10cSrcweir     PushButton  aSglStandardPB;
350cdf0e10cSrcweir 
351cdf0e10cSrcweir     FixedLine   aDoubleFL;
352cdf0e10cSrcweir     CheckBox    aTypoCB;
353cdf0e10cSrcweir     FixedText   aStartQuoteFT;
354cdf0e10cSrcweir     PushButton  aStartQuotePB;
355cdf0e10cSrcweir     FixedText   aDblStartExFT;
356cdf0e10cSrcweir     FixedText   aEndQuoteFT;
357cdf0e10cSrcweir     PushButton  aEndQuotePB;
358cdf0e10cSrcweir     FixedText   aDblEndExFT;
359cdf0e10cSrcweir     PushButton  aDblStandardPB;
360cdf0e10cSrcweir 
361cdf0e10cSrcweir     String      sStartQuoteDlg;
362cdf0e10cSrcweir     String      sEndQuoteDlg;
363cdf0e10cSrcweir 
364cdf0e10cSrcweir     String      sStandard;
365cdf0e10cSrcweir 
366cdf0e10cSrcweir 
367cdf0e10cSrcweir     sal_UCS4    cSglStartQuote;
368cdf0e10cSrcweir     sal_UCS4    cSglEndQuote;
369cdf0e10cSrcweir 
370cdf0e10cSrcweir     sal_UCS4    cStartQuote;
371cdf0e10cSrcweir     sal_UCS4    cEndQuote;
372cdf0e10cSrcweir 
373cdf0e10cSrcweir     DECL_LINK( QuoteHdl, PushButton* );
374cdf0e10cSrcweir     DECL_LINK( StdQuoteHdl, PushButton* );
375cdf0e10cSrcweir 
376cdf0e10cSrcweir     String              ChangeStringExt_Impl( sal_UCS4 );
377cdf0e10cSrcweir 
378cdf0e10cSrcweir     SvLBoxEntry* CreateEntry(String& rTxt, sal_uInt16 nCol);
379cdf0e10cSrcweir 
380cdf0e10cSrcweir                         OfaQuoteTabPage( Window* pParent, const SfxItemSet& rSet );
381cdf0e10cSrcweir public:
382cdf0e10cSrcweir                         ~OfaQuoteTabPage();
383cdf0e10cSrcweir 
384cdf0e10cSrcweir     static SfxTabPage*  Create( Window* pParent,
385cdf0e10cSrcweir                                 const SfxItemSet& rAttrSet);
386cdf0e10cSrcweir 
387cdf0e10cSrcweir     virtual sal_Bool        FillItemSet( SfxItemSet& rSet );
388cdf0e10cSrcweir     virtual void        Reset( const SfxItemSet& rSet );
389cdf0e10cSrcweir     virtual void        ActivatePage( const SfxItemSet& );
390cdf0e10cSrcweir };
391cdf0e10cSrcweir 
392cdf0e10cSrcweir // class OfaAutoCompleteTabPage ---------------------------------------------
393cdf0e10cSrcweir 
394cdf0e10cSrcweir class OfaAutoCompleteTabPage : public SfxTabPage
395cdf0e10cSrcweir {
396cdf0e10cSrcweir     using TabPage::ActivatePage;
397cdf0e10cSrcweir 
398cdf0e10cSrcweir     class AutoCompleteMultiListBox : public MultiListBox
399cdf0e10cSrcweir     {
400cdf0e10cSrcweir         OfaAutoCompleteTabPage& rPage;
401cdf0e10cSrcweir     public:
AutoCompleteMultiListBox(OfaAutoCompleteTabPage & rPg,const ResId & rResId)402cdf0e10cSrcweir         AutoCompleteMultiListBox( OfaAutoCompleteTabPage& rPg,
403cdf0e10cSrcweir                                     const ResId& rResId )
404cdf0e10cSrcweir             : MultiListBox( &rPg, rResId ), rPage( rPg ) {}
405cdf0e10cSrcweir 
406cdf0e10cSrcweir         virtual long PreNotify( NotifyEvent& rNEvt );
407cdf0e10cSrcweir     };
408cdf0e10cSrcweir 
409cdf0e10cSrcweir     CheckBox        aCBActiv; //Enable word completion
410cdf0e10cSrcweir     CheckBox        aCBAppendSpace;//Append space
411cdf0e10cSrcweir     CheckBox        aCBAsTip; //Show as tip
412cdf0e10cSrcweir 
413cdf0e10cSrcweir     CheckBox        aCBCollect;//Collect words
414cdf0e10cSrcweir     CheckBox        aCBRemoveList;//...save the list for later use...
415cdf0e10cSrcweir     //--removed--CheckBox        aCBEndless;//
416cdf0e10cSrcweir 
417cdf0e10cSrcweir     FixedText       aFTExpandKey;
418cdf0e10cSrcweir     ListBox         aDCBExpandKey;
419cdf0e10cSrcweir     FixedText       aFTMinWordlen;
420cdf0e10cSrcweir     NumericField    aNFMinWordlen;
421cdf0e10cSrcweir     FixedText       aFTMaxEntries;
422cdf0e10cSrcweir     NumericField    aNFMaxEntries;
423cdf0e10cSrcweir     AutoCompleteMultiListBox    aLBEntries;
424cdf0e10cSrcweir     PushButton                  aPBEntries;
425cdf0e10cSrcweir     SvStringsISortDtor*         pAutoCmpltList;
426cdf0e10cSrcweir     sal_uInt16                      nAutoCmpltListCnt;
427cdf0e10cSrcweir 
428cdf0e10cSrcweir     DECL_LINK( CheckHdl, CheckBox* );
429cdf0e10cSrcweir 
430cdf0e10cSrcweir                         OfaAutoCompleteTabPage( Window* pParent,
431cdf0e10cSrcweir                                                 const SfxItemSet& rSet );
432cdf0e10cSrcweir public:
433cdf0e10cSrcweir                         virtual ~OfaAutoCompleteTabPage();
434cdf0e10cSrcweir 
435cdf0e10cSrcweir     static SfxTabPage*  Create( Window* pParent,
436cdf0e10cSrcweir                                 const SfxItemSet& rAttrSet);
437cdf0e10cSrcweir 
438cdf0e10cSrcweir     virtual sal_Bool        FillItemSet( SfxItemSet& rSet );
439cdf0e10cSrcweir     virtual void        Reset( const SfxItemSet& rSet );
440cdf0e10cSrcweir     virtual void        ActivatePage( const SfxItemSet& );
441cdf0e10cSrcweir 
442cdf0e10cSrcweir     void CopyToClipboard() const;
443cdf0e10cSrcweir     DECL_LINK( DeleteHdl, PushButton* );
444cdf0e10cSrcweir };
445cdf0e10cSrcweir 
446cdf0e10cSrcweir // class OfaSmartTagOptionsTabPage ---------------------------------------------
447cdf0e10cSrcweir 
448cdf0e10cSrcweir /** Smart tag options tab page
449cdf0e10cSrcweir 
450cdf0e10cSrcweir     This tab page is used to enable/disable smart tag types
451cdf0e10cSrcweir */
452cdf0e10cSrcweir class OfaSmartTagOptionsTabPage : public SfxTabPage
453cdf0e10cSrcweir {
454cdf0e10cSrcweir     using TabPage::ActivatePage;
455cdf0e10cSrcweir 
456cdf0e10cSrcweir private:
457cdf0e10cSrcweir 
458cdf0e10cSrcweir     // controls
459cdf0e10cSrcweir     CheckBox                m_aMainCB;
460cdf0e10cSrcweir     SvxCheckListBox         m_aSmartTagTypesLB;
461cdf0e10cSrcweir     PushButton              m_aPropertiesPB;
462cdf0e10cSrcweir     FixedText               m_aTitleFT;
463cdf0e10cSrcweir 
464cdf0e10cSrcweir     // construction via Create()
465cdf0e10cSrcweir     OfaSmartTagOptionsTabPage( Window* pParent, const SfxItemSet& rSet );
466cdf0e10cSrcweir 
467cdf0e10cSrcweir     /** Inserts items into m_aSmartTagTypesLB
468cdf0e10cSrcweir 
469cdf0e10cSrcweir         Reads out the smart tag types supported by the SmartTagMgr and
470cdf0e10cSrcweir         inserts the associated strings into the list box.
471cdf0e10cSrcweir     */
472cdf0e10cSrcweir     void FillListBox( const SmartTagMgr& rSmartTagMgr );
473cdf0e10cSrcweir 
474cdf0e10cSrcweir     /** Clears the m_aSmartTagTypesLB
475cdf0e10cSrcweir     */
476cdf0e10cSrcweir     void ClearListBox();
477cdf0e10cSrcweir 
478cdf0e10cSrcweir     /** Handler for the check box
479cdf0e10cSrcweir 
480cdf0e10cSrcweir         Enables/disables all controls in the tab page (except from the
481cdf0e10cSrcweir         check box.
482cdf0e10cSrcweir     */
483cdf0e10cSrcweir     DECL_LINK( CheckHdl, CheckBox* );
484cdf0e10cSrcweir 
485cdf0e10cSrcweir     /** Handler for the push button
486cdf0e10cSrcweir 
487cdf0e10cSrcweir         Calls the displayPropertyPage function of the smart tag recognizer
488cdf0e10cSrcweir         associated with the currently selected smart tag type.
489cdf0e10cSrcweir     */
490cdf0e10cSrcweir     DECL_LINK( ClickHdl, PushButton* );
491cdf0e10cSrcweir 
492cdf0e10cSrcweir     /** Handler for the list box
493cdf0e10cSrcweir 
494cdf0e10cSrcweir         Enables/disables the properties push button if selection in the
495cdf0e10cSrcweir         smart tag types list box changes.
496cdf0e10cSrcweir     */
497cdf0e10cSrcweir     DECL_LINK( SelectHdl, SvxCheckListBox* );
498cdf0e10cSrcweir 
499cdf0e10cSrcweir public:
500cdf0e10cSrcweir 
501cdf0e10cSrcweir     virtual ~OfaSmartTagOptionsTabPage();
502cdf0e10cSrcweir 
503cdf0e10cSrcweir     static SfxTabPage*  Create( Window* pParent, const SfxItemSet& rAttrSet);
504cdf0e10cSrcweir 
505cdf0e10cSrcweir     virtual sal_Bool        FillItemSet( SfxItemSet& rSet );
506cdf0e10cSrcweir     virtual void        Reset( const SfxItemSet& rSet );
507cdf0e10cSrcweir     virtual void        ActivatePage( const SfxItemSet& );
508cdf0e10cSrcweir };
509cdf0e10cSrcweir 
510cdf0e10cSrcweir #endif // _OFA_AUTOCDLG_CXX
511cdf0e10cSrcweir 
512cdf0e10cSrcweir #endif //
513