xref: /AOO41X/main/cui/source/factory/dlgfact.hxx (revision 3ce09a58b0d6873449cda31e55c66dba2dbc8f7f)
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:
VclAbstractDialog2_Impl(Dialog * p)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 };
515 //add for SvxAreaTabDialog end
516 
517 class AbstractInsertObjectDialog_Impl : public SfxAbstractInsertObjectDialog
518 {
519     DECL_ABSTDLG_BASE(AbstractInsertObjectDialog_Impl, InsertObjectDialog_Impl)
520     virtual com::sun::star::uno::Reference < com::sun::star::embed::XEmbeddedObject > GetObject();
521     virtual ::com::sun::star::uno::Reference< ::com::sun::star::io::XInputStream > GetIconIfIconified( ::rtl::OUString* pGraphicMediaType );
522     virtual sal_Bool IsCreateNew();
523 };
524 
525 class AbstractPasteDialog_Impl : public SfxAbstractPasteDialog
526 {
527 public:
528     DECL_ABSTDLG_BASE(AbstractPasteDialog_Impl, SvPasteObjectDialog )
529     virtual void Insert( SotFormatStringId nFormat, const String & rFormatName );
530     virtual void SetObjName( const SvGlobalName & rClass, const String & rObjName );
531     virtual sal_uLong GetFormat( const TransferableDataHelper& aHelper,
532                         const DataFlavorExVector* pFormats=0,
533                         const TransferableObjectDescriptor* pDesc=0 );
534 };
535 
536 class AbstractLinksDialog_Impl : public SfxAbstractLinksDialog
537 {
538 public:
539     DECL_ABSTDLG_BASE(AbstractLinksDialog_Impl, SvBaseLinksDlg )
540 };
541 
542 
543 //add for SvxPostItDialog begin
544 class SvxPostItDialog;
545 class AbstractSvxPostItDialog_Impl :public AbstractSvxPostItDialog
546 {
547     DECL_ABSTDLG_BASE( AbstractSvxPostItDialog_Impl, SvxPostItDialog )
548     virtual void                SetText( const XubString& rStr );  //From class Window
549     virtual const SfxItemSet*   GetOutputItemSet() const;
550     virtual void                SetPrevHdl( const Link& rLink ) ;
551     virtual void                SetNextHdl( const Link& rLink ) ;
552     virtual void                EnableTravel(sal_Bool bNext, sal_Bool bPrev) ;
553     virtual String              GetNote() ;
554     virtual void                SetNote(const String& rTxt) ;
555     virtual void                ShowLastAuthor(const String& rAuthor, const String& rDate) ;
556     virtual void                DontChangeAuthor() ;
557     virtual void                HideAuthor() ;
558     virtual void                SetReadonlyPostIt(sal_Bool bDisable) ;
559     virtual sal_Bool                IsOkEnabled() const  ;
560     virtual Window *            GetWindow();
561 private:
562     Link aNextHdl;
563     Link aPrevHdl;
564     DECL_LINK( NextHdl, Window*);
565     DECL_LINK( PrevHdl, Window*);
566 };
567 //add for SvxPostItDialog end
568 
569 //for PasswordToOpenModifyDialog begin
570 class PasswordToOpenModifyDialog;
571 class AbstractPasswordToOpenModifyDialog_Impl : public AbstractPasswordToOpenModifyDialog
572 {
573     DECL_ABSTDLG_BASE( AbstractPasswordToOpenModifyDialog_Impl, PasswordToOpenModifyDialog )
574 
575     virtual String  GetPasswordToOpen() const;
576     virtual String  GetPasswordToModify() const;
577     virtual bool    IsRecommendToOpenReadonly() const;
578 };
579 //for PasswordToOpenModifyDialog end
580 
581 
582 //------------------------------------------------------------------------
583 //AbstractDialogFactory_Impl implementations
584 class AbstractDialogFactory_Impl : public SvxAbstractDialogFactory
585 {
586 public:
587     virtual VclAbstractDialog*          CreateVclDialog( Window* pParent, sal_uInt32 nResId );
588     virtual VclAbstractDialog*          CreateSfxDialog( Window* pParent, const SfxBindings& rBindings, sal_uInt32 nResId );
589     virtual SfxAbstractDialog*          CreateSfxDialog( sal_uInt32 nResId,
590                                             Window* pParent,
591                                             const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >& xViewFrame,
592                                             const SfxItemSet* pAttrSet=0 );
593     virtual SfxAbstractDialog*          CreateSfxDialog( Window* pParent,
594                                             const SfxItemSet& rAttr,
595                                             const SdrView* pView,
596                                             sal_uInt32 nResId );
597     virtual SfxAbstractDialog*              CreateSfxDialog( Window* pParent, //add for SvxMeasureDialog & SvxConnectionDialog
598                                                                         const SfxItemSet& rAttr,
599                                     const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >& _rxFrame,
600                                                                         sal_uInt32 nResId
601                                                                         );
602     virtual VclAbstractDialog*          CreateFrameDialog( Window* pParent, const com::sun::star::uno::Reference< com::sun::star::frame::XFrame >& rxFrame, sal_uInt32 nResId, const String& rParameter );
603     virtual SfxAbstractTabDialog*       CreateTabDialog( sal_uInt32 nResId,
604                                             Window* pParent,
605                                             const SfxItemSet* pAttrSet,
606                                             SfxViewFrame* pViewFrame,
607                                             bool bEditFmt=false,
608                                             const String *pUserButtonText=0 );
609     virtual SfxAbstractTabDialog*       CreateTabDialog( sal_uInt32 nResId,
610                                             Window* pParent,
611                                             const SfxItemSet* pAttrSet,
612                                             const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >& xViewFrame,
613                                             bool bEditFmt=false,
614                                             const String *pUserButtonText=0 );
615     virtual SfxAbstractTabDialog*       CreateTextTabDialog( Window* pParent,
616                                             const SfxItemSet* pAttrSet,
617                                             SdrView* pView,
618                                             SdrModel* pModel=0 ); //add for SvxTextTabDialog
619     virtual SfxAbstractTabDialog*       CreateTabItemDialog( Window* pParent,
620                                             const SfxItemSet& rSet,
621                                             sal_uInt32 nResId); //add by CHINA001
622     virtual AbstractSvxCaptionDialog*   CreateCaptionDialog( Window* pParent,
623                                             const SdrView* pView,
624                                             sal_uInt16 nAnchorTypes = 0 );      //add for SvxCaptionTabDialog CHINA001
625     virtual AbstractSvxDistributeDialog*    CreateSvxDistributeDialog(Window* pParent,
626                                             const SfxItemSet& rAttr,
627                                             SvxDistributeHorizontal eHor = SvxDistributeHorizontalNone,
628                                             SvxDistributeVertical eVer = SvxDistributeVerticalNone);
629     virtual SfxAbstractInsertObjectDialog* CreateInsertObjectDialog( Window* pParent, const rtl::OUString& rCommmand,
630             const com::sun::star::uno::Reference < com::sun::star::embed::XStorage >& xStor,
631             const SvObjectServerList* pList = 0 );
632     virtual VclAbstractDialog*          CreateEditObjectDialog( Window* pParent, const rtl::OUString& rCommmand,
633             const com::sun::star::uno::Reference < com::sun::star::embed::XEmbeddedObject >& xObj );
634    virtual  SfxAbstractPasteDialog*         CreatePasteDialog( Window* pParent );
635    virtual  SfxAbstractLinksDialog*         CreateLinksDialog( Window* pParent, sfx2::LinkManager* pMgr, sal_Bool bHTML, sfx2::SvBaseLink* p=0  );
636 
637    virtual AbstractHangulHanjaConversionDialog * CreateHangulHanjaConversionDialog( Window* _pParent,  //add for HangulHanjaConversionDialog CHINA001
638                                             editeng::HangulHanjaConversion::ConversionDirection _ePrimaryDirection );
639     virtual AbstractThesaurusDialog*        CreateThesaurusDialog( Window*, ::com::sun::star::uno::Reference< ::com::sun::star::linguistic2::XThesaurus >  xThesaurus,
640                                                 const String &rWord, sal_Int16 nLanguage );
641 
642     virtual AbstractHyphenWordDialog*       CreateHyphenWordDialog( Window*,
643                                                 const String &rWord, LanguageType nLang,
644                                                 ::com::sun::star::uno::Reference< ::com::sun::star::linguistic2::XHyphenator >  &xHyphen,
645                                                 SvxSpellWrapper* pWrapper );
646 
647    virtual AbstractFmShowColsDialog * CreateFmShowColsDialog( Window* pParent );  //add for FmShowColsDialog
648    virtual AbstractSvxZoomDialog * CreateSvxZoomDialog( Window* pParent,  //add for SvxZoomDialog
649                                             const SfxItemSet& rCoreSet);
650    virtual SfxAbstractTabDialog* CreateSvxBorderBackgroundDlg( Window* pParent, //add for SvxBorderBackgroundDlg
651                                             const SfxItemSet& rCoreSet,
652                                             sal_Bool bEnableSelector = sal_False) ;
653    virtual AbstractSvxTransformTabDialog* CreateSvxTransformTabDialog( Window* pParent, //add for SvxTransformTabDialog
654                                                                 const SfxItemSet* pAttr,
655                                                                 const SdrView* pView,
656                                                                 sal_uInt16 nAnchorTypes = 0) ;
657     virtual SfxAbstractTabDialog* CreateSchTransformTabDialog( Window* pParent,  //add for SchTransformTabDialog
658                                                                 const SfxItemSet* pAttr,
659                                                                 const SdrView* pSdrView,
660                                                                 sal_uInt32 nResId,
661                                                                 bool bSizeTabPage = false
662                                                                  );
663     virtual AbstractSpellDialog *  CreateSvxSpellDialog(
664                             Window* pParent,
665                             SfxBindings* pBindings,
666                             svx::SpellDialogChildWindow* pSpellChildWindow );
667 
668 //STRIP001    virtual AbstractSvxSpellCheckDialog * CreateSvxSpellCheckDialog( Window* pParent, //add for SvxSpellCheckDialog
669 //STRIP001    ::com::sun::star::uno::Reference<
670 //STRIP001    ::com::sun::star::linguistic2::XSpellChecker1 >  &xChecker,
671 //STRIP001    SvxSpellWrapper* pWrapper,
672 //STRIP001    sal_uInt32 nResId);
673     virtual VclAbstractRefreshableDialog * CreateActualizeProgressDialog( Window* pParent, GalleryTheme* pThm );
674     virtual AbstractSearchProgress * CreateSearchProgressDialog( Window* pParent,
675                                             const INetURLObject& rStartURL);
676     virtual AbstractTakeProgress * CreateTakeProgressDialog( Window* pParent );
677     virtual AbstractTitleDialog * CreateTitleDialog( Window* pParent,  //add for TitleDialog
678                                             const String& rOldText);
679     virtual AbstractGalleryIdDialog * CreateGalleryIdDialog( Window* pParent,  //add for SvxZoomDialog
680                                             GalleryTheme* pThm);
681     virtual VclAbstractDialog2 * CreateGalleryThemePropertiesDialog( Window* pParent,  //add for GalleryThemeProperties
682                                             ExchangeData* pData,
683                                             SfxItemSet* pItemSet);
684     virtual AbstractURLDlg * CreateURLDialog( Window* pParent,  //add for URLDlg
685                                             const String& rURL, const String& rAltText, const String& rDescription,
686                                             const String& rTarget, const String& rName,
687                                             TargetList& rTargetList );
688     virtual AbstractSvxHlinkDlgMarkWnd* CreateSvxHlinkDlgMarkWndDialog( SvxHyperlinkTabPageBase* pParent, sal_uInt32 nResId ); //add for SvxHlinkDlgMarkWnd
689 
690     virtual VclAbstractDialog*      CreateSvxSearchAttributeDialog( Window* pParent,
691                                             SearchAttrItemList& rLst,
692                                             const sal_uInt16* pWhRanges);
693     virtual AbstractSvxSearchSimilarityDialog * CreateSvxSearchSimilarityDialog( Window* pParent,
694                                                             sal_Bool bRelax,
695                                                             sal_uInt16 nOther,
696                                                             sal_uInt16 nShorter,
697                                                             sal_uInt16 nLonger); //add for SvxSearchSimilarityDialog
698     virtual AbstractSvxJSearchOptionsDialog * CreateSvxJSearchOptionsDialog( Window* pParent,
699                                                             const SfxItemSet& rOptionsSet,
700                                                             sal_Int32 nInitialFlags);
701     virtual AbstractFmInputRecordNoDialog * CreateFmInputRecordNoDialog( Window* pParent );
702     virtual AbstractSvxNewDictionaryDialog* CreateSvxNewDictionaryDialog( Window* pParent,
703                                             ::com::sun::star::uno::Reference< ::com::sun::star::linguistic2::XSpellChecker1 >  &xSpl,
704                                             sal_uInt32 nResId ); //add for SvxNewDictionaryDialog
705     virtual VclAbstractDialog *     CreateSvxEditDictionaryDialog( Window* pParent,
706                                             const String& rName,
707                                             ::com::sun::star::uno::Reference< ::com::sun::star::linguistic2::XSpellChecker1> &xSpl,
708                                             sal_uInt32 nResId);//add for SvxEditDictionaryDialog
709     virtual AbstractSvxNameDialog *     CreateSvxNameDialog( Window* pParent,
710                                             const String& rName, const String& rDesc );
711     // #i68101#
712     virtual AbstractSvxObjectNameDialog* CreateSvxObjectNameDialog(Window* pParent, const String& rName );
713     virtual AbstractSvxObjectTitleDescDialog* CreateSvxObjectTitleDescDialog(Window* pParent, const String& rTitle, const String& rDescription);
714 
715     virtual AbstractSvxMessDialog *         CreateSvxMessDialog( Window* pParent, sal_uInt32 nResId,
716                                             const String& rText, const String& rDesc,
717                                             Image* pImg = NULL ); //add for SvxMessDialog
718     virtual AbstractSvxMultiPathDialog *    CreateSvxMultiPathDialog( Window* pParent, sal_Bool bEmptyAllowed = sal_False ); //add for SvxMultiPathDialog
719     virtual AbstractSvxMultiFileDialog *    CreateSvxMultiFileDialog( Window* pParent, sal_Bool bEmptyAllowed = sal_False ); //add for SvxMultiFileDialog
720     virtual AbstractSvxHpLinkDlg *          CreateSvxHpLinkDlg (Window* pParent,  //add for SvxHpLink
721                                             SfxBindings* pBindings,
722                                             sal_uInt32 nResId);
723     virtual AbstractFmSearchDialog*         CreateFmSearchDialog(Window* pParent, //add for FmSearchDialog
724                                                         const String& strInitialText,
725                                                         const ::std::vector< String >& _rContexts,
726                                                         sal_Int16 nInitialContext,
727                                                         const Link& lnkContextSupplier);
728     virtual AbstractGraphicFilterDialog *   CreateGraphicFilterEmboss (Window* pParent,  //add for GraphicFilterEmboss
729                                             const Graphic& rGraphic,
730                                             RECT_POINT eLightSource, sal_uInt32 nResId);
731     virtual AbstractGraphicFilterDialog *   CreateGraphicFilterPosterSepia (Window* pParent,  //add for GraphicFilterPoster & GraphicFilterSepia
732                                             const Graphic& rGraphic,
733                                             sal_uInt16 nCount,
734                                             sal_uInt32 nResId);
735     virtual AbstractGraphicFilterDialog *   CreateGraphicFilterSolarize (Window* pParent,  //add for GraphicFilterSolarize
736                                             const Graphic& rGraphic,
737                                             sal_uInt8 nGreyThreshold, sal_Bool bInvert, sal_uInt32 nResId);
738     virtual AbstractGraphicFilterDialog *   CreateGraphicFilterMosaic (Window* pParent,  //add for GraphicFilterMosaic
739                                             const Graphic& rGraphic,
740                                             sal_uInt16 nTileWidth, sal_uInt16 nTileHeight, sal_Bool bEnhanceEdges, sal_uInt32 nResId);
741     virtual AbstractSvxAreaTabDialog*       CreateSvxAreaTabDialog( Window* pParent,//add for SvxAreaTabDialog
742                                                             const SfxItemSet* pAttr,
743                                                             SdrModel* pModel,
744                                                             const SdrView* pSdrView = NULL ); //add for SvxAreaTabDialog
745     virtual SfxAbstractTabDialog*           CreateSvxLineTabDialog( Window* pParent, const SfxItemSet* pAttr, //add for SvxLineTabDialog
746                                                                  SdrModel* pModel,
747                                                                  const SdrObject* pObj = NULL,
748                                                                 sal_Bool bHasObj = sal_True );
749     virtual AbstractSvxPostItDialog*        CreateSvxPostItDialog( Window* pParent, //add for SvxPostItDialog
750                                                                         const SfxItemSet& rCoreSet,
751                                                                         sal_Bool bPrevNext = sal_False, sal_Bool bRedline = sal_False );
752 
753     // For TabPage
754     virtual CreateTabPage               GetTabPageCreatorFunc( sal_uInt16 nId );
755     virtual CreateSvxDistributePage     GetSvxDistributePageCreatorFunc();
756 
757     virtual GetTabPageRanges            GetTabPageRangesFunc( sal_uInt16 nId );
758     virtual DialogGetRanges         GetDialogGetRangesFunc( sal_uInt16 nId ); //add for SvxPostItDialog
759     virtual VclAbstractDialog*          CreateSvxScriptOrgDialog( Window* pParent, const String& rLanguage );
760 
761     virtual AbstractScriptSelectorDialog*
762         CreateScriptSelectorDialog(
763             Window* pParent,
764             sal_Bool bShowSlots,
765             const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >& _rxFrame
766         );
767 
768     virtual VclAbstractDialog* CreateScriptErrorDialog(
769             Window* pParent, ::com::sun::star::uno::Any aException);
770 
771     virtual VclAbstractDialog*  CreateSvxMacroAssignDlg(
772                 Window* _pParent,
773                 const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >& _rxDocumentFrame,
774                 const bool _bUnoDialogMode,
775                 const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameReplace >& _rxEvents,
776                 const sal_uInt16 _nInitiallySelectedEvent
777             );
778 
779     virtual SfxAbstractTabDialog* CreateSvxFormatCellsDialog( Window* pParent, const SfxItemSet* pAttr, SdrModel* pModel, const SdrObject* pObj = NULL );
780 
781     virtual SvxAbstractSplittTableDialog* CreateSvxSplittTableDialog( Window* pParent, bool bIsTableVertical, long nMaxVertical, long nMaxHorizontal );
782 
783     virtual SvxAbstractNewTableDialog* CreateSvxNewTableDialog( Window* pParent ) ;
784 
785     virtual VclAbstractDialog*          CreateOptionsDialog(
786         Window* pParent, const rtl::OUString& rExtensionId, const rtl::OUString& rApplicationContext );
787 
788     virtual SvxAbstractInsRowColDlg* CreateSvxInsRowColDlg( Window* pParent, bool bCol, const rtl::OString& sHelpId );
789 
790     virtual AbstractPasswordToOpenModifyDialog *    CreatePasswordToOpenModifyDialog( Window * pParent, sal_uInt16 nMinPasswdLen, sal_uInt16 nMaxPasswdLen, bool bIsPasswordToModify );
791 };
792 
793 #endif
794 
795