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