xref: /trunk/main/cui/source/factory/dlgfact.hxx (revision c4eee24d)
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 _CUI_DLGFACT_HXX
24 #define _CUI_DLGFACT_HXX
25 
26 // include ---------------------------------------------------------------
27 #include <svx/svxdlg.hxx>
28 #include <com/sun/star/container/XNameReplace.hpp>
29 
30 #include "tools/link.hxx"
31 #include <com/sun/star/frame/XFrame.hpp>
32 
33 class SfxTabDialog;
34 class SfxModalDialog;
35 class Dialog;
36 class SfxItemPool;
37 class FmShowColsDialog;
38 class SvxZoomDialog;
39 class FmInputRecordNoDialog;
40 class SvxJSearchOptionsDialog;
41 class FmFormShell;
42 class SvxNewDictionaryDialog;
43 class SvxNameDialog;
44 
45 // #i68101#
46 class SvxObjectNameDialog;
47 class SvxObjectTitleDescDialog;
48 
49 class SvxMessDialog;
50 class SvxMultiPathDialog;
51 class SvxMultiFileDialog;
52 class SvxHpLinkDlg;
53 class FmSearchDialog;
54 class Graphic;
55 class GraphicFilterDialog;
56 class SvxAreaTabDialog;
57 class InsertObjectDialog_Impl;
58 class SvPasteObjectDialog;
59 class SvBaseLinksDlg;
60 class SvxTransformTabDialog;
61 class SvxCaptionTabDialog;
62 class SvxThesaurusDialog;
63 class SvxHyphenWordDialog;
64 
65 namespace svx{
66 class HangulHanjaConversionDialog;
67 }
68 using namespace svx;
69 
70 #define DECL_ABSTDLG_BASE(Class,DialogClass)		\
71 	DialogClass* 		pDlg;                   	\
72 public:												\
73 					Class( DialogClass* p)			\
74 					 : pDlg(p)						\
75 					 {}                             \
76 	virtual			~Class();               		\
77 	virtual	short	Execute() ;
78 //	virtual void	Show( sal_Bool bVisible = sal_True, sal_uInt16 nFlags = 0 )
79 
80 #define IMPL_ABSTDLG_BASE(Class)					\
81 Class::~Class()                    					\
82 {                                                   \
83 	delete pDlg;                                 	\
84 }													\
85 short Class::Execute()                             \
86 {                                                   \
87 	return pDlg->Execute();                      	\
88 }
89 
90 //for GalleryThemeProperties begin
91 class VclAbstractDialog2_Impl : public VclAbstractDialog2
92 {
93     Dialog*         m_pDlg;
94     Link            m_aEndDlgHdl;
95 public:
96                     VclAbstractDialog2_Impl( Dialog* p ) : m_pDlg( p ) {}                             \
97     virtual         ~VclAbstractDialog2_Impl();
98     virtual void    StartExecuteModal( const Link& rEndDialogHdl );
99     virtual long    GetResult();
100 private:
101                     DECL_LINK( EndDialogHdl, Dialog* );
102 };
103 //for GalleryThemeProperties end
104 
105 class VclAbstractDialog_Impl : public VclAbstractDialog
106 {
107 	DECL_ABSTDLG_BASE(VclAbstractDialog_Impl,Dialog)
108 };
109 
110 //for ActualizeProgress begin
111 class VclAbstractRefreshableDialog_Impl : public VclAbstractRefreshableDialog
112 {
113 	DECL_ABSTDLG_BASE(VclAbstractRefreshableDialog_Impl,Dialog)
114 	virtual void        Update() ;
115 	virtual void        Sync() ;
116 };
117 //for ActualizeProgress end
118 
119 class AbstractSfxDialog_Impl : public SfxAbstractDialog
120 {
121 	DECL_ABSTDLG_BASE(AbstractSfxDialog_Impl,SfxModalDialog)
122 	virtual const SfxItemSet* 	GetOutputItemSet() const;
123 
124 		//From class Window.
125     virtual void		SetText( const XubString& rStr );
126     virtual String   	GetText() const ;
127 };
128 
129 class AbstractTabDialog_Impl : public SfxAbstractTabDialog
130 {
131 	DECL_ABSTDLG_BASE(AbstractTabDialog_Impl,SfxTabDialog)
132 	virtual void				SetCurPageId( sal_uInt16 nId );
133 	virtual const SfxItemSet* 	GetOutputItemSet() const;
134 	virtual const sal_uInt16*		GetInputRanges( const SfxItemPool& pItem );	//add by CHINA001
135 	virtual void				SetInputSet( const SfxItemSet* pInSet );   //add by CHINA001
136 		//From class Window.
137     virtual void		SetText( const XubString& rStr ); //add by CHINA001
138     virtual String   	GetText() const; //add by CHINA001
139 };
140 
141 //for SvxDistributeDialog begin
142 class SvxDistributeDialog;
143 class AbstractSvxDistributeDialog_Impl: public AbstractSvxDistributeDialog
144 {
145 	DECL_ABSTDLG_BASE(AbstractSvxDistributeDialog_Impl,SvxDistributeDialog)
146 public:
147 	virtual SvxDistributeHorizontal GetDistributeHor() const;
148 	virtual SvxDistributeVertical GetDistributeVer() const;
149 };
150 //for SvxDistributeDialog end
151 
152 // for HangulHanjaConversionDialog begin
153 class AbstractHangulHanjaConversionDialog_Impl: public AbstractHangulHanjaConversionDialog
154 {
155 	DECL_ABSTDLG_BASE(AbstractHangulHanjaConversionDialog_Impl,HangulHanjaConversionDialog)
156 	virtual void	EndDialog(long nResult = 0);
157     virtual void    EnableRubySupport( sal_Bool _bVal );
158 	virtual void 	SetByCharacter( sal_Bool _bByCharacter ) ;
159 	virtual void	SetConversionDirectionState( sal_Bool _bTryBothDirections, editeng::HangulHanjaConversion::ConversionDirection _ePrimaryConversionDirection );
160 	virtual void 	SetConversionFormat( editeng::HangulHanjaConversion::ConversionFormat _eType );
161     virtual void	SetOptionsChangedHdl( const Link& _rHdl );
162 	virtual void	SetIgnoreHdl( const Link& _rHdl );
163 	virtual void	SetIgnoreAllHdl( const Link& _rHdl ) ;
164 	virtual void	SetChangeHdl( const Link& _rHdl ) ;
165 	virtual void	SetChangeAllHdl( const Link& _rHdl ) ;
166     virtual void	SetClickByCharacterHdl( const Link& _rHdl ) ;
167 	virtual void	SetConversionFormatChangedHdl( const Link& _rHdl ) ;
168 	virtual void	SetFindHdl( const Link& _rHdl );
169 	virtual sal_Bool		GetUseBothDirections( ) const;
170     virtual editeng::HangulHanjaConversion::ConversionDirection    GetDirection( editeng::HangulHanjaConversion::ConversionDirection _eDefaultDirection ) const;
171 	virtual void	SetCurrentString(
172 					const String& _rNewString,
173 					const ::com::sun::star::uno::Sequence< ::rtl::OUString >& _rSuggestions,
174 					bool _bOriginatesFromDocument = true
175 				);
176 	virtual String	GetCurrentString( ) const ;
177 	virtual editeng::HangulHanjaConversion::ConversionFormat    GetConversionFormat( ) const ;
178 	virtual void	FocusSuggestion( );
179 	virtual String	GetCurrentSuggestion( ) const;
180 };
181 
182 class AbstractThesaurusDialog_Impl : public AbstractThesaurusDialog
183 {
184 	DECL_ABSTDLG_BASE(AbstractThesaurusDialog_Impl,SvxThesaurusDialog)
185     virtual String		GetWord();
186 	virtual sal_uInt16	GetLanguage() const;
187 	virtual Window*		GetWindow();
188 };
189 
190 
191 class AbstractHyphenWordDialog_Impl: public AbstractHyphenWordDialog
192 {
193 	DECL_ABSTDLG_BASE(AbstractHyphenWordDialog_Impl,SvxHyphenWordDialog)
194 	virtual void	SelLeft();
195 	virtual void	SelRight();
196 	virtual Window*	GetWindow();
197 };
198 
199 // for FmShowColsDialog begin
200 class FmShowColsDialog;
201 class AbstractFmShowColsDialog_Impl : public AbstractFmShowColsDialog
202 {
203 	DECL_ABSTDLG_BASE(AbstractFmShowColsDialog_Impl,FmShowColsDialog)
204  	virtual void 	SetColumns(const ::com::sun::star::uno::Reference< ::com::sun::star::container::XIndexContainer>& xCols);
205 };
206 //for FmShowColsDialog end
207 
208 
209 //for SvxZoomDialog begin
210 class SvxZoomDialog;
211 class AbstractSvxZoomDialog_Impl : public AbstractSvxZoomDialog
212 {
213 	DECL_ABSTDLG_BASE(AbstractSvxZoomDialog_Impl,SvxZoomDialog)
214 	virtual void	SetLimits( sal_uInt16 nMin, sal_uInt16 nMax );
215 	virtual void	HideButton( sal_uInt16 nBtnId );
216 	virtual const SfxItemSet*	GetOutputItemSet() const ;
217 
218 };
219 //for SvxZoomDialog end
220 
221 //for SvxSpellDialog begin
222 namespace svx{ class SpellDialog;}
223 class AbstractSpellDialog_Impl : public AbstractSpellDialog
224 {
225  public:
226     DECL_ABSTDLG_BASE(AbstractSpellDialog_Impl, svx::SpellDialog)
227     virtual void        SetLanguage( sal_uInt16 nLang );
228     virtual sal_Bool    Close();
229     virtual void        Invalidate();
230     virtual Window*     GetWindow();
231     virtual SfxBindings& GetBindings();
232 };
233 
234 //for SearchProgress begin
235 class SearchProgress;
236 class AbstractSearchProgress_Impl : public AbstractSearchProgress
237 {
238 	DECL_ABSTDLG_BASE(AbstractSearchProgress_Impl,SearchProgress)
239 	virtual void        Update() ;
240     virtual void        Sync() ;
241 	virtual void 	SetFileType( const String& rType ) ;
242 	virtual void 	SetDirectory( const INetURLObject& rURL ) ;
243 	virtual PLinkStub	GetLinkStubCleanUpHdl() ;
244 
245 };
246 //for SearchProgress end
247 
248 //for TakeProgress begin
249 class TakeProgress;
250 class AbstractTakeProgress_Impl : public AbstractTakeProgress
251 {
252 	DECL_ABSTDLG_BASE(AbstractTakeProgress_Impl,TakeProgress)
253 	virtual void        Update() ;
254     virtual void        Sync() ;
255 	virtual void 		SetFile( const INetURLObject& rURL ) ;
256 	virtual PLinkStub	GetLinkStubCleanUpHdl() ;
257 
258 };
259 //for TakeProgress end
260 
261 //for TitleDialog begin
262 class TitleDialog;
263 class AbstractTitleDialog_Impl : public AbstractTitleDialog
264 {
265 	DECL_ABSTDLG_BASE(AbstractTitleDialog_Impl,TitleDialog)
266 	virtual String	GetTitle() const ;
267 
268 };
269 //for TitleDialog end
270 
271 //for SvxScriptSelectorDialog begin
272 class SvxScriptSelectorDialog;
273 class AbstractScriptSelectorDialog_Impl : public AbstractScriptSelectorDialog
274 {
275 	DECL_ABSTDLG_BASE(
276 		AbstractScriptSelectorDialog_Impl, SvxScriptSelectorDialog)
277 
278 	virtual String GetScriptURL() const;
279 
280 	virtual void SetRunLabel();
281 };
282 
283 //for GalleryIdDialog begin
284 class GalleryIdDialog;
285 class AbstractGalleryIdDialog_Impl : public AbstractGalleryIdDialog
286 {
287 	DECL_ABSTDLG_BASE(AbstractGalleryIdDialog_Impl,GalleryIdDialog)
288 	virtual sal_uLong	GetId() const ;
289 
290 };
291 //for GalleryIdDialog end
292 
293 //for URLDlg start
294 class URLDlg;
295 class AbstractURLDlg_Impl :public AbstractURLDlg
296 {
297 	DECL_ABSTDLG_BASE(AbstractURLDlg_Impl,URLDlg)
298 	virtual String		GetURL() const;
299 	virtual String		GetAltText() const;
300 	virtual String		GetDesc() const;
301 	virtual String		GetTarget() const;
302 	virtual String		GetName() const;
303 };
304 //for URLDlg end
305 
306 //for SvxHlinkDlgMarkWnd begin
307 class SvxHlinkDlgMarkWnd;
308 class AbstractSvxHlinkDlgMarkWnd_Impl : public AbstractSvxHlinkDlgMarkWnd
309 {
310 	DECL_ABSTDLG_BASE(AbstractSvxHlinkDlgMarkWnd_Impl,SvxHlinkDlgMarkWnd)
311 	virtual void				Hide( sal_uInt16 nFlags = 0 );
312     virtual sal_Bool				IsVisible() const ;
313 	virtual void				Invalidate( sal_uInt16 nFlags = 0 );
314 	virtual void				SetSizePixel( const Size& rNewSize );
315     virtual Size				GetSizePixel() const;
316 	virtual sal_Bool				MoveTo ( Point aNewPos )const;
317 	virtual sal_Bool				ConnectToDialog( sal_Bool bDoit = sal_True )const;
318 	virtual void				RefreshTree ( String aStrURL ) ;
319 	virtual void				SelectEntry ( String aStrMark );
320 	virtual sal_uInt16				SetError( sal_uInt16 nError) ;
321 
322 };
323 //for SvxHlinkDlgMarkWnd end
324 
325 //for SvxSearchSimilarityDialog begin
326 class SvxSearchSimilarityDialog;
327 class AbstractSvxSearchSimilarityDialog_Impl :public AbstractSvxSearchSimilarityDialog
328 {
329 	DECL_ABSTDLG_BASE(AbstractSvxSearchSimilarityDialog_Impl,SvxSearchSimilarityDialog)
330 	virtual sal_uInt16				GetOther();
331 	virtual sal_uInt16				GetShorter();
332 	virtual sal_uInt16				GetLonger();
333 	virtual sal_Bool 				IsRelaxed();
334 };
335 //for SvxSearchSimilarityDialog end
336 
337 //for SvxJSearchOptionsDialog end
338 class SvxJSearchOptionsDialog;
339 class AbstractSvxJSearchOptionsDialog_Impl :public AbstractSvxJSearchOptionsDialog
340 {
341 	DECL_ABSTDLG_BASE(AbstractSvxJSearchOptionsDialog_Impl,SvxJSearchOptionsDialog)
342 	virtual sal_Int32			GetTransliterationFlags() const;
343 };
344 //for SvxJSearchOptionsDialog end
345 
346 class AbstractSvxTransformTabDialog_Impl : public AbstractSvxTransformTabDialog
347 {
348     DECL_ABSTDLG_BASE(AbstractSvxTransformTabDialog_Impl,SvxTransformTabDialog)
349     virtual void SetValidateFramePosLink( const Link& rLink );
350     virtual void                SetCurPageId( sal_uInt16 nId );
351     virtual const SfxItemSet*   GetOutputItemSet() const;
352     virtual const sal_uInt16*       GetInputRanges( const SfxItemPool& pItem );
353     virtual void                SetInputSet( const SfxItemSet* pInSet );
354     virtual void        SetText( const XubString& rStr );
355     virtual String      GetText() const;
356 };
357 class AbstractSvxCaptionDialog_Impl : public AbstractSvxCaptionDialog
358 {
359     DECL_ABSTDLG_BASE(AbstractSvxCaptionDialog_Impl,SvxCaptionTabDialog)
360     virtual void SetValidateFramePosLink( const Link& rLink );
361     virtual void                SetCurPageId( sal_uInt16 nId );
362     virtual const SfxItemSet*   GetOutputItemSet() const;
363     virtual const sal_uInt16*       GetInputRanges( const SfxItemPool& pItem );
364     virtual void                SetInputSet( const SfxItemSet* pInSet );
365     virtual void        SetText( const XubString& rStr );
366     virtual String      GetText() const;
367 };
368 
369 //for FmInputRecordNoDialog end
370 class FmInputRecordNoDialog;
371 class AbstractFmInputRecordNoDialog_Impl :public AbstractFmInputRecordNoDialog
372 {
373 	DECL_ABSTDLG_BASE(AbstractFmInputRecordNoDialog_Impl,FmInputRecordNoDialog)
374     virtual void SetValue(long nNew) ;
375 	virtual long GetValue() const ;
376 };
377 //for FmInputRecordNoDialog end
378 
379 //for SvxNewDictionaryDialog end
380 class SvxNewDictionaryDialog;
381 class AbstractSvxNewDictionaryDialog_Impl :public AbstractSvxNewDictionaryDialog
382 {
383 	DECL_ABSTDLG_BASE(AbstractSvxNewDictionaryDialog_Impl,SvxNewDictionaryDialog)
384     virtual ::com::sun::star::uno::Reference< ::com::sun::star::linguistic2::XDictionary >  GetNewDictionary();
385 };
386 //for SvxNewDictionaryDialog end
387 
388 //for SvxNameDialog end
389 class SvxNameDialog;
390 class AbstractSvxNameDialog_Impl :public AbstractSvxNameDialog
391 {
392 	DECL_ABSTDLG_BASE(AbstractSvxNameDialog_Impl,SvxNameDialog)
393 	virtual void    GetName( String& rName ) ;
394 	virtual void    SetCheckNameHdl( const Link& rLink, bool bCheckImmediately = false ) ;
395     virtual void    SetEditHelpId(const rtl::OString&) ;
396 	//from class Window
397 	virtual void    SetHelpId( const rtl::OString& ) ;
398 	virtual void    SetText( const XubString& rStr ) ;
399 private:
400 	Link aCheckNameHdl;
401 	DECL_LINK( CheckNameHdl, Window*);
402 };
403 //for SvxNameDialog end
404 
405 ///////////////////////////////////////////////////////////////////////////////////////////////
406 // #i68101#
407 
408 // predefines
409 class SvxObjectNameDialog;
410 class SvxObjectTitleDescDialog;
411 
412 class AbstractSvxObjectNameDialog_Impl :public AbstractSvxObjectNameDialog
413 {
414 	DECL_ABSTDLG_BASE(AbstractSvxObjectNameDialog_Impl, SvxObjectNameDialog)
415 	virtual void GetName(String& rName) ;
416 	virtual void SetCheckNameHdl(const Link& rLink, bool bCheckImmediately = false);
417 
418 private:
419 	Link aCheckNameHdl;
420 	DECL_LINK(CheckNameHdl, Window*);
421 };
422 
423 class AbstractSvxObjectTitleDescDialog_Impl :public AbstractSvxObjectTitleDescDialog
424 {
425 	DECL_ABSTDLG_BASE(AbstractSvxObjectTitleDescDialog_Impl, SvxObjectTitleDescDialog)
426 	virtual void GetTitle(String& rName);
427 	virtual void GetDescription(String& rName);
428 };
429 
430 ///////////////////////////////////////////////////////////////////////////////////////////////
431 
432 //for SvxMessDialog end
433 class SvxMessDialog;
434 class AbstractSvxMessDialog_Impl :public AbstractSvxMessDialog
435 {
436 	DECL_ABSTDLG_BASE(AbstractSvxMessDialog_Impl,SvxMessDialog)
437 	virtual void	SetButtonText( sal_uInt16 nBtnId, const String& rNewTxt );
438 };
439 //for SvxMessDialog end
440 
441 //for SvxMultiPathDialog end
442 class SvxMultiPathDialog;
443 class AbstractSvxMultiPathDialog_Impl :public AbstractSvxMultiPathDialog
444 {
445 	DECL_ABSTDLG_BASE(AbstractSvxMultiPathDialog_Impl,SvxMultiPathDialog)
446 	virtual String			GetPath() const;
447 	virtual void			SetPath( const String& rPath );
448     virtual void            EnableRadioButtonMode();
449     virtual void            SetTitle( const String& rNewTitle );
450 };
451 //for SvxMultiPathDialog end
452 
453 //for SvxMultiFileDialog begin
454 class SvxMultiFileDialog;
455 class AbstractSvxMultiFileDialog_Impl :public AbstractSvxMultiFileDialog
456 {
457 	DECL_ABSTDLG_BASE(AbstractSvxMultiFileDialog_Impl,SvxMultiFileDialog)
458 	virtual String			GetFiles() const ;
459 	virtual void			SetFiles( const String& rPath ) ;
460 	//from SvxMultiPathDialog
461 	virtual String			GetPath() const;
462 	virtual void			SetPath( const String& rPath );
463 	virtual void			SetClassPathMode();
464     virtual void            EnableRadioButtonMode();
465     virtual void            SetTitle( const String& rNewTitle );
466 	//From Class Window
467 	virtual void    SetHelpId( const rtl::OString& ) ;
468 
469 };
470 //for SvxMultiFileDialog end
471 
472 //for SvxHpLinkDlg begin
473 class SvxHpLinkDlg;
474 class AbstractSvxHpLinkDlg_Impl :public AbstractSvxHpLinkDlg
475 {
476     DECL_ABSTDLG_BASE(AbstractSvxHpLinkDlg_Impl,SvxHpLinkDlg)
477     virtual Window*     GetWindow();
478     virtual sal_Bool    QueryClose();
479 };
480 //for SvxHpLinkDlg end
481 
482 //for FmSearchDialog begin
483 class FmSearchDialog;
484 class AbstractFmSearchDialog_Impl :public AbstractFmSearchDialog
485 {
486 	DECL_ABSTDLG_BASE(AbstractFmSearchDialog_Impl,FmSearchDialog)
487 	virtual void SetFoundHandler(const Link& lnk) ;
488 	virtual void SetCanceledNotFoundHdl(const Link& lnk);
489 	virtual void SetActiveField(const String& strField);
490 };
491 //for FmSearchDialog end
492 
493 //for GraphicFilterDialog begin
494 class GraphicFilterDialog;
495 class AbstractGraphicFilterDialog_Impl :public AbstractGraphicFilterDialog
496 {
497 	DECL_ABSTDLG_BASE(AbstractGraphicFilterDialog_Impl,GraphicFilterDialog)
498 	virtual Graphic	GetFilteredGraphic( const Graphic& rGraphic, double fScaleX, double fScaleY );
499 };
500 //for GraphicFilterDialog end
501 
502 //add for SvxAreaTabDialog begin
503 class SvxAreaTabDialog;
504 class AbstractSvxAreaTabDialog_Impl :public AbstractSvxAreaTabDialog
505 {
506 	DECL_ABSTDLG_BASE(AbstractSvxAreaTabDialog_Impl,SvxAreaTabDialog)
507 	virtual void				SetCurPageId( sal_uInt16 nId );
508 	virtual const SfxItemSet* 	GetOutputItemSet() const;
509 	virtual const sal_uInt16*		GetInputRanges( const SfxItemPool& pItem );
510 	virtual void				SetInputSet( const SfxItemSet* pInSet );
511 		//From class Window.
512     virtual void		SetText( const XubString& rStr );
513     virtual String   	GetText() const;
514 	virtual void	 DontDeleteColorTable() ;
515 };
516 //add for SvxAreaTabDialog end
517 
518 class AbstractInsertObjectDialog_Impl : public SfxAbstractInsertObjectDialog
519 {
520     DECL_ABSTDLG_BASE(AbstractInsertObjectDialog_Impl, InsertObjectDialog_Impl)
521     virtual com::sun::star::uno::Reference < com::sun::star::embed::XEmbeddedObject > GetObject();
522 	virtual ::com::sun::star::uno::Reference< ::com::sun::star::io::XInputStream > GetIconIfIconified( ::rtl::OUString* pGraphicMediaType );
523     virtual sal_Bool IsCreateNew();
524 };
525 
526 class AbstractPasteDialog_Impl : public SfxAbstractPasteDialog
527 {
528 public:
529     DECL_ABSTDLG_BASE(AbstractPasteDialog_Impl, SvPasteObjectDialog )
530     virtual void Insert( SotFormatStringId nFormat, const String & rFormatName );
531     virtual void SetObjName( const SvGlobalName & rClass, const String & rObjName );
532     virtual sal_uLong GetFormat( const TransferableDataHelper& aHelper,
533                         const DataFlavorExVector* pFormats=0,
534                         const TransferableObjectDescriptor* pDesc=0 );
535 };
536 
537 class AbstractLinksDialog_Impl : public SfxAbstractLinksDialog
538 {
539 public:
540     DECL_ABSTDLG_BASE(AbstractLinksDialog_Impl, SvBaseLinksDlg )
541 };
542 
543 
544 //add for SvxPostItDialog begin
545 class SvxPostItDialog;
546 class AbstractSvxPostItDialog_Impl :public AbstractSvxPostItDialog
547 {
548 	DECL_ABSTDLG_BASE( AbstractSvxPostItDialog_Impl, SvxPostItDialog )
549 	virtual void				SetText( const XubString& rStr );  //From class Window
550 	virtual const SfxItemSet*   GetOutputItemSet() const;
551 	virtual void                SetPrevHdl( const Link& rLink ) ;
552 	virtual void                SetNextHdl( const Link& rLink ) ;
553 	virtual void				EnableTravel(sal_Bool bNext, sal_Bool bPrev) ;
554 	virtual String				GetNote() ;
555 	virtual void				SetNote(const String& rTxt) ;
556 	virtual void				ShowLastAuthor(const String& rAuthor, const String& rDate) ;
557 	virtual void				DontChangeAuthor() ;
558 	virtual void				HideAuthor() ;
559 	virtual void				SetReadonlyPostIt(sal_Bool bDisable) ;
560 	virtual sal_Bool 				IsOkEnabled() const  ;
561 	virtual Window *			GetWindow();
562 private:
563 	Link aNextHdl;
564 	Link aPrevHdl;
565 	DECL_LINK( NextHdl, Window*);
566 	DECL_LINK( PrevHdl, Window*);
567 };
568 //add for SvxPostItDialog end
569 
570 //for PasswordToOpenModifyDialog begin
571 class PasswordToOpenModifyDialog;
572 class AbstractPasswordToOpenModifyDialog_Impl : public AbstractPasswordToOpenModifyDialog
573 {
574     DECL_ABSTDLG_BASE( AbstractPasswordToOpenModifyDialog_Impl, PasswordToOpenModifyDialog )
575 
576     virtual String  GetPasswordToOpen() const;
577     virtual String  GetPasswordToModify() const;
578     virtual bool    IsRecommendToOpenReadonly() const;
579 };
580 //for PasswordToOpenModifyDialog end
581 
582 
583 //------------------------------------------------------------------------
584 //AbstractDialogFactory_Impl implementations
585 class AbstractDialogFactory_Impl : public SvxAbstractDialogFactory
586 {
587 public:
588 	virtual VclAbstractDialog* 			CreateVclDialog( Window* pParent, sal_uInt32 nResId );
589 	virtual VclAbstractDialog* 			CreateSfxDialog( Window* pParent, const SfxBindings& rBindings, sal_uInt32 nResId );
590 	virtual SfxAbstractDialog*			CreateSfxDialog( sal_uInt32 nResId,
591 											Window* pParent,
592                                             const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >& xViewFrame,
593 											const SfxItemSet* pAttrSet=0 );
594 	virtual SfxAbstractDialog*			CreateSfxDialog( Window* pParent,
595 											const SfxItemSet& rAttr,
596 											const SdrView* pView,
597 											sal_uInt32 nResId );
598 	virtual SfxAbstractDialog*				CreateSfxDialog( Window* pParent, //add for SvxMeasureDialog & SvxConnectionDialog
599 																		const SfxItemSet& rAttr,
600 									const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >& _rxFrame,
601 																		sal_uInt32 nResId
602 																		);
603 	virtual VclAbstractDialog*          CreateFrameDialog( Window* pParent, const com::sun::star::uno::Reference< com::sun::star::frame::XFrame >& rxFrame, sal_uInt32 nResId, const String& rParameter );
604 	virtual SfxAbstractTabDialog*		CreateTabDialog( sal_uInt32 nResId,
605 											Window* pParent,
606 											const SfxItemSet* pAttrSet,
607 											SfxViewFrame* pViewFrame,
608 											bool bEditFmt=false,
609 											const String *pUserButtonText=0 );
610 	virtual SfxAbstractTabDialog*		CreateTabDialog( sal_uInt32 nResId,
611 											Window* pParent,
612 											const SfxItemSet* pAttrSet,
613                                             const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >& xViewFrame,
614 											bool bEditFmt=false,
615 											const String *pUserButtonText=0 );
616 	virtual SfxAbstractTabDialog* 		CreateTextTabDialog( Window* pParent,
617 											const SfxItemSet* pAttrSet,
618 											SdrView* pView,
619 											SdrModel* pModel=0 ); //add for SvxTextTabDialog
620 	virtual SfxAbstractTabDialog*		CreateTabItemDialog( Window* pParent,
621 											const SfxItemSet& rSet,
622 											sal_uInt32 nResId); //add by CHINA001
623     virtual AbstractSvxCaptionDialog*   CreateCaptionDialog( Window* pParent,
624 											const SdrView* pView,
625 											sal_uInt16 nAnchorTypes = 0 );		//add for SvxCaptionTabDialog CHINA001
626 	virtual	AbstractSvxDistributeDialog* 	CreateSvxDistributeDialog(Window* pParent,
627 											const SfxItemSet& rAttr,
628 											SvxDistributeHorizontal eHor = SvxDistributeHorizontalNone,
629 											SvxDistributeVertical eVer = SvxDistributeVerticalNone);
630     virtual SfxAbstractInsertObjectDialog* CreateInsertObjectDialog( Window* pParent, const rtl::OUString& rCommmand,
631             const com::sun::star::uno::Reference < com::sun::star::embed::XStorage >& xStor,
632             const SvObjectServerList* pList = 0 );
633     virtual VclAbstractDialog*          CreateEditObjectDialog( Window* pParent, const rtl::OUString& rCommmand,
634             const com::sun::star::uno::Reference < com::sun::star::embed::XEmbeddedObject >& xObj );
635    virtual  SfxAbstractPasteDialog*         CreatePasteDialog( Window* pParent );
636    virtual  SfxAbstractLinksDialog*         CreateLinksDialog( Window* pParent, sfx2::LinkManager* pMgr, sal_Bool bHTML, sfx2::SvBaseLink* p=0  );
637 
638    virtual AbstractHangulHanjaConversionDialog * CreateHangulHanjaConversionDialog( Window* _pParent,  //add for HangulHanjaConversionDialog CHINA001
639 											editeng::HangulHanjaConversion::ConversionDirection _ePrimaryDirection );
640 	virtual AbstractThesaurusDialog*		CreateThesaurusDialog( Window*, ::com::sun::star::uno::Reference< ::com::sun::star::linguistic2::XThesaurus >  xThesaurus,
641 												const String &rWord, sal_Int16 nLanguage );
642 
643 	virtual AbstractHyphenWordDialog*		CreateHyphenWordDialog( Window*,
644 												const String &rWord, LanguageType nLang,
645 												::com::sun::star::uno::Reference< ::com::sun::star::linguistic2::XHyphenator >  &xHyphen,
646 												SvxSpellWrapper* pWrapper );
647 
648    virtual AbstractFmShowColsDialog * CreateFmShowColsDialog( Window* pParent );  //add for FmShowColsDialog
649    virtual AbstractSvxZoomDialog * CreateSvxZoomDialog( Window* pParent,  //add for SvxZoomDialog
650 											const SfxItemSet& rCoreSet);
651    virtual SfxAbstractTabDialog* CreateSvxBorderBackgroundDlg( Window* pParent, //add for SvxBorderBackgroundDlg
652 											const SfxItemSet& rCoreSet,
653 											sal_Bool bEnableSelector = sal_False) ;
654    virtual AbstractSvxTransformTabDialog* CreateSvxTransformTabDialog( Window* pParent, //add for SvxTransformTabDialog
655 																const SfxItemSet* pAttr,
656 																const SdrView* pView,
657 																sal_uInt16 nAnchorTypes = 0) ;
658 	virtual SfxAbstractTabDialog* CreateSchTransformTabDialog( Window* pParent,  //add for SchTransformTabDialog
659 																const SfxItemSet* pAttr,
660 																const SdrView* pSdrView,
661 																sal_uInt32 nResId,
662 																bool bSizeTabPage = false
663 																 );
664     virtual AbstractSpellDialog *  CreateSvxSpellDialog(
665                             Window* pParent,
666                             SfxBindings* pBindings,
667                             svx::SpellDialogChildWindow* pSpellChildWindow );
668 
669 //STRIP001    virtual AbstractSvxSpellCheckDialog * CreateSvxSpellCheckDialog( Window* pParent, //add for SvxSpellCheckDialog
670 //STRIP001    ::com::sun::star::uno::Reference<
671 //STRIP001    ::com::sun::star::linguistic2::XSpellChecker1 >  &xChecker,
672 //STRIP001    SvxSpellWrapper* pWrapper,
673 //STRIP001    sal_uInt32 nResId);
674 	virtual VclAbstractRefreshableDialog * CreateActualizeProgressDialog( Window* pParent, GalleryTheme* pThm );
675 	virtual AbstractSearchProgress * CreateSearchProgressDialog( Window* pParent,
676 											const INetURLObject& rStartURL);
677 	virtual AbstractTakeProgress * CreateTakeProgressDialog( Window* pParent );
678 	virtual AbstractTitleDialog * CreateTitleDialog( Window* pParent,  //add for TitleDialog
679 		 									const String& rOldText);
680 	virtual AbstractGalleryIdDialog * CreateGalleryIdDialog( Window* pParent,  //add for SvxZoomDialog
681 											GalleryTheme* pThm);
682     virtual VclAbstractDialog2 * CreateGalleryThemePropertiesDialog( Window* pParent,  //add for GalleryThemeProperties
683 											ExchangeData* pData,
684 											SfxItemSet* pItemSet);
685 	virtual AbstractURLDlg * CreateURLDialog( Window* pParent,  //add for URLDlg
686 											const String& rURL, const String& rAltText, const String& rDescription,
687 											const String& rTarget, const String& rName,
688 											TargetList& rTargetList );
689 	virtual AbstractSvxHlinkDlgMarkWnd* CreateSvxHlinkDlgMarkWndDialog( SvxHyperlinkTabPageBase* pParent, sal_uInt32 nResId ); //add for SvxHlinkDlgMarkWnd
690 
691 	virtual VclAbstractDialog* 		CreateSvxSearchAttributeDialog( Window* pParent,
692 											SearchAttrItemList& rLst,
693 											const sal_uInt16* pWhRanges);
694 	virtual AbstractSvxSearchSimilarityDialog * CreateSvxSearchSimilarityDialog( Window* pParent,
695 															sal_Bool bRelax,
696 															sal_uInt16 nOther,
697 															sal_uInt16 nShorter,
698 															sal_uInt16 nLonger); //add for SvxSearchSimilarityDialog
699 	virtual AbstractSvxJSearchOptionsDialog * CreateSvxJSearchOptionsDialog( Window* pParent,
700 															const SfxItemSet& rOptionsSet,
701 															sal_Int32 nInitialFlags);
702 	virtual AbstractFmInputRecordNoDialog * CreateFmInputRecordNoDialog( Window* pParent );
703 	virtual AbstractSvxNewDictionaryDialog* CreateSvxNewDictionaryDialog( Window* pParent,
704 											::com::sun::star::uno::Reference< ::com::sun::star::linguistic2::XSpellChecker1 >  &xSpl,
705 											sal_uInt32 nResId ); //add for SvxNewDictionaryDialog
706 	virtual VclAbstractDialog *		CreateSvxEditDictionaryDialog( Window* pParent,
707 											const String& rName,
708 											::com::sun::star::uno::Reference< ::com::sun::star::linguistic2::XSpellChecker1> &xSpl,
709 											sal_uInt32 nResId);//add for SvxEditDictionaryDialog
710 	virtual AbstractSvxNameDialog *		CreateSvxNameDialog( Window* pParent,
711 											const String& rName, const String& rDesc );
712 	// #i68101#
713 	virtual AbstractSvxObjectNameDialog* CreateSvxObjectNameDialog(Window* pParent, const String& rName );
714 	virtual AbstractSvxObjectTitleDescDialog* CreateSvxObjectTitleDescDialog(Window* pParent, const String& rTitle, const String& rDescription);
715 
716 	virtual AbstractSvxMessDialog *			CreateSvxMessDialog( Window* pParent, sal_uInt32 nResId,
717 											const String& rText, const String& rDesc,
718 											Image* pImg = NULL ); //add for SvxMessDialog
719 	virtual AbstractSvxMultiPathDialog *	CreateSvxMultiPathDialog( Window* pParent, sal_Bool bEmptyAllowed = sal_False ); //add for SvxMultiPathDialog
720 	virtual AbstractSvxMultiFileDialog *	CreateSvxMultiFileDialog( Window* pParent, sal_Bool bEmptyAllowed = sal_False ); //add for SvxMultiFileDialog
721 	virtual AbstractSvxHpLinkDlg *			CreateSvxHpLinkDlg (Window* pParent,  //add for SvxHpLink
722 											SfxBindings* pBindings,
723 											sal_uInt32 nResId);
724 	virtual AbstractFmSearchDialog* 		CreateFmSearchDialog(Window* pParent, //add for FmSearchDialog
725 														const String& strInitialText,
726                                                         const ::std::vector< String >& _rContexts,
727 														sal_Int16 nInitialContext,
728 														const Link& lnkContextSupplier);
729 	virtual AbstractGraphicFilterDialog *	CreateGraphicFilterEmboss (Window* pParent,  //add for GraphicFilterEmboss
730 											const Graphic& rGraphic,
731 											RECT_POINT eLightSource, sal_uInt32 nResId);
732 	virtual AbstractGraphicFilterDialog *	CreateGraphicFilterPosterSepia (Window* pParent,  //add for GraphicFilterPoster & GraphicFilterSepia
733 											const Graphic& rGraphic,
734 											sal_uInt16 nCount,
735 											sal_uInt32 nResId);
736 	virtual AbstractGraphicFilterDialog *	CreateGraphicFilterSolarize (Window* pParent,  //add for GraphicFilterSolarize
737 											const Graphic& rGraphic,
738 											sal_uInt8 nGreyThreshold, sal_Bool bInvert, sal_uInt32 nResId);
739 	virtual AbstractGraphicFilterDialog *	CreateGraphicFilterMosaic (Window* pParent,  //add for GraphicFilterMosaic
740 											const Graphic& rGraphic,
741 											sal_uInt16 nTileWidth, sal_uInt16 nTileHeight, sal_Bool bEnhanceEdges, sal_uInt32 nResId);
742 	virtual AbstractSvxAreaTabDialog* 		CreateSvxAreaTabDialog( Window* pParent,//add for SvxAreaTabDialog
743 															const SfxItemSet* pAttr,
744 															SdrModel* pModel,
745 															const SdrView* pSdrView = NULL ); //add for SvxAreaTabDialog
746 	virtual SfxAbstractTabDialog*			CreateSvxLineTabDialog( Window* pParent, const SfxItemSet* pAttr, //add for SvxLineTabDialog
747 																 SdrModel* pModel,
748 																 const SdrObject* pObj = NULL,
749 																sal_Bool bHasObj = sal_True );
750 	virtual AbstractSvxPostItDialog*		CreateSvxPostItDialog( Window* pParent, //add for SvxPostItDialog
751 																		const SfxItemSet& rCoreSet,
752 																		sal_Bool bPrevNext = sal_False, sal_Bool bRedline = sal_False );
753 
754 	// For TabPage
755 	virtual CreateTabPage				GetTabPageCreatorFunc( sal_uInt16 nId );
756 	virtual CreateSvxDistributePage		GetSvxDistributePageCreatorFunc();
757 
758 	virtual GetTabPageRanges			GetTabPageRangesFunc( sal_uInt16 nId );
759 	virtual DialogGetRanges			GetDialogGetRangesFunc( sal_uInt16 nId ); //add for SvxPostItDialog
760     virtual VclAbstractDialog*    		CreateSvxScriptOrgDialog( Window* pParent, const String& rLanguage );
761 
762     virtual AbstractScriptSelectorDialog*
763 		CreateScriptSelectorDialog(
764 			Window* pParent,
765             sal_Bool bShowSlots,
766             const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >& _rxFrame
767         );
768 
769 	virtual VclAbstractDialog* CreateScriptErrorDialog(
770 			Window* pParent, ::com::sun::star::uno::Any aException);
771 
772     virtual VclAbstractDialog*  CreateSvxMacroAssignDlg(
773                 Window* _pParent,
774                 const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >& _rxDocumentFrame,
775                 const bool _bUnoDialogMode,
776                 const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameReplace >& _rxEvents,
777                 const sal_uInt16 _nInitiallySelectedEvent
778             );
779 
780 	virtual SfxAbstractTabDialog* CreateSvxFormatCellsDialog( Window* pParent, const SfxItemSet* pAttr, SdrModel* pModel, const SdrObject* pObj = NULL );
781 
782 	virtual SvxAbstractSplittTableDialog* CreateSvxSplittTableDialog( Window* pParent, bool bIsTableVertical, long nMaxVertical, long nMaxHorizontal );
783 
784 	virtual SvxAbstractNewTableDialog* CreateSvxNewTableDialog( Window* pParent ) ;
785 
786 	virtual VclAbstractDialog*          CreateOptionsDialog(
787         Window* pParent, const rtl::OUString& rExtensionId, const rtl::OUString& rApplicationContext );
788 
789 	virtual SvxAbstractInsRowColDlg* CreateSvxInsRowColDlg( Window* pParent, bool bCol, const rtl::OString& sHelpId );
790 
791     virtual AbstractPasswordToOpenModifyDialog *    CreatePasswordToOpenModifyDialog( Window * pParent, sal_uInt16 nMinPasswdLen, sal_uInt16 nMaxPasswdLen, bool bIsPasswordToModify );
792 };
793 
794 #endif
795 
796