xref: /trunk/main/sw/source/ui/dialog/swdlgfact.hxx (revision cdf0e10c4e3984b49a9502b011690b615761d4a3)
1 /*************************************************************************
2  *
3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4  *
5  * Copyright 2000, 2010 Oracle and/or its affiliates.
6  *
7  * OpenOffice.org - a multi-platform office productivity suite
8  *
9  * This file is part of OpenOffice.org.
10  *
11  * OpenOffice.org is free software: you can redistribute it and/or modify
12  * it under the terms of the GNU Lesser General Public License version 3
13  * only, as published by the Free Software Foundation.
14  *
15  * OpenOffice.org is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18  * GNU Lesser General Public License version 3 for more details
19  * (a copy is included in the LICENSE file that accompanied this code).
20  *
21  * You should have received a copy of the GNU Lesser General Public License
22  * version 3 along with OpenOffice.org.  If not, see
23  * <http://www.openoffice.org/license.html>
24  * for a copy of the LGPLv3 License.
25  *
26  ************************************************************************/
27 #ifndef _SW_DLGFACT_HXX
28 #define _SW_DLGFACT_HXX
29 
30 // include ---------------------------------------------------------------
31 #include "swabstdlg.hxx"
32 
33 class SwSaveLabelDlg;
34 class SwInsertAbstractDlg;
35 class SfxSingleTabDialog;
36 class SwAsciiFilterDlg;
37 class Dialog;
38 class SwBreakDlg;
39 class SfxTabDialog;
40 class SwConvertTableDlg;
41 class SwInsertDBColAutoPilot;
42 class SwLabDlg;
43 class SwSelGlossaryDlg;
44 class SwAutoFormatDlg;
45 class SwFldDlg;
46 class SwRenameXNamedDlg;
47 class SwModalRedlineAcceptDlg;
48 class SwTOXMark;
49 class SwWordCountDialog;
50 class SwSplitTblDlg;
51 
52 #include "itabenum.hxx"
53 
54 namespace sw
55 {
56 class DropDownFieldDialog;
57 }
58 
59 #define DECL_ABSTDLG_BASE(Class,DialogClass)        \
60     DialogClass*        pDlg;                       \
61 public:                                             \
62                     Class( DialogClass* p)          \
63                      : pDlg(p)                      \
64                      {}                             \
65     virtual         ~Class();                       \
66     virtual short   Execute() ;
67 //  virtual void    Show( sal_Bool bVisible = sal_True, sal_uInt16 nFlags = 0 )
68 
69 #define IMPL_ABSTDLG_BASE(Class)                    \
70 Class::~Class()                                     \
71 {                                                   \
72     delete pDlg;                                    \
73 }                                                   \
74 short Class::Execute()                             \
75 {                                                   \
76     return pDlg->Execute();                         \
77 }
78 
79 
80 class AbstractSwWordCountDialog_Impl : public AbstractSwWordCountDialog
81 {
82     DECL_ABSTDLG_BASE(AbstractSwWordCountDialog_Impl,SwWordCountDialog)
83     void    SetValues(const SwDocStat& rCurrent, const SwDocStat& rDoc);
84 };
85 
86 //add for SwInsertAbstractDlg begin
87 class AbstractSwInsertAbstractDlg_Impl : public AbstractSwInsertAbstractDlg
88 {
89     DECL_ABSTDLG_BASE(AbstractSwInsertAbstractDlg_Impl,SwInsertAbstractDlg)
90     virtual sal_uInt8   GetLevel() const ;
91     virtual sal_uInt8   GetPara() const ;
92 };
93 
94 //add for SwInsertAbstractDlg end
95 
96 // add for SwAddrDlg, SwDropCapsDlg, SwBackgroundDlg SwNumFmtDlg  SwWrapDlg SwBorderDlg, SwFldEditDlg  begin
97 class SfxSingleTabDialog;
98 class AbstractSfxDialog_Impl :public SfxAbstractDialog
99 {
100     DECL_ABSTDLG_BASE(AbstractSfxDialog_Impl,SfxModalDialog)
101     virtual const SfxItemSet*   GetOutputItemSet() const;
102     virtual void        SetText( const XubString& rStr );
103     virtual String      GetText() const;
104 };
105 // add for SwAddrDlg,SwDropCapsDlg , SwBackgroundDlg  SwNumFmtDlg SwWrapDlg SwBorderDlg, SwFldEditDlg  end
106 
107 // add for SwAsciiFilterDlg begin
108 class AbstractSwAsciiFilterDlg_Impl : public AbstractSwAsciiFilterDlg
109 {
110     DECL_ABSTDLG_BASE( AbstractSwAsciiFilterDlg_Impl,SwAsciiFilterDlg )
111     virtual void FillOptions( SwAsciiOptions& rOptions );
112 
113 };
114 // add for SwAsciiFilterDlg end
115 
116 // add for SwInsertBookmarkDlg  SwChangeDBDlg, SwTableHeightDlg, SwSplitTblDlg  SwSortDlg   SwTableWidthDlgbegin
117 class VclAbstractDialog_Impl : public VclAbstractDialog
118 {
119     DECL_ABSTDLG_BASE(VclAbstractDialog_Impl,Dialog)
120 };
121 // add for SwInsertBookmarkDlg SwChangeDBDlg, SwTableHeightDlg SwSplitTblDlg  SwSortDlg   SwTableWidthDlg end
122 
123 // add for SwBreakDlg begin
124 class AbstractSwBreakDlg_Impl : public AbstractSwBreakDlg // add for SwBreakDlg
125 {
126     DECL_ABSTDLG_BASE(AbstractSwBreakDlg_Impl,SwBreakDlg)
127     virtual String  GetTemplateName();
128     virtual sal_uInt16  GetKind();
129     virtual sal_uInt16  GetPageNumber();
130 
131 };
132 class AbstractSplitTableDialog_Impl : public AbstractSplitTableDialog // add for
133 {
134     DECL_ABSTDLG_BASE(AbstractSplitTableDialog_Impl, SwSplitTblDlg)
135     virtual sal_uInt16 GetSplitMode();
136 };
137 
138 // add for SwBreakDlg end
139 
140 //add for SwCharDlg , SwEnvDlg , SwFootNoteOptionDlg SwParaDlg  SwTableTabDlg begin
141 class AbstractTabDialog_Impl : public SfxAbstractTabDialog
142 {
143     DECL_ABSTDLG_BASE( AbstractTabDialog_Impl,SfxTabDialog )
144     virtual void                SetCurPageId( sal_uInt16 nId );
145     virtual const SfxItemSet*   GetOutputItemSet() const;
146     virtual const sal_uInt16*       GetInputRanges( const SfxItemPool& pItem );
147     virtual void                SetInputSet( const SfxItemSet* pInSet );
148         //From class Window.
149     virtual void        SetText( const XubString& rStr );
150     virtual String      GetText() const;
151 };
152 //add for SwCharDlg, SwEnvDlg ,SwFootNoteOptionDlg SwParaDlg  SwTableTabDlg end
153 
154 //add for SwConvertTableDlg begin
155 class AbstractSwConvertTableDlg_Impl :  public AbstractSwConvertTableDlg // add for SwConvertTableDlg
156 {
157     DECL_ABSTDLG_BASE( AbstractSwConvertTableDlg_Impl,SwConvertTableDlg)
158     virtual void GetValues( sal_Unicode& rDelim,SwInsertTableOptions& rInsTblFlags,
159                     SwTableAutoFmt *& prTAFmt );
160 };
161 //add for SwConvertTableDlg end
162 
163 //add for SwInsertDBColAutoPilot begin
164 class AbstractSwInsertDBColAutoPilot_Impl :  public AbstractSwInsertDBColAutoPilot // add for SwInsertDBColAutoPilot
165 {
166     DECL_ABSTDLG_BASE( AbstractSwInsertDBColAutoPilot_Impl,SwInsertDBColAutoPilot)
167     virtual void DataToDoc( const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any >& rSelection,
168         ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XDataSource> rxSource,
169         ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XConnection> xConnection,
170         ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XResultSet > xResultSet);
171 };
172 //add for SwInsertDBColAutoPilot end
173 
174 //add for DropDownFieldDialog begin
175 class AbstractDropDownFieldDialog_Impl : public AbstractDropDownFieldDialog //add for DropDownFieldDialog
176 {
177     DECL_ABSTDLG_BASE(AbstractDropDownFieldDialog_Impl, sw::DropDownFieldDialog)
178     virtual ByteString      GetWindowState( sal_uLong nMask = WINDOWSTATE_MASK_ALL ) const; //this method inherit from SystemWindow
179     virtual void            SetWindowState( const ByteString& rStr );//this method inherit from SystemWindow
180 };
181 //add for DropDownFieldDialog end
182 
183 
184 class AbstarctSwLabDlg_Impl  : public AbstarctSwLabDlg
185 {
186     DECL_ABSTDLG_BASE(AbstarctSwLabDlg_Impl,SwLabDlg)
187     virtual void                SetCurPageId( sal_uInt16 nId );
188     virtual const SfxItemSet*   GetOutputItemSet() const;
189     virtual const sal_uInt16*       GetInputRanges( const SfxItemPool& pItem );
190     virtual void                SetInputSet( const SfxItemSet* pInSet );
191         //From class Window.
192     virtual void        SetText( const XubString& rStr );
193     virtual String      GetText() const;
194      virtual const String& GetBusinessCardStr() const;
195      virtual Printer *GetPrt();
196 };
197 //add for SwLabDlg end
198 
199 //add for SwSelGlossaryDlg begin
200 class AbstarctSwSelGlossaryDlg_Impl : public AbstarctSwSelGlossaryDlg
201 {
202     DECL_ABSTDLG_BASE(AbstarctSwSelGlossaryDlg_Impl,SwSelGlossaryDlg)
203     virtual void InsertGlos(const String &rRegion, const String &rGlosName);    // inline
204     virtual sal_uInt16 GetSelectedIdx() const;  // inline
205     virtual void SelectEntryPos(sal_uInt16 nIdx);   // inline
206 };
207 //add for SwSelGlossaryDlg end
208 
209 //add for SwAutoFormatDlg begin
210 class AbstractSwAutoFormatDlg_Impl : public AbstractSwAutoFormatDlg
211 {
212     DECL_ABSTDLG_BASE(AbstractSwAutoFormatDlg_Impl,SwAutoFormatDlg )
213     virtual void FillAutoFmtOfIndex( SwTableAutoFmt*& rToFill ) const;
214 };
215 //add for SwAutoFormatDlg end
216 
217 //add for SwFldDlg begin
218 
219 class AbstractSwFldDlg_Impl : public AbstractSwFldDlg //add for SwFldDlg
220 {
221     DECL_ABSTDLG_BASE(AbstractSwFldDlg_Impl,SwFldDlg )
222     virtual void                SetCurPageId( sal_uInt16 nId );
223     virtual const SfxItemSet*   GetOutputItemSet() const;
224     virtual const sal_uInt16*       GetInputRanges( const SfxItemPool& pItem );
225     virtual void                SetInputSet( const SfxItemSet* pInSet );
226         //From class Window.
227     virtual void        SetText( const XubString& rStr );
228     virtual String      GetText() const;
229     virtual void                Start( sal_Bool bShow = sal_True );  //this method from SfxTabDialog
230     virtual void                ShowPage( sal_uInt16 nId );// this method from SfxTabDialog
231     virtual void                Initialize(SfxChildWinInfo *pInfo);
232     virtual void                ReInitDlg();
233     virtual void                ActivateDatabasePage();
234     virtual Window *            GetWindow(); //this method is added for return a Window type pointer
235 };
236 //add for SwFldD end
237 
238 //add for SwRenameXNamedDlg begin
239 class AbstractSwRenameXNamedDlg_Impl : public AbstractSwRenameXNamedDlg
240 {
241     DECL_ABSTDLG_BASE(AbstractSwRenameXNamedDlg_Impl,SwRenameXNamedDlg )
242     virtual void    SetForbiddenChars( const String& rSet );
243     virtual void SetAlternativeAccess(
244              STAR_REFERENCE( container::XNameAccess ) & xSecond,
245              STAR_REFERENCE( container::XNameAccess ) & xThird );
246 };
247 //add for SwRenameXNamedDlg end
248 //add for SwModalRedlineAcceptDlg begin
249 class AbstractSwModalRedlineAcceptDlg_Impl : public AbstractSwModalRedlineAcceptDlg
250 {
251     DECL_ABSTDLG_BASE(AbstractSwModalRedlineAcceptDlg_Impl,SwModalRedlineAcceptDlg )
252     virtual void            AcceptAll( sal_Bool bAccept );
253 };
254 //add for SwModalRedlineAcceptDlg end
255 
256 //for SwGlossaryDlg begin
257 class SwGlossaryDlg;
258 class AbstractGlossaryDlg_Impl : public AbstractGlossaryDlg
259 {
260     DECL_ABSTDLG_BASE(AbstractGlossaryDlg_Impl,SwGlossaryDlg)
261     virtual String          GetCurrGrpName() const;
262     virtual String          GetCurrShortName() const;
263 };
264 //for SwGlossaryDlg end
265 
266 //for SwFldInputDlg begin
267 class SwFldInputDlg;
268 class AbstractFldInputDlg_Impl : public AbstractFldInputDlg
269 {
270     DECL_ABSTDLG_BASE(AbstractFldInputDlg_Impl,SwFldInputDlg)
271     //from class SalFrame
272     virtual void            SetWindowState( const ByteString& rStr ) ;
273     virtual ByteString      GetWindowState( sal_uLong nMask = WINDOWSTATE_MASK_ALL ) const ;
274 };
275 //for SwFldInputDlg end
276 
277 //for SwInsFootNoteDlg begin
278 class SwInsFootNoteDlg;
279 class AbstractInsFootNoteDlg_Impl : public AbstractInsFootNoteDlg
280 {
281     DECL_ABSTDLG_BASE(AbstractInsFootNoteDlg_Impl,SwInsFootNoteDlg)
282     virtual String          GetFontName();
283     virtual sal_Bool            IsEndNote();
284     virtual String          GetStr();
285     //from class Window
286     virtual void    SetHelpId( const rtl::OString& sHelpId );
287     virtual void    SetText( const XubString& rStr );
288 };
289 //for SwInsFootNoteDlg end
290 
291 //for SwInsertGrfRulerDlg begin
292 class SwInsertGrfRulerDlg;
293 class AbstractInsertGrfRulerDlg_Impl : public AbstractInsertGrfRulerDlg
294 {
295     DECL_ABSTDLG_BASE(AbstractInsertGrfRulerDlg_Impl,SwInsertGrfRulerDlg)
296     virtual String          GetGraphicName();
297     virtual sal_Bool            IsSimpleLine();
298     virtual sal_Bool            HasImages() const ;
299 };
300 //for SwInsertGrfRulerDlg end
301 
302 //for SwInsTableDlg begin
303 class SwInsTableDlg;
304 class AbstractInsTableDlg_Impl : public AbstractInsTableDlg
305 {
306     DECL_ABSTDLG_BASE(AbstractInsTableDlg_Impl,SwInsTableDlg)
307     virtual void            GetValues( String& rName, sal_uInt16& rRow, sal_uInt16& rCol,
308                                 SwInsertTableOptions& rInsTblFlags, String& rTableAutoFmtName,
309                                 SwTableAutoFmt *& prTAFmt );
310 };
311 //for SwInsTableDlg end
312 
313 //for SwJavaEditDialog begin
314 class SwJavaEditDialog;
315 class AbstractJavaEditDialog_Impl : public AbstractJavaEditDialog
316 {
317     DECL_ABSTDLG_BASE(AbstractJavaEditDialog_Impl,SwJavaEditDialog)
318     virtual String              GetText();
319     virtual String              GetType();
320     virtual sal_Bool                IsUrl();
321     virtual sal_Bool                IsNew();
322     virtual sal_Bool                IsUpdate();
323 };
324 //for SwJavaEditDialog end
325 
326 //for SwMailMergeDlg begin
327 class SwMailMergeDlg;
328 class AbstractMailMergeDlg_Impl : public AbstractMailMergeDlg
329 {
330     DECL_ABSTDLG_BASE(AbstractMailMergeDlg_Impl,SwMailMergeDlg)
331     virtual sal_uInt16  GetMergeType() ;
332     virtual const ::rtl::OUString& GetSaveFilter() const;
333     virtual const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any > GetSelection() const ;
334     virtual ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XResultSet> GetResultSet() const;
335     virtual bool IsSaveIndividualDocs() const;
336     virtual bool IsGenerateFromDataBase() const;
337     virtual String GetColumnName() const;
338     virtual String GetPath() const;
339 };
340 //for SwMailMergeDlg end
341 //for SwMailMergeCreateFromDlg begin
342 class SwMailMergeCreateFromDlg;
343 class AbstractMailMergeCreateFromDlg_Impl : public AbstractMailMergeCreateFromDlg
344 {
345     DECL_ABSTDLG_BASE(AbstractMailMergeCreateFromDlg_Impl,SwMailMergeCreateFromDlg)
346     virtual sal_Bool    IsThisDocument() const ;
347 };
348 //for SwMailMergeCreateFromDlg end
349 //for SwMailMergeFieldConnectionsDlg begin
350 class SwMailMergeFieldConnectionsDlg;
351 class AbstractMailMergeFieldConnectionsDlg_Impl : public AbstractMailMergeFieldConnectionsDlg
352 {
353     DECL_ABSTDLG_BASE(AbstractMailMergeFieldConnectionsDlg_Impl,SwMailMergeFieldConnectionsDlg)
354     virtual sal_Bool    IsUseExistingConnections() const ;
355 };
356 //for SwMailMergeFieldConnectionsDlg end
357 
358 //for SwMultiTOXTabDialog begin
359 class SwMultiTOXTabDialog;
360 class AbstractMultiTOXTabDialog_Impl : public AbstractMultiTOXTabDialog
361 {
362     DECL_ABSTDLG_BASE(AbstractMultiTOXTabDialog_Impl,SwMultiTOXTabDialog)
363     virtual SwForm*             GetForm(CurTOXType eType);
364     virtual CurTOXType          GetCurrentTOXType() const ;
365     virtual SwTOXDescription&   GetTOXDescription(CurTOXType eTOXTypes);
366     //from SfxTabDialog
367     virtual const SfxItemSet*   GetOutputItemSet() const;
368 };
369 //for SwMultiTOXTabDialog end
370 
371 //for SwEditRegionDlg begin
372 class SwEditRegionDlg;
373 class AbstractEditRegionDlg_Impl : public AbstractEditRegionDlg
374 {
375     DECL_ABSTDLG_BASE(AbstractEditRegionDlg_Impl,SwEditRegionDlg)
376     virtual void    SelectSection(const String& rSectionName);
377 };
378 //for SwEditRegionDlg end
379 //for SwInsertSectionTabDialog begin
380 class SwInsertSectionTabDialog;
381 class AbstractInsertSectionTabDialog_Impl : public AbstractInsertSectionTabDialog
382 {
383     DECL_ABSTDLG_BASE(AbstractInsertSectionTabDialog_Impl,SwInsertSectionTabDialog)
384     virtual void        SetSectionData(SwSectionData const& rSect);
385 };
386 //for SwInsertSectionTabDialog end
387 
388 //for SwIndexMarkFloatDlg begin
389 class SwIndexMarkFloatDlg;
390 class AbstractIndexMarkFloatDlg_Impl : public AbstractMarkFloatDlg
391 {
392     DECL_ABSTDLG_BASE(AbstractIndexMarkFloatDlg_Impl,SwIndexMarkFloatDlg)
393     virtual void    ReInitDlg(SwWrtShell& rWrtShell);
394     virtual Window *            GetWindow(); //this method is added for return a Window type pointer
395 };
396 //for SwIndexMarkFloatDlg end
397 
398 //for SwAuthMarkFloatDlg begin
399 class SwAuthMarkFloatDlg;
400 class AbstractAuthMarkFloatDlg_Impl : public AbstractMarkFloatDlg
401 {
402     DECL_ABSTDLG_BASE(AbstractAuthMarkFloatDlg_Impl,SwAuthMarkFloatDlg)
403     virtual void    ReInitDlg(SwWrtShell& rWrtShell);
404     virtual Window *            GetWindow(); //this method is added for return a Window type pointer
405 };
406 //for SwAuthMarkFloatDlg end
407 
408 class SwMailMergeWizard;
409 class AbstractMailMergeWizard_Impl : public AbstractMailMergeWizard
410 {
411     SwMailMergeWizard* pDlg;
412     Link               aEndDlgHdl;
413 
414     DECL_LINK( EndDialogHdl, SwMailMergeWizard* );
415 public:
416                     AbstractMailMergeWizard_Impl( SwMailMergeWizard* p )
417                      : pDlg(p)
418                      {}
419     virtual         ~AbstractMailMergeWizard_Impl();
420     virtual void    StartExecuteModal( const Link& rEndDialogHdl );
421     virtual long    GetResult();
422 
423     virtual void                SetReloadDocument(const String& rURL);
424     virtual const String&       GetReloadDocument() const;
425     virtual sal_Bool                ShowPage( sal_uInt16 nLevel );
426     virtual sal_uInt16          GetRestartPage() const;
427 };
428 
429 //------------------------------------------------------------------------
430 //AbstractDialogFactory_Impl implementations
431 class SwAbstractDialogFactory_Impl : public SwAbstractDialogFactory
432 {
433 
434 public:
435     virtual SfxAbstractDialog*              CreateSfxDialog( Window* pParent, //add for SvxMeasureDialog & SvxConnectionDialog
436                                                                         const SfxItemSet& rAttr,
437                                     const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >& _rxFrame,
438                                                                         sal_uInt32 nResId
439                                                                         );
440     virtual AbstractSwWordCountDialog* CreateSwWordCountDialog(Window* pParent);
441     virtual AbstractSwInsertAbstractDlg * CreateSwInsertAbstractDlg( Window* pParent,int nResId );
442     virtual AbstractSwAsciiFilterDlg*  CreateSwAsciiFilterDlg ( Window* pParent, SwDocShell& rDocSh,
443                                                                 SvStream* pStream, int nResId ); //add for SwAsciiFilterDlg
444     virtual VclAbstractDialog * CreateSwInsertBookmarkDlg( Window *pParent, SwWrtShell &rSh, SfxRequest& rReq, int nResId );//add for SwInsertBookmarkDlg
445     virtual AbstractSwBreakDlg * CreateSwBreakDlg ( Window *pParent, SwWrtShell &rSh,int nResId ); // add for SwBreakDlg
446     virtual VclAbstractDialog   * CreateSwChangeDBDlg( SwView& rVw, int nResId  ); //add for SwChangeDBDlg
447     virtual SfxAbstractTabDialog *  CreateSwCharDlg( Window* pParent, SwView& pVw, const SfxItemSet& rCoreSet, int nResId, // add for SwCharDlg
448                                                 const String* pFmtStr = 0, sal_Bool bIsDrwTxtDlg = sal_False);
449     virtual AbstractSwConvertTableDlg* CreateSwConvertTableDlg ( SwView& rView, int nResId, bool bToTable ); //add for SwConvertTableDlg
450     virtual VclAbstractDialog * CreateSwCaptionDialog ( Window *pParent, SwView &rV,int nResId); //add for SwCaptionDialog
451 
452     virtual AbstractSwInsertDBColAutoPilot* CreateSwInsertDBColAutoPilot( SwView& rView, // add for SwInsertDBColAutoPilot
453         ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XDataSource> rxSource,
454         com::sun::star::uno::Reference<com::sun::star::sdbcx::XColumnsSupplier> xColSupp,
455         const SwDBData& rData,  int nResId);
456     virtual SfxAbstractTabDialog * CreateSwFootNoteOptionDlg( Window *pParent, SwWrtShell &rSh,int nResId);//add for  SwFootNoteOptionDlg
457 
458     virtual AbstractDropDownFieldDialog * CreateDropDownFieldDialog ( Window *pParent, SwWrtShell &rSh, //add for DropDownFieldDialog
459                                 SwField* pField,int nResId, sal_Bool bNextButton = sal_False );
460     virtual SfxAbstractTabDialog* CreateSwEnvDlg ( Window* pParent, const SfxItemSet& rSet, SwWrtShell* pWrtSh, Printer* pPrt, sal_Bool bInsert,int nResId ); //add for SwEnvDlg
461     virtual AbstarctSwLabDlg* CreateSwLabDlg ( Window* pParent, const SfxItemSet& rSet, //add for SwLabDlg
462                                                     SwNewDBMgr* pNewDBMgr, sal_Bool bLabel,int nResId  );
463 
464     virtual SwLabDlgMethod GetSwLabDlgStaticMethod (); //add for SwLabDlg
465     virtual SfxAbstractTabDialog* CreateSwParaDlg ( Window *pParent, //add for SwParaDlg
466                                                     SwView& rVw,
467                                                     const SfxItemSet& rCoreSet,
468                                                     sal_uInt8 nDialogMode,
469                                                     int nResId,
470                                                     const String *pCollName = 0,
471                                                     sal_Bool bDraw = sal_False,
472                                                     sal_uInt16 nDefPage = 0);
473 
474     virtual AbstarctSwSelGlossaryDlg * CreateSwSelGlossaryDlg ( Window * pParent, const String &rShortName, int nResId ); //add for SwSelGlossaryDlg
475     virtual VclAbstractDialog * CreateVclAbstractDialog ( Window * pParent, SwWrtShell &rSh, int nResId ); //add for  SwTableHeightDlg SwSortDlg
476     virtual AbstractSplitTableDialog * CreateSplitTblDialog ( Window * pParent, SwWrtShell &rSh ); //add for  SwSplitTblDlg
477 
478     virtual AbstractSwAutoFormatDlg * CreateSwAutoFormatDlg( Window* pParent, SwWrtShell* pShell, //add for SwAutoFormatDlg
479                                                             int nResId,
480                                                             sal_Bool bSetAutoFmt = sal_True,
481                                                             const SwTableAutoFmt* pSelFmt = 0 );
482     virtual SfxAbstractDialog * CreateSwBorderDlg (Window* pParent, SfxItemSet& rSet, sal_uInt16 nType,int nResId );//add for SwBorderDlg
483 
484     virtual SfxAbstractDialog * CreateSwWrapDlg ( Window* pParent, SfxItemSet& rSet, SwWrtShell* pSh, sal_Bool bDrawMode, int nResId ); //add for SwWrapDlg
485     virtual VclAbstractDialog * CreateSwTableWidthDlg ( Window *pParent, SwTableFUNC &rFnc , int nResId ); //add for SwTableWidthDlg
486     virtual SfxAbstractTabDialog* CreateSwTableTabDlg( Window* pParent, SfxItemPool& Pool,
487                                                         const SfxItemSet* pItemSet, SwWrtShell* pSh,int nResId ); //add for SwTableTabDlg
488     virtual AbstractSwFldDlg * CreateSwFldDlg ( SfxBindings* pB, SwChildWinWrapper* pCW, Window *pParent, int nResId ); //add for SwFldDlg
489     virtual SfxAbstractDialog*   CreateSwFldEditDlg ( SwView& rVw, int nResId ); //add for SwFldEditDlg
490     virtual AbstractSwRenameXNamedDlg * CreateSwRenameXNamedDlg( Window* pParent, //add for SwRenameXNamedDlg
491                                                                 STAR_REFERENCE( container::XNamed ) & xNamed,
492                                                                 STAR_REFERENCE( container::XNameAccess ) & xNameAccess, int nResId );
493     virtual AbstractSwModalRedlineAcceptDlg * CreateSwModalRedlineAcceptDlg ( Window *pParent, int nResId ); //add for SwModalRedlineAcceptDlg
494 
495     virtual VclAbstractDialog*          CreateSwVclDialog( int nResId,
496                                                 Window* pParent, sal_Bool& rWithPrev ); //add for SwMergeTblDlg
497     virtual SfxAbstractTabDialog*       CreateFrmTabDialog( int nResId,
498                                                 SfxViewFrame *pFrame, Window *pParent,
499                                                 const SfxItemSet& rCoreSet,
500                                                 sal_Bool            bNewFrm  = sal_True,
501                                                 sal_uInt16          nResType = DLG_FRM_STD,
502                                                 sal_Bool            bFmt     = sal_False,
503                                                 sal_uInt16          nDefPage = 0,
504                                                 const String*   pFmtStr  = 0); //add for SwFrmDlg
505     virtual SfxAbstractTabDialog*       CreateTemplateDialog( int nResId,
506                                                 Window*             pParent,
507                                                 SfxStyleSheetBase&  rBase,
508                                                 sal_uInt16              nRegion,
509                                                 sal_Bool                bColumn = sal_False,
510                                                 SwWrtShell*         pActShell = 0,
511                                                 sal_Bool                bNew = sal_False ); //add for SwTemplateDlg
512     virtual AbstractGlossaryDlg*        CreateGlossaryDlg( int nResId,
513                                                 SfxViewFrame* pViewFrame,
514                                                 SwGlossaryHdl* pGlosHdl,
515                                                 SwWrtShell *pWrtShell); //add for SwGlossaryDlg
516     virtual AbstractFldInputDlg*        CreateFldInputDlg( int nResId,
517                                                 Window *pParent, SwWrtShell &rSh,
518                                                 SwField* pField, sal_Bool bNextButton = sal_False ); //add for SwFldInputDlg
519     virtual AbstractInsFootNoteDlg*     CreateInsFootNoteDlg( int nResId,
520                                                 Window * pParent, SwWrtShell &rSh, sal_Bool bEd = sal_False); //add for SwInsFootNoteDlg
521     virtual VclAbstractDialog *         CreateVclSwViewDialog( int nResId,
522                                                 SwView& rView, sal_Bool bCol = sal_False ); //add for SwInsRowColDlg, SwLineNumberingDlg
523     virtual AbstractInsertGrfRulerDlg*      CreateInsertGrfRulerDlg( int nResId,
524                                                 Window * pParent ); //add for SwInsertGrfRulerDlg
525     virtual AbstractInsTableDlg*        CreateInsTableDlg( int nResId,
526                                                 SwView& rView ); //add for SwInsTableDlg
527     virtual AbstractJavaEditDialog*     CreateJavaEditDialog( int nResId,
528                                                 Window* pParent, SwWrtShell* pWrtSh ); //add for SwJavaEditDialog
529     virtual AbstractMailMergeDlg*       CreateMailMergeDlg( int nResId,
530                                                 Window* pParent, SwWrtShell& rSh,
531                                                 const String& rSourceName,
532                                                 const String& rTblName,
533                                                 sal_Int32 nCommandType,
534                                                 const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XConnection>& xConnection,
535                                                 ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any >* pSelection = 0 ); //add for SwMailMergeDlg
536     virtual AbstractMailMergeCreateFromDlg*     CreateMailMergeCreateFromDlg( int nResId,
537                                                     Window* pParent ); //add for SwMailMergeCreateFromDlg
538     virtual AbstractMailMergeFieldConnectionsDlg*       CreateMailMergeFieldConnectionsDlg( int nResId,
539                                                             Window* pParent ); //add for SwMailMergeFieldConnectionsDlg
540     virtual VclAbstractDialog*          CreateMultiTOXMarkDlg( int nResId,
541                                                 Window* pParent, SwTOXMgr &rTOXMgr ); //add for SwMultiTOXMarkDlg
542     virtual SfxAbstractTabDialog*       CreateSwTabDialog( int nResId,
543                                                 Window* pParent,
544                                                 const SfxItemSet* pSwItemSet,
545                                                 SwWrtShell &); //add for SwSvxNumBulletTabDialog, SwOutlineTabDialog
546     virtual AbstractMultiTOXTabDialog*      CreateMultiTOXTabDialog( int nResId,
547                                                 Window* pParent, const SfxItemSet& rSet,
548                                                 SwWrtShell &rShell,
549                                                 SwTOXBase* pCurTOX, sal_uInt16 nToxType = USHRT_MAX,
550                                                 sal_Bool bGlobal = sal_False); //add for SwMultiTOXTabDialog
551     virtual AbstractEditRegionDlg*      CreateEditRegionDlg( int nResId,
552                                                 Window* pParent, SwWrtShell& rWrtSh ); //add for SwEditRegionDlg
553     virtual AbstractInsertSectionTabDialog*     CreateInsertSectionTabDialog( int nResId,
554                                                     Window* pParent, const SfxItemSet& rSet, SwWrtShell& rSh); //add for SwInsertSectionTabDialog
555     virtual AbstractMarkFloatDlg*       CreateIndexMarkFloatDlg( int nResId,
556                                                     SfxBindings* pBindings,
557                                                     SfxChildWindow* pChild,
558                                                     Window *pParent,
559                                                     SfxChildWinInfo* pInfo,
560                                                     sal_Bool bNew=sal_True); //add for SwIndexMarkFloatDlg
561     virtual AbstractMarkFloatDlg*       CreateAuthMarkFloatDlg( int nResId,
562                                                     SfxBindings* pBindings,
563                                                     SfxChildWindow* pChild,
564                                                     Window *pParent,
565                                                     SfxChildWinInfo* pInfo,
566                                                     sal_Bool bNew=sal_True); //add for SwAuthMarkFloatDlg
567     virtual VclAbstractDialog *         CreateIndexMarkModalDlg( int nResId,
568                                                 Window *pParent, SwWrtShell& rSh, SwTOXMark* pCurTOXMark ); //add for SwIndexMarkModalDlg
569 
570     virtual AbstractMailMergeWizard*    CreateMailMergeWizard(SwView& rView, SwMailMergeConfigItem& rConfigItem);
571 
572     //add for static func in SwGlossaryDlg
573     virtual GlossaryGetCurrGroup        GetGlossaryCurrGroupFunc( sal_uInt16 nId );
574     virtual GlossarySetActGroup         SetGlossaryActGroupFunc( sal_uInt16 nId );
575 
576     // For TabPage
577     virtual CreateTabPage               GetTabPageCreatorFunc( sal_uInt16 nId );
578 
579     virtual GetTabPageRanges            GetTabPageRangesFunc( sal_uInt16 nId );
580 
581 };
582 
583 struct SwDialogsResMgr
584 {
585     static ResMgr*      GetResMgr();
586 };
587 
588 #endif
589