xref: /aoo42x/main/sw/source/ui/dialog/swdlgfact.hxx (revision cdf0e10c)
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