xref: /aoo41x/main/sc/source/ui/attrdlg/scdlgfact.hxx (revision cdf0e10c)
1 /*************************************************************************
2  *
3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4  *
5  * Copyright 2000, 2010 Oracle and/or its affiliates.
6  *
7  * OpenOffice.org - a multi-platform office productivity suite
8  *
9  * This file is part of OpenOffice.org.
10  *
11  * OpenOffice.org is free software: you can redistribute it and/or modify
12  * it under the terms of the GNU Lesser General Public License version 3
13  * only, as published by the Free Software Foundation.
14  *
15  * OpenOffice.org is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18  * GNU Lesser General Public License version 3 for more details
19  * (a copy is included in the LICENSE file that accompanied this code).
20  *
21  * You should have received a copy of the GNU Lesser General Public License
22  * version 3 along with OpenOffice.org.  If not, see
23  * <http://www.openoffice.org/license.html>
24  * for a copy of the LGPLv3 License.
25  *
26  ************************************************************************/
27 #ifndef _SC_DLGFACT_HXX
28 #define _SC_DLGFACT_HXX
29 
30 // include ---------------------------------------------------------------
31 #include "scabstdlg.hxx" //CHINA001
32 class Dialog;
33 class ScImportAsciiDlg;
34 class ScAutoFormatDlg;
35 class ScColRowLabelDlg;
36 class ScDataPilotDatabaseDlg;
37 class ScDataPilotSourceTypeDlg;
38 class ScDataPilotServiceDlg;
39 class ScDeleteCellDlg;
40 class ScDeleteContentsDlg;
41 class ScFillSeriesDlg;
42 class ScGroupDlg;
43 class ScInsertCellDlg;
44 class ScInsertContentsDlg;
45 class ScInsertTableDlg;
46 class ScSelEntryDlg;
47 class ScLinkedAreaDlg;
48 class ScMetricInputDlg;
49 class ScMoveTableDlg;
50 class ScNameCreateDlg;
51 class ScNamePasteDlg;
52 class ScPivotFilterDlg;
53 class ScDPFunctionDlg;
54 class ScDPSubtotalDlg;
55 class ScDPNumGroupDlg;
56 class ScDPDateGroupDlg;
57 class ScDPShowDetailDlg;
58 class ScNewScenarioDlg;
59 class ScShowTabDlg;
60 class ScStringInputDlg;
61 class ScTabBgColorDlg;
62 class ScImportOptionsDlg;
63 class SfxTabDialog;
64 class ScSortWarningDlg;
65 class ScTextImportOptionsDlg;
66 
67 #define DECL_ABSTDLG_BASE(Class,DialogClass)		\
68 	DialogClass* 		pDlg;                   	\
69 public:												\
70 					Class( DialogClass* p)			\
71 					 : pDlg(p)						\
72 					 {}                             \
73 	virtual			~Class();               		\
74     virtual short	Execute() ;
75 //	virtual void	Show( sal_Bool bVisible = sal_True, sal_uInt16 nFlags = 0 )
76 
77 #define DECL_ABSTDLG2_BASE(Class,DialogClass)        \
78     DialogClass*        pDlg;                       \
79 public:                                             \
80                     Class( DialogClass* p)          \
81                      : pDlg(p)                      \
82                      {}                             \
83     virtual         ~Class();                       \
84     virtual void    StartExecuteModal( const Link& rEndDialogHdl ); \
85     long            GetResult();
86 
87 #define IMPL_ABSTDLG_BASE(Class)                    \
88 Class::~Class()                    					\
89 {                                                   \
90 	delete pDlg;                                 	\
91 }													\
92 short Class::Execute()                             \
93 {                                                   \
94 	return pDlg->Execute();                      	\
95 }
96 
97 #define IMPL_ABSTDLG2_BASE(Class)                   \
98 Class::~Class()                                     \
99 {                                                   \
100     delete pDlg;                                    \
101 }                                                   \
102 void Class::StartExecuteModal( const Link& rEndDialogHdl ) \
103 {                                                   \
104     pDlg->StartExecuteModal( rEndDialogHdl ) ;      \
105 }                                                   \
106 long Class::GetResult()                             \
107 {                                                   \
108     return pDlg->GetResult();                       \
109 }
110 
111 class VclAbstractDialog_Impl : public VclAbstractDialog //add for ScColOrRowDlg
112 {
113 	DECL_ABSTDLG_BASE(VclAbstractDialog_Impl,Dialog)
114 };
115 
116 class AbstractScImportAsciiDlg_Impl : public AbstractScImportAsciiDlg  //add for ScImportAsciiDlg
117 {
118     DECL_ABSTDLG_BASE(AbstractScImportAsciiDlg_Impl, ScImportAsciiDlg)
119     virtual void                        GetOptions( ScAsciiOptions& rOpt );
120     virtual void                        SetTextToColumnsMode();
121     virtual void                        SaveParameters();
122 };
123 
124 class AbstractScAutoFormatDlg_Impl : public AbstractScAutoFormatDlg  //add for ScAutoFormatDlg
125 {
126 	DECL_ABSTDLG_BASE(AbstractScAutoFormatDlg_Impl, ScAutoFormatDlg)
127 	virtual sal_uInt16 GetIndex() const;
128 	virtual String GetCurrFormatName();
129 };
130 
131 class AbstractScColRowLabelDlg_Impl : public AbstractScColRowLabelDlg  //add for ScColRowLabelDlg
132 {
133 	DECL_ABSTDLG_BASE(AbstractScColRowLabelDlg_Impl,ScColRowLabelDlg)
134 	virtual sal_Bool IsCol();
135 	virtual sal_Bool IsRow();
136 };
137 
138 class AbstractScDataPilotDatabaseDlg_Impl  :public AbstractScDataPilotDatabaseDlg  //add for ScDataPilotDatabaseDlg
139 {
140 	DECL_ABSTDLG_BASE(AbstractScDataPilotDatabaseDlg_Impl, ScDataPilotDatabaseDlg)
141 	virtual void	GetValues( ScImportSourceDesc& rDesc );
142 };
143 
144 class AbstractScDataPilotSourceTypeDlg_Impl  :public AbstractScDataPilotSourceTypeDlg  //add for ScDataPilotSourceTypeDlg
145 {
146 	DECL_ABSTDLG_BASE(AbstractScDataPilotSourceTypeDlg_Impl, ScDataPilotSourceTypeDlg)
147 	virtual sal_Bool	IsDatabase() const;
148 	virtual sal_Bool	IsExternal() const;
149 };
150 
151 class AbstractScDataPilotServiceDlg_Impl : public AbstractScDataPilotServiceDlg  //add for ScDataPilotServiceDlg
152 {
153 	DECL_ABSTDLG_BASE(AbstractScDataPilotServiceDlg_Impl, ScDataPilotServiceDlg)
154 	virtual String	GetServiceName() const;
155 	virtual String	GetParSource() const;
156 	virtual String	GetParName() const;
157 	virtual String	GetParUser() const;
158 	virtual String	GetParPass() const;
159 };
160 
161 class AbstractScDeleteCellDlg_Impl : public AbstractScDeleteCellDlg  //add for ScDeleteCellDlg
162 {
163 	DECL_ABSTDLG_BASE(AbstractScDeleteCellDlg_Impl,ScDeleteCellDlg)
164 	virtual DelCellCmd GetDelCellCmd() const;
165 };
166 
167 class AbstractScDeleteContentsDlg_Impl : public AbstractScDeleteContentsDlg  //add for ScDeleteContentsDlg
168 {
169 	DECL_ABSTDLG_BASE( AbstractScDeleteContentsDlg_Impl,ScDeleteContentsDlg)
170 	virtual void	DisableObjects();
171 	virtual sal_uInt16	GetDelContentsCmdBits() const;
172 };
173 
174 class AbstractScFillSeriesDlg_Impl:public AbstractScFillSeriesDlg  //add for ScFillSeriesDlg
175 {
176 	DECL_ABSTDLG_BASE(AbstractScFillSeriesDlg_Impl, ScFillSeriesDlg)
177 	virtual FillDir		GetFillDir() const;
178 	virtual FillCmd		GetFillCmd() const;
179 	virtual FillDateCmd	GetFillDateCmd() const;
180 	virtual double		GetStart() const;
181 	virtual double		GetStep() const;
182 	virtual double		GetMax() const;
183 	virtual String		GetStartStr() const;
184 	virtual void		SetEdStartValEnabled(sal_Bool bFlag=sal_False);
185 };
186 
187 class AbstractScGroupDlg_Impl :  public AbstractScGroupDlg  //add for ScGroupDlg
188 {
189 	DECL_ABSTDLG_BASE( AbstractScGroupDlg_Impl, ScGroupDlg)
190 	virtual sal_Bool GetColsChecked() const;
191 };
192 
193 class AbstractScInsertCellDlg_Impl : public AbstractScInsertCellDlg  //add for ScInsertCellDlg
194 {
195 	DECL_ABSTDLG_BASE( AbstractScInsertCellDlg_Impl, ScInsertCellDlg)
196 	virtual InsCellCmd GetInsCellCmd() const ;
197 };
198 
199 class AbstractScInsertContentsDlg_Impl : public AbstractScInsertContentsDlg  //add for ScInsertContentsDlg
200 {
201 	DECL_ABSTDLG_BASE(AbstractScInsertContentsDlg_Impl, ScInsertContentsDlg)
202 	virtual sal_uInt16		GetInsContentsCmdBits() const;
203 	virtual sal_uInt16		GetFormulaCmdBits() const;
204 	virtual sal_Bool		IsSkipEmptyCells() const;
205 	virtual sal_Bool 		IsLink() const;
206 	virtual void	SetFillMode( sal_Bool bSet );
207 	virtual void	SetOtherDoc( sal_Bool bSet );
208 	virtual sal_Bool 		IsTranspose() const;
209 	virtual void	SetChangeTrack( sal_Bool bSet );
210 	virtual void	SetCellShiftDisabled( int nDisable );
211 	virtual InsCellCmd	GetMoveMode();
212 };
213 
214 class AbstractScInsertTableDlg_Impl : public AbstractScInsertTableDlg  //add for ScInsertTableDlg
215 {
216 	DECL_ABSTDLG_BASE( AbstractScInsertTableDlg_Impl, ScInsertTableDlg)
217 	virtual sal_Bool			GetTablesFromFile();
218 	virtual sal_Bool			GetTablesAsLink();
219 	virtual const String*	GetFirstTable( sal_uInt16* pN = NULL );
220 	virtual ScDocShell*		GetDocShellTables();
221 	virtual sal_Bool			IsTableBefore();
222 	virtual sal_uInt16			GetTableCount();
223 	virtual const String*	GetNextTable( sal_uInt16* pN = NULL );
224 
225 };
226 
227 class AbstractScSelEntryDlg_Impl : public AbstractScSelEntryDlg  //add for ScSelEntryDlg
228 {
229 	DECL_ABSTDLG_BASE( AbstractScSelEntryDlg_Impl, ScSelEntryDlg )
230 	virtual String GetSelectEntry() const;
231 };
232 
233 class AbstractScLinkedAreaDlg_Impl : public AbstractScLinkedAreaDlg  //add for ScLinkedAreaDlg
234 {
235     DECL_ABSTDLG2_BASE( AbstractScLinkedAreaDlg_Impl, ScLinkedAreaDlg)
236 
237 	virtual void			InitFromOldLink( const String& rFile, const String& rFilter,
238 										const String& rOptions, const String& rSource,
239 										sal_uLong nRefresh );
240 	virtual String			GetURL();
241 	virtual String			GetFilter();		// may be empty
242 	virtual String			GetOptions();		// filter options
243 	virtual String			GetSource();		// separated by ";"
244 	virtual sal_uLong			GetRefresh();		// 0 if disabled
245 };
246 
247 class AbstractScMetricInputDlg_Impl : public AbstractScMetricInputDlg  //add for ScMetricInputDlg
248 {
249 	DECL_ABSTDLG_BASE( AbstractScMetricInputDlg_Impl, ScMetricInputDlg)
250 	virtual long GetInputValue( FieldUnit eUnit = FUNIT_TWIP ) const;
251 };
252 
253 class AbstractScMoveTableDlg_Impl : public AbstractScMoveTableDlg  //add for ScMoveTableDlg
254 {
255 	DECL_ABSTDLG_BASE( AbstractScMoveTableDlg_Impl, ScMoveTableDlg)
256 	virtual sal_uInt16	GetSelectedDocument		() const;
257 	virtual sal_uInt16	GetSelectedTable		() const;
258 	virtual sal_Bool	GetCopyTable			() const;
259 	virtual void	SetCopyTable			(sal_Bool bFlag=sal_True);
260 	virtual void	EnableCopyTable			(sal_Bool bFlag=sal_True);
261 };
262 
263 class AbstractScNameCreateDlg_Impl : public AbstractScNameCreateDlg  //add for ScNameCreateDlg
264 {
265 	DECL_ABSTDLG_BASE( AbstractScNameCreateDlg_Impl, ScNameCreateDlg)
266 	virtual sal_uInt16			GetFlags() const;
267 };
268 
269 class AbstractScNamePasteDlg_Impl : public AbstractScNamePasteDlg  //add for ScNamePasteDlg
270 {
271 	DECL_ABSTDLG_BASE( AbstractScNamePasteDlg_Impl, ScNamePasteDlg )
272 	virtual String			GetSelectedName() const;
273 };
274 
275 class AbstractScPivotFilterDlg_Impl : public AbstractScPivotFilterDlg  //add for ScPivotFilterDlg
276 {
277 	DECL_ABSTDLG_BASE( AbstractScPivotFilterDlg_Impl, ScPivotFilterDlg)
278 	virtual const ScQueryItem&	GetOutputItem();
279 };
280 
281 class AbstractScDPFunctionDlg_Impl : public AbstractScDPFunctionDlg  //add for ScDPFunctionDlg
282 {
283 	DECL_ABSTDLG_BASE( AbstractScDPFunctionDlg_Impl, ScDPFunctionDlg)
284     virtual sal_uInt16 GetFuncMask() const;
285     virtual ::com::sun::star::sheet::DataPilotFieldReference GetFieldRef() const;
286 };
287 
288 class AbstractScDPSubtotalDlg_Impl : public AbstractScDPSubtotalDlg  //add for ScDPSubtotalDlg
289 {
290     DECL_ABSTDLG_BASE( AbstractScDPSubtotalDlg_Impl, ScDPSubtotalDlg)
291     virtual sal_uInt16 GetFuncMask() const;
292     virtual void FillLabelData( ScDPLabelData& rLabelData ) const;
293 };
294 
295 class AbstractScDPNumGroupDlg_Impl : public AbstractScDPNumGroupDlg
296 {
297     DECL_ABSTDLG_BASE( AbstractScDPNumGroupDlg_Impl, ScDPNumGroupDlg )
298     virtual ScDPNumGroupInfo GetGroupInfo() const;
299 };
300 
301 class AbstractScDPDateGroupDlg_Impl : public AbstractScDPDateGroupDlg
302 {
303     DECL_ABSTDLG_BASE( AbstractScDPDateGroupDlg_Impl, ScDPDateGroupDlg )
304     virtual ScDPNumGroupInfo GetGroupInfo() const;
305     virtual sal_Int32 GetDatePart() const;
306 };
307 
308 class AbstractScDPShowDetailDlg_Impl : public AbstractScDPShowDetailDlg
309 {
310     DECL_ABSTDLG_BASE( AbstractScDPShowDetailDlg_Impl, ScDPShowDetailDlg)
311     virtual String GetDimensionName() const;
312 };
313 
314 class AbstractScNewScenarioDlg_Impl : public AbstractScNewScenarioDlg  //add for ScNewScenarioDlg
315 {
316 	DECL_ABSTDLG_BASE( AbstractScNewScenarioDlg_Impl, ScNewScenarioDlg )
317 	virtual void SetScenarioData( const String& rName, const String& rComment,
318 							const Color& rColor, sal_uInt16 nFlags );
319 
320 	virtual void GetScenarioData( String& rName, String& rComment,
321 							Color& rColor, sal_uInt16& rFlags ) const;
322 };
323 
324 class AbstractScShowTabDlg_Impl : public AbstractScShowTabDlg  //add for ScShowTabDlg
325 {
326 	DECL_ABSTDLG_BASE(AbstractScShowTabDlg_Impl,ScShowTabDlg)
327     virtual void    Insert( const String& rString, sal_Bool bSelected );
328 	virtual sal_uInt16	GetSelectEntryCount() const;
329 	virtual void SetDescription(const String& rTitle, const String& rFixedText, const rtl::OString& sDlgHelpId, const rtl::OString& sLbHelpId );
330 	virtual String	GetSelectEntry(sal_uInt16 nPos) const;
331     virtual sal_uInt16  GetSelectEntryPos(sal_uInt16 nPos) const;
332 };
333 
334 class AbstractScStringInputDlg_Impl :  public AbstractScStringInputDlg  //add for ScStringInputDlg
335 {
336 	DECL_ABSTDLG_BASE( AbstractScStringInputDlg_Impl, ScStringInputDlg )
337 	virtual void GetInputString( String& rString ) const;
338 };
339 
340 class AbstractScTabBgColorDlg_Impl :  public AbstractScTabBgColorDlg  //add for ScTabBgColorDlg
341 {
342     DECL_ABSTDLG_BASE( AbstractScTabBgColorDlg_Impl, ScTabBgColorDlg )
343     virtual void GetSelectedColor( Color& rColor ) const;
344 };
345 
346 class AbstractScImportOptionsDlg_Impl : public AbstractScImportOptionsDlg  //add for ScImportOptionsDlg
347 {
348 	DECL_ABSTDLG_BASE( AbstractScImportOptionsDlg_Impl, ScImportOptionsDlg)
349 	virtual void GetImportOptions( ScImportOptions& rOptions ) const;
350 };
351 
352 class AbstractScTextImportOptionsDlg_Impl : public AbstractScTextImportOptionsDlg
353 {
354     DECL_ABSTDLG_BASE( AbstractScTextImportOptionsDlg_Impl, ScTextImportOptionsDlg)
355     virtual LanguageType GetLanguageType() const;
356     virtual bool IsDateConversionSet() const;
357 };
358 
359 //add for ScAttrDlg , ScHFEditDlg, ScStyleDlg, ScSubTotalDlg, ScCharDlg, ScParagraphDlg, ScValidationDlg, ScSortDlg
360 class AbstractTabDialog_Impl : public SfxAbstractTabDialog
361 {
362 	DECL_ABSTDLG_BASE( AbstractTabDialog_Impl,SfxTabDialog )
363 	virtual void				SetCurPageId( sal_uInt16 nId );
364 	virtual const SfxItemSet* 	GetOutputItemSet() const;
365 	virtual const sal_uInt16*		GetInputRanges( const SfxItemPool& pItem );	//add by CHINA001
366 	virtual void				SetInputSet( const SfxItemSet* pInSet );   //add by CHINA001
367 		//From class Window.
368     virtual void		SetText( const XubString& rStr ); //add by CHINA001
369     virtual String   	GetText() const; //add by CHINA001
370 };
371 #if ENABLE_LAYOUT
372 namespace layout
373 {
374 //add for ScAttrDlg , ScHFEditDlg, ScStyleDlg, ScSubTotalDlg, ScCharDlg, ScParagraphDlg, ScValidationDlg, ScSortDlg
375 class AbstractTabDialog_Impl : public SfxAbstractTabDialog
376 {
377 	DECL_ABSTDLG_BASE( AbstractTabDialog_Impl,SfxTabDialog )
378 	virtual void				SetCurPageId( sal_uInt16 nId );
379 	virtual const SfxItemSet* 	GetOutputItemSet() const;
380 	virtual const sal_uInt16*		GetInputRanges( const SfxItemPool& pItem );	//add by CHINA001
381 	virtual void				SetInputSet( const SfxItemSet* pInSet );   //add by CHINA001
382 		//From class Window.
383     virtual void		SetText( const XubString& rStr ); //add by CHINA001
384     virtual String   	GetText() const; //add by CHINA001
385 };
386 } // end namespace layout
387 #endif /* ENABLE_LAYOUT */
388 //------------------------------------------------------------------------
389 //AbstractDialogFactory_Impl implementations
390 class ScAbstractDialogFactory_Impl : public ScAbstractDialogFactory
391 {
392 
393 public:
394 	//CHINA001 AbstractSwSaveLabelDlg* 			CreateSwSaveLabelDlg(SwLabFmtPage* pParent, SwLabRec& rRec, int nId );
395 
396 	virtual 	AbstractScImportAsciiDlg * CreateScImportAsciiDlg( Window* pParent, String aDatName, //add for ScImportAsciiDlg
397 																	SvStream* pInStream, int nId,
398 																	sal_Unicode cSep = '\t');
399 
400     virtual AbstractScTextImportOptionsDlg * CreateScTextImportOptionsDlg( Window* pParent, int nId );
401 
402 	virtual		AbstractScAutoFormatDlg * CreateScAutoFormatDlg( Window*					pParent, //add for ScAutoFormatDlg
403 																ScAutoFormat*				pAutoFormat,
404 																const ScAutoFormatData*    pSelFormatData,
405 																ScDocument*                pDoc,
406 																int nId);
407 	virtual AbstractScColRowLabelDlg * CreateScColRowLabelDlg (Window* pParent, //add for ScColRowLabelDlg
408 																int nId,
409 																sal_Bool bCol = sal_False,
410 																sal_Bool bRow = sal_False);
411 
412 	virtual VclAbstractDialog * CreateScColOrRowDlg( Window*			pParent, //add for ScColOrRowDlg
413 													const String&	rStrTitle,
414 													const String&	rStrLabel,
415 													int nId,
416 													sal_Bool				bColDefault = sal_True );
417 
418     virtual VclAbstractDialog * CreateScSortWarningDlg( Window* pParent, const String& rExtendText, const String& rCurrentText, int nId );
419 
420 	virtual AbstractScDataPilotDatabaseDlg * CreateScDataPilotDatabaseDlg (Window* pParent ,int nId ); //add for ScDataPilotDatabaseDlg
421 
422 	virtual AbstractScDataPilotSourceTypeDlg * CreateScDataPilotSourceTypeDlg (  Window* pParent, sal_Bool bEnableExternal, int nId ) ; //add for ScDataPilotSourceTypeDlg
423 
424 	virtual AbstractScDataPilotServiceDlg * CreateScDataPilotServiceDlg( Window* pParent, //add for ScDataPilotServiceDlg
425 																		const com::sun::star::uno::Sequence<rtl::OUString>& rServices,
426 																		int nId );
427 	virtual AbstractScDeleteCellDlg * CreateScDeleteCellDlg( Window* pParent, int nId,
428 															sal_Bool bDisallowCellMove = sal_False ); //add for ScDeleteCellDlg
429 
430 	virtual AbstractScDeleteContentsDlg * CreateScDeleteContentsDlg(Window* pParent,int nId, //add for ScDeleteContentsDlg
431 																 sal_uInt16  nCheckDefaults = 0 );
432 
433 	virtual AbstractScFillSeriesDlg * CreateScFillSeriesDlg( Window*		pParent, //add for ScFillSeriesDlg
434 															ScDocument&	rDocument,
435 															FillDir		eFillDir,
436 															FillCmd		eFillCmd,
437 															FillDateCmd	eFillDateCmd,
438 															String			aStartStr,
439 															double			fStep,
440 															double			fMax,
441 															sal_uInt16			nPossDir,
442 															int nId);
443 	virtual AbstractScGroupDlg * CreateAbstractScGroupDlg( Window* pParent, //add for ScGroupDlg
444 															sal_uInt16	nResId,
445 															int nId,
446 															sal_Bool	bUnGroup = sal_False,
447 															sal_Bool	bRows    = sal_True  );
448 
449 	virtual AbstractScInsertCellDlg * CreateScInsertCellDlg( Window* pParent, //add for ScInsertCellDlg
450 																int nId,
451 															sal_Bool bDisallowCellMove = sal_False );
452 
453 	virtual AbstractScInsertContentsDlg * CreateScInsertContentsDlg( Window*		pParent, //add for ScInsertContentsDlg
454 																	int nId,
455 																	sal_uInt16  		nCheckDefaults = 0,
456 																	const String*	pStrTitle = NULL );
457 
458 	virtual AbstractScInsertTableDlg * CreateScInsertTableDlg ( Window* pParent, ScViewData& rViewData,  //add for ScInsertTableDlg
459                                                                 SCTAB nTabCount, bool bFromFile, int nId);
460 
461 	virtual AbstractScSelEntryDlg * CreateScSelEntryDlg ( Window* pParent, // add for ScSelEntryDlg
462 															sal_uInt16	nResId,
463 														const String& aTitle,
464 														const String& aLbTitle,
465 																List& 	aEntryList,
466 															int nId );
467 
468 	virtual AbstractScLinkedAreaDlg * CreateScLinkedAreaDlg (  Window* pParent, //add for ScLinkedAreaDlg
469 																int nId);
470 
471 	virtual AbstractScMetricInputDlg * CreateScMetricInputDlg (  Window*		pParent, //add for ScMetricInputDlg
472 																sal_uInt16		nResId,		// Ableitung fuer jeden Dialog!
473 																long			nCurrent,
474 																long			nDefault,
475 																int nId ,
476 																FieldUnit		eFUnit	  = FUNIT_MM,
477 																sal_uInt16		nDecimals = 2,
478 																long			nMaximum  = 1000,
479 																long			nMinimum  = 0,
480 																long			nFirst	  = 1,
481 																long          nLast     = 100 );
482 
483 	virtual AbstractScMoveTableDlg * CreateScMoveTableDlg(  Window* pParent, int nId ); //add for ScMoveTableDlg
484 	virtual AbstractScNameCreateDlg * CreateScNameCreateDlg ( Window * pParent, sal_uInt16 nFlags, int nId ); //add for ScNameCreateDlg
485 
486 	virtual AbstractScNamePasteDlg * CreateScNamePasteDlg ( Window * pParent, const ScRangeName* pList, //add for ScNamePasteDlg
487 															int nId , sal_Bool bInsList=sal_True );
488 
489 	virtual AbstractScPivotFilterDlg * CreateScPivotFilterDlg ( Window* pParent, //add for ScPivotFilterDlg
490 																const SfxItemSet&	rArgSet, sal_uInt16 nSourceTab , int nId );
491 
492     virtual AbstractScDPFunctionDlg * CreateScDPFunctionDlg( Window* pParent, int nId,
493                                                                 const ScDPLabelDataVector& rLabelVec,
494                                                                 const ScDPLabelData& rLabelData,
495                                                                 const ScPivotFuncData& rFuncData );
496 
497     virtual AbstractScDPSubtotalDlg * CreateScDPSubtotalDlg( Window* pParent, int nId,
498                                                                 ScDPObject& rDPObj,
499                                                                 const ScDPLabelData& rLabelData,
500                                                                 const ScPivotFuncData& rFuncData,
501                                                                 const ScDPNameVec& rDataFields,
502                                                                 bool bEnableLayout );
503 
504     virtual AbstractScDPNumGroupDlg * CreateScDPNumGroupDlg( Window* pParent,
505                                                                 int nId,
506                                                                 const ScDPNumGroupInfo& rInfo );
507 
508     virtual AbstractScDPDateGroupDlg * CreateScDPDateGroupDlg( Window* pParent,
509                                                                 int nId,
510                                                                 const ScDPNumGroupInfo& rInfo,
511                                                                 sal_Int32 nDatePart,
512                                                                 const Date& rNullDate );
513 
514     virtual AbstractScDPShowDetailDlg * CreateScDPShowDetailDlg( Window* pParent, int nId,
515                                                                 ScDPObject& rDPObj,
516                                                                 sal_uInt16 nOrient );
517 
518 	virtual AbstractScNewScenarioDlg * CreateScNewScenarioDlg ( Window* pParent, const String& rName, //add for ScNewScenarioDlg
519 																int nId,
520 																sal_Bool bEdit = sal_False, sal_Bool bSheetProtected = sal_False );
521 	virtual AbstractScShowTabDlg * CreateScShowTabDlg ( Window* pParent, int nId ); //add for ScShowTabDlg
522 
523 	virtual AbstractScStringInputDlg * CreateScStringInputDlg (  Window* pParent, //add for ScStringInputDlg
524 																const String& rTitle,
525 																const String& rEditTitle,
526 																const String& rDefault,
527 																const rtl::OString& sHelpId, const rtl::OString& sEditHelpId,
528 																int nId );
529 
530     virtual AbstractScTabBgColorDlg * CreateScTabBgColorDlg (  Window* pParent, //add for ScStringInputDlg
531                                                                 const String& rTitle, //Dialog Title
532                                                                 const String& rTabBgColorNoColorText, //Label for no tab color
533                                                                 const Color& rDefaultColor, //Currently selected Color
534                                                                 const rtl::OString& sHelpId ,
535                                                                 int nId );
536 
537 	virtual AbstractScImportOptionsDlg * CreateScImportOptionsDlg ( Window* 				pParent, //add for ScImportOptionsDlg
538 																	int nId,
539 																	sal_Bool                    bAscii = sal_True,
540 																	const ScImportOptions*	pOptions = NULL,
541 																	const String*			pStrTitle = NULL,
542 																	sal_Bool                    bMultiByte = sal_False,
543 																	sal_Bool                    bOnlyDbtoolsEncodings = sal_False,
544 																	sal_Bool                    bImport = sal_True );
545 	virtual SfxAbstractTabDialog * CreateScAttrDlg( SfxViewFrame*	 pFrame, //add for ScAttrDlg
546 													Window*			 pParent,
547 													const SfxItemSet* pCellAttrs,
548 													int nId);
549 
550 	virtual SfxAbstractTabDialog * CreateScHFEditDlg( SfxViewFrame*		pFrame, //add for ScHFEditDlg
551 													Window*			pParent,
552 													const SfxItemSet&	rCoreSet,
553 													const String&		rPageStyle,
554 													int nId,
555 													sal_uInt16				nResId = RID_SCDLG_HFEDIT );
556 
557 	virtual SfxAbstractTabDialog * CreateScStyleDlg( Window*				pParent,//add for ScStyleDlg
558 													SfxStyleSheetBase&	rStyleBase,
559 													sal_uInt16				nRscId,
560 													int nId);
561 
562 	virtual SfxAbstractTabDialog * CreateScSubTotalDlg( Window*				pParent, //add for ScSubTotalDlg
563 														const SfxItemSet*	pArgSet,
564 														int nId);
565 	virtual SfxAbstractTabDialog * CreateScCharDlg( Window* pParent, const SfxItemSet* pAttr,//add for ScCharDlg
566 													const SfxObjectShell* pDocShell, int nId );
567 
568 	virtual SfxAbstractTabDialog * CreateScParagraphDlg( Window* pParent, const SfxItemSet* pAttr ,//add for ScParagraphDlg
569 															int nId );
570 
571 	virtual SfxAbstractTabDialog * CreateScValidationDlg( Window* pParent, //add for ScValidationDlg
572 	//<!--Modified by PengYunQuan for Validity Cell Range Picker
573 	//													const SfxItemSet* pArgSet,int nId  );
574 														const SfxItemSet* pArgSet,int nId, ScTabViewShell *pTabVwSh  );
575 	//-->Modified by PengYunQuan for Validity Cell Range Picker
576 
577 	virtual SfxAbstractTabDialog * CreateScSortDlg( Window*			 pParent, //add for ScSortDlg
578 													const SfxItemSet* pArgSet,int nId );
579 	// For TabPage
580 	virtual CreateTabPage				GetTabPageCreatorFunc( sal_uInt16 nId );
581 
582 	virtual GetTabPageRanges			GetTabPageRangesFunc( sal_uInt16 nId );
583 
584 };
585 
586 //CHINA001 struct ScDialogsResMgr
587 //CHINA001 {
588 //CHINA001 static ResMgr*		GetResMgr();
589 //CHINA001 };
590 
591 #endif
592 
593 
594