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