xref: /trunk/main/sc/source/ui/attrdlg/scdlgfact.cxx (revision b77af630)
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 
24 // MARKER(update_precomp.py): autogen include statement, do not remove
25 #include "precompiled_scui.hxx"
26 
27 #if ! ENABLE_LAYOUT_EXPERIMENTAL
28 #undef ENABLE_LAYOUT
29 #endif
30 
31 #undef SC_DLLIMPLEMENTATION
32 
33 #include "scdlgfact.hxx"
34 
35 #include "sc.hrc" //CHINA001
36 #include "scuiasciiopt.hxx" //add for ScImportAsciiDlg
37 #include "scuiautofmt.hxx" //add for ScAutoFormatDlg
38 #include "corodlg.hxx" //add for ScColRowLabelDlg
39 #include "crdlg.hxx" //add for ScColOrRowDlg
40 #include "dapidata.hxx" //add for ScDataPilotDatabaseDlg
41 #include "dapitype.hxx" //add for ScDataPilotSourceTypeDlg, ScDataPilotServiceDlg
42 #include "delcldlg.hxx" //add for ScDeleteCellDlg
43 #include "delcodlg.hxx" //add for ScDeleteContentsDlg
44 #include "filldlg.hxx" //add for ScFillSeriesDlg
45 #include "groupdlg.hxx" //add for ScGroupDlg
46 #include "inscldlg.hxx" //add for ScInsertCellDlg
47 #include "inscodlg.hxx" //add for ScInsertContentsDlg
48 #include "instbdlg.hxx" //add for ScInsertTableDlg
49 #include "lbseldlg.hxx" //add for ScSelEntryDlg
50 #include "linkarea.hxx" //add for ScLinkedAreaDlg
51 #include "mtrindlg.hxx" //add for ScMetricInputDlg
52 #include "mvtabdlg.hxx" //add for ScMoveTableDlg
53 #include "namecrea.hxx" //add for ScNameCreateDlg
54 #include "namepast.hxx" //add for ScNamePasteDlg
55 #include "pfiltdlg.hxx" //add for ScPivotFilterDlg
56 #include "pvfundlg.hxx" //add for ScDPFunctionDlg
57 #include "dpgroupdlg.hxx"
58 #include "scendlg.hxx" //add for ScNewScenarioDlg
59 #include "shtabdlg.hxx" //add for ScShowTabDlg
60 #include "strindlg.hxx" //add for ScStringInputDlg
61 #include "tabbgcolordlg.hxx"//add for ScTabBgColorDlg
62 #include "scuiimoptdlg.hxx" //add for ScImportOptionsDlg
63 #include "attrdlg.hxx" //add for ScAttrDlg
64 #include "hfedtdlg.hxx" //add for ScHFEditDlg
65 #include "styledlg.hxx" //add for ScStyleDlg
66 #include "subtdlg.hxx" //add for ScSubTotalDlg
67 #include "textdlgs.hxx" //add for ScCharDlg, ScParagraphDlg
68 #include "validate.hxx" //add for ScValidationDlg
69 #include "validate.hrc" //add for ScValidationDlg
70 #include "sortdlg.hxx" //add for ScSortDlg
71 #include "textimportoptions.hxx"
72 #include "opredlin.hxx" //add for  ScRedlineOptionsTabPage
73 #include "tpcalc.hxx" //add for ScTpCalcOptions
74 #include "tpprint.hxx" //add for ScTpPrintOptions
75 #include "tpstat.hxx" //add for ScDocStatPage
76 #include "tpusrlst.hxx" //add for ScTpUserLists
77 #include "tpview.hxx" //add for ScTpContentOptions
78 
79 // ause
80 #include "editutil.hxx"
81 #include <sfx2/layout.hxx>
82 
83 IMPL_ABSTDLG_BASE(VclAbstractDialog_Impl); //add for ScColOrRowDlg
84 IMPL_ABSTDLG_BASE(AbstractScImportAsciiDlg_Impl);//CHINA001 add for ScImportAsciiDlg
85 IMPL_ABSTDLG_BASE(AbstractScAutoFormatDlg_Impl); //CHINA001 add for ScAutoFormatDlg
86 IMPL_ABSTDLG_BASE(AbstractScColRowLabelDlg_Impl); //add for ScColRowLabelDlg
87 IMPL_ABSTDLG_BASE(AbstractScDataPilotDatabaseDlg_Impl); //add for ScDataPilotDatabaseDlg
88 IMPL_ABSTDLG_BASE(AbstractScDataPilotSourceTypeDlg_Impl); //add for ScDataPilotSourceTypeDlg
89 IMPL_ABSTDLG_BASE(AbstractScDataPilotServiceDlg_Impl); //add for ScDataPilotServiceDlg
90 IMPL_ABSTDLG_BASE(AbstractScDeleteCellDlg_Impl); //add for ScDeleteCellDlg
91 IMPL_ABSTDLG_BASE(AbstractScDeleteContentsDlg_Impl); //add for ScDeleteContentsDlg
92 IMPL_ABSTDLG_BASE(AbstractScFillSeriesDlg_Impl); //add for ScFillSeriesDlg
93 IMPL_ABSTDLG_BASE(AbstractScGroupDlg_Impl); //add for ScGroupDlg
94 IMPL_ABSTDLG_BASE(AbstractScInsertCellDlg_Impl); //add for ScInsertCellDlg
95 IMPL_ABSTDLG_BASE(AbstractScInsertContentsDlg_Impl); //add for ScInsertContentsDlg
96 IMPL_ABSTDLG_BASE(AbstractScInsertTableDlg_Impl); //add for ScInsertTableDlg
97 IMPL_ABSTDLG_BASE(AbstractScSelEntryDlg_Impl); //add for ScSelEntryDlg
98 IMPL_ABSTDLG2_BASE(AbstractScLinkedAreaDlg_Impl); //add for ScLinkedAreaDlg
99 IMPL_ABSTDLG_BASE(AbstractScMetricInputDlg_Impl); //add for ScMetricInputDlg
100 IMPL_ABSTDLG_BASE(AbstractScMoveTableDlg_Impl); //add for ScMoveTableDlg
101 IMPL_ABSTDLG_BASE(AbstractScNameCreateDlg_Impl); //add for ScNameCreateDlg
102 IMPL_ABSTDLG_BASE(AbstractScNamePasteDlg_Impl); //add for ScNamePasteDlg
103 IMPL_ABSTDLG_BASE(AbstractScPivotFilterDlg_Impl); //add for ScPivotFilterDlg
104 IMPL_ABSTDLG_BASE(AbstractScDPFunctionDlg_Impl); //add for ScDPFunctionDlg
105 IMPL_ABSTDLG_BASE(AbstractScDPSubtotalDlg_Impl); //add for ScDPSubtotalDlg
106 IMPL_ABSTDLG_BASE(AbstractScDPNumGroupDlg_Impl);
107 IMPL_ABSTDLG_BASE(AbstractScDPDateGroupDlg_Impl);
108 IMPL_ABSTDLG_BASE(AbstractScDPShowDetailDlg_Impl); //add for ScDPShowDetailDlg
109 IMPL_ABSTDLG_BASE(AbstractScNewScenarioDlg_Impl); //add for ScNewScenarioDlg
110 IMPL_ABSTDLG_BASE(AbstractScShowTabDlg_Impl); //add for ScShowTabDlg
111 IMPL_ABSTDLG_BASE(AbstractScStringInputDlg_Impl); //add for ScStringInputDlg
112 IMPL_ABSTDLG_BASE(AbstractScTabBgColorDlg_Impl); //add for ScTabBgColorDlg
113 IMPL_ABSTDLG_BASE(AbstractScImportOptionsDlg_Impl); //add for ScImportOptionsDlg
114 IMPL_ABSTDLG_BASE(AbstractScTextImportOptionsDlg_Impl);
115 IMPL_ABSTDLG_BASE(AbstractTabDialog_Impl); //add for ScAttrDlg, ScHFEditDlg, ScStyleDlg, ScSubTotalDlg,ScCharDlg, ScParagraphDlg, ScValidationDlg, ScSortDlg
116 
117 // AbstractTabDialog_Impl begin
118 void AbstractTabDialog_Impl::SetCurPageId( sal_uInt16 nId )
119 {
120 	pDlg->SetCurPageId( nId );
121 }
122 
123 const SfxItemSet* AbstractTabDialog_Impl::GetOutputItemSet() const
124 {
125 	return pDlg->GetOutputItemSet();
126 }
127 //add by CHINA001
128 const sal_uInt16* AbstractTabDialog_Impl::GetInputRanges(const SfxItemPool& pItem )
129 {
130 	return pDlg->GetInputRanges( pItem );
131 }
132 //add by CHINA001
133 void AbstractTabDialog_Impl::SetInputSet( const SfxItemSet* pInSet )
134 {
135 	 pDlg->SetInputSet( pInSet );
136 }
137 //From class Window.
138 void AbstractTabDialog_Impl::SetText( const XubString& rStr )
139 {
140 	pDlg->SetText( rStr );
141 }
142 String AbstractTabDialog_Impl::GetText() const
143 {
144 	return pDlg->GetText();
145 }
146 
147 #if ENABLE_LAYOUT
148 namespace layout
149 {
150 IMPL_ABSTDLG_BASE(AbstractTabDialog_Impl); //add for ScAttrDlg, ScHFEditDlg, ScStyleDlg, ScSubTotalDlg,ScCharDlg, ScParagraphDlg, ScValidationDlg, ScSortDlg
151 
152 // AbstractTabDialog_Impl begin
153 void AbstractTabDialog_Impl::SetCurPageId( sal_uInt16 nId )
154 {
155 	pDlg->SetCurPageId( nId );
156 }
157 
158 const SfxItemSet* AbstractTabDialog_Impl::GetOutputItemSet() const
159 {
160 	return pDlg->GetOutputItemSet();
161 }
162 //add by CHINA001
163 const sal_uInt16* AbstractTabDialog_Impl::GetInputRanges(const SfxItemPool& pItem )
164 {
165 	return pDlg->GetInputRanges( pItem );
166 }
167 //add by CHINA001
168 void AbstractTabDialog_Impl::SetInputSet( const SfxItemSet* pInSet )
169 {
170 	 pDlg->SetInputSet( pInSet );
171 }
172 //From class Window.
173 void AbstractTabDialog_Impl::SetText( const XubString& rStr )
174 {
175 	pDlg->SetText( rStr );
176 }
177 String AbstractTabDialog_Impl::GetText() const
178 {
179 	return pDlg->GetText();
180 }
181 }
182 #endif /* ENABLE_LAYOUT */
183 
184 //add for AbstractTabDialog_Impl end
185 // AbstractScImportAsciiDlg_Impl begin
186 void AbstractScImportAsciiDlg_Impl::GetOptions( ScAsciiOptions& rOpt )
187 {
188 	pDlg->GetOptions( rOpt );
189 }
190 
191 void AbstractScImportAsciiDlg_Impl::SetTextToColumnsMode()
192 {
193     pDlg->SetTextToColumnsMode();
194 }
195 
196 void AbstractScImportAsciiDlg_Impl::SaveParameters()
197 {
198     pDlg->SaveParameters();
199 }
200 
201 // AbstractScImportAsciiDlg_Impl end
202 
203 //AbstractScAutoFormatDlg_Impl begin
204 sal_uInt16 AbstractScAutoFormatDlg_Impl::GetIndex() const
205 {
206 	return pDlg->GetIndex();
207 }
208 
209 String AbstractScAutoFormatDlg_Impl::GetCurrFormatName()
210 {
211 	return pDlg->GetCurrFormatName();
212 }
213 
214 //AbstractScAutoFormatDlg_Impl end
215 
216 
217 
218 //AbstractScColRowLabelDlg_Impl begin
219 sal_Bool  AbstractScColRowLabelDlg_Impl::IsCol()
220 {
221 	return  pDlg->IsCol();
222 }
223 sal_Bool AbstractScColRowLabelDlg_Impl::IsRow()
224 {
225 	return pDlg->IsRow();
226 }
227 
228 //AbstractScColRowLabelDlg_Impl end
229 
230 
231 //AbstractScDataPilotDatabaseDlg_Impl begin
232 
233 
234 void AbstractScDataPilotDatabaseDlg_Impl::GetValues( ScImportSourceDesc& rDesc )
235 {
236 	pDlg->GetValues(rDesc);
237 }
238 
239 //AbstractScDataPilotDatabaseDlg_Impl end
240 
241 //AbstractScDataPilotSourceTypeDlg_Impl begin
242 
243 sal_Bool AbstractScDataPilotSourceTypeDlg_Impl::IsDatabase() const
244 {
245 	return pDlg->IsDatabase();
246 }
247 
248 sal_Bool AbstractScDataPilotSourceTypeDlg_Impl::IsExternal() const
249 {
250 	return pDlg->IsExternal();
251 }
252 
253 //AbstractScDataPilotSourceTypeDlg_Impl end
254 
255 
256 // AbstractScDataPilotServiceDlg_Impl begin
257 String AbstractScDataPilotServiceDlg_Impl::GetServiceName() const
258 {
259 	return pDlg->GetServiceName();
260 }
261 
262 String AbstractScDataPilotServiceDlg_Impl::GetParSource() const
263 {
264 	return pDlg->GetParSource();
265 }
266 String AbstractScDataPilotServiceDlg_Impl::GetParName() const
267 {
268 	return pDlg->GetParName();
269 }
270 String AbstractScDataPilotServiceDlg_Impl::GetParUser() const
271 {
272 	return pDlg->GetParUser();
273 }
274 String AbstractScDataPilotServiceDlg_Impl::GetParPass() const
275 {
276 	return pDlg->GetParPass();
277 }
278 
279 //AbstractScDataPilotServiceDlg_Impl end
280 
281 //AbstractScDeleteCellDlg_Impl begin
282 DelCellCmd AbstractScDeleteCellDlg_Impl::GetDelCellCmd() const  //add for ScDeleteCellDlg
283 {
284 	return pDlg->GetDelCellCmd();
285 }
286 //AbstractScDeleteCellDlg_Impl end
287 
288 //add for AbstractScDeleteContentsDlg_Impl begin
289 void AbstractScDeleteContentsDlg_Impl::DisableObjects()
290 {
291 	pDlg->DisableObjects();
292 }
293 sal_uInt16	 AbstractScDeleteContentsDlg_Impl::GetDelContentsCmdBits() const
294 {
295 	return pDlg->GetDelContentsCmdBits();
296 }
297 //add for AbstractScDeleteContentsDlg_Impl end
298 
299 //add for AbstractScFillSeriesDlg_Impl begin
300 FillDir AbstractScFillSeriesDlg_Impl::GetFillDir() const
301 {
302 	return pDlg->GetFillDir();
303 }
304 
305 FillCmd	AbstractScFillSeriesDlg_Impl::GetFillCmd() const
306 {
307 	return pDlg->GetFillCmd();
308 }
309 
310 FillDateCmd AbstractScFillSeriesDlg_Impl::GetFillDateCmd() const
311 {
312 	return pDlg->GetFillDateCmd();
313 }
314 
315 double	AbstractScFillSeriesDlg_Impl::GetStart() const
316 {
317 	return pDlg->GetStart();
318 }
319 double	AbstractScFillSeriesDlg_Impl::GetStep() const
320 {
321 	return pDlg->GetStep();
322 }
323 double	AbstractScFillSeriesDlg_Impl::GetMax() const
324 {
325 	return pDlg->GetMax();
326 }
327 String	AbstractScFillSeriesDlg_Impl::GetStartStr() const
328 {
329 	return pDlg->GetStartStr();
330 }
331 void	AbstractScFillSeriesDlg_Impl::SetEdStartValEnabled(sal_Bool bFlag)
332 {
333 	pDlg->SetEdStartValEnabled(bFlag);
334 }
335 //add for AbstractScFillSeriesDlg_Impl end
336 
337 //add for AbstractScGroupDlg_Impl begin
338 sal_Bool AbstractScGroupDlg_Impl::GetColsChecked() const
339 {
340 	return pDlg->GetColsChecked();
341 }
342 //add for AbstractScGroupDlg_Impl end
343 
344 
345 //add for AbstractScInsertCellDlg_Impl begin
346 InsCellCmd  AbstractScInsertCellDlg_Impl::GetInsCellCmd() const
347 {
348 	return pDlg->GetInsCellCmd();
349 }
350 
351 //add for AbstractScInsertCellDlg_Impl end
352 
353 
354 //add for AbstractScInsertContentsDlg_Impl begin
355 sal_uInt16 AbstractScInsertContentsDlg_Impl::GetInsContentsCmdBits() const
356 {
357 	return pDlg->GetInsContentsCmdBits();
358 }
359 
360 
361 sal_uInt16	AbstractScInsertContentsDlg_Impl::GetFormulaCmdBits() const
362 {
363 	return pDlg->GetFormulaCmdBits();
364 }
365 sal_Bool	AbstractScInsertContentsDlg_Impl::IsSkipEmptyCells() const
366 {
367 	return pDlg->IsSkipEmptyCells();
368 }
369 sal_Bool 	AbstractScInsertContentsDlg_Impl::IsLink() const
370 {
371 	return pDlg->IsLink();
372 }
373 void	AbstractScInsertContentsDlg_Impl::SetFillMode( sal_Bool bSet )
374 {
375 	pDlg->SetFillMode( bSet );
376 }
377 
378 void	AbstractScInsertContentsDlg_Impl::SetOtherDoc( sal_Bool bSet )
379 {
380 	pDlg->SetOtherDoc( bSet );
381 }
382 
383 sal_Bool 	AbstractScInsertContentsDlg_Impl::IsTranspose() const
384 {
385 	return pDlg->IsTranspose();
386 }
387 void	AbstractScInsertContentsDlg_Impl::SetChangeTrack( sal_Bool bSet )
388 {
389 	pDlg->SetChangeTrack( bSet );
390 }
391 void	AbstractScInsertContentsDlg_Impl::SetCellShiftDisabled( int nDisable )
392 {
393 	pDlg->SetCellShiftDisabled( nDisable );
394 }
395 
396 InsCellCmd	AbstractScInsertContentsDlg_Impl::GetMoveMode()
397 {
398 	return pDlg->GetMoveMode();
399 }
400 //add for AbstractScInsertContentsDlg_Impl end
401 
402 
403 //add for AbstractScInsertTableDlg_Impl begin
404 sal_Bool AbstractScInsertTableDlg_Impl::GetTablesFromFile()
405 {
406 	return pDlg->GetTablesFromFile();
407 }
408 
409 sal_Bool	AbstractScInsertTableDlg_Impl::GetTablesAsLink()
410 {
411 	return pDlg->GetTablesAsLink();
412 }
413 const String*	AbstractScInsertTableDlg_Impl::GetFirstTable( sal_uInt16* pN )
414 {
415 	return pDlg->GetFirstTable( pN );
416 }
417 ScDocShell*		AbstractScInsertTableDlg_Impl::GetDocShellTables()
418 {
419 	return pDlg->GetDocShellTables();
420 }
421 sal_Bool	AbstractScInsertTableDlg_Impl::IsTableBefore()
422 {
423 	return pDlg->IsTableBefore();
424 }
425 sal_uInt16	AbstractScInsertTableDlg_Impl::GetTableCount()
426 {
427 	return pDlg->GetTableCount();
428 }
429 const String*	AbstractScInsertTableDlg_Impl::GetNextTable( sal_uInt16* pN )
430 {
431 	return pDlg->GetNextTable( pN );
432 }
433 //add for AbstractScInsertTableDlg_Impl end
434 
435 //add for AbstractScSelEntryDlg_Impl begin
436 String AbstractScSelEntryDlg_Impl::GetSelectEntry() const
437 {
438 	return pDlg->GetSelectEntry();
439 }
440 //add for AbstractScSelEntryDlg_Impl end
441 
442 //add for AbstractScLinkedAreaDlg_Impl begin
443 void AbstractScLinkedAreaDlg_Impl::InitFromOldLink( const String& rFile, const String& rFilter,
444 										const String& rOptions, const String& rSource,
445 										sal_uLong nRefresh )
446 {
447 	pDlg->InitFromOldLink( rFile, rFilter, rOptions, rSource, nRefresh);
448 }
449 
450 String	AbstractScLinkedAreaDlg_Impl::GetURL()
451 {
452 	return pDlg->GetURL();
453 }
454 String	AbstractScLinkedAreaDlg_Impl::GetFilter()
455 {
456 	return pDlg->GetFilter();
457 }
458 String	AbstractScLinkedAreaDlg_Impl::GetOptions()
459 {
460 	return pDlg->GetOptions();
461 }
462 String	AbstractScLinkedAreaDlg_Impl::GetSource()
463 {
464 	return pDlg->GetSource();
465 }
466 sal_uLong	AbstractScLinkedAreaDlg_Impl::GetRefresh()
467 {
468 	return pDlg->GetRefresh();
469 }
470 //add for AbstractScLinkedAreaDlg_Impl end
471 
472 
473 //add for AbstractScMetricInputDlg_Impl begin
474 long AbstractScMetricInputDlg_Impl::GetInputValue( FieldUnit eUnit ) const
475 {
476 
477 	return pDlg->GetInputValue( eUnit );
478 }
479 //add for AbstractScMetricInputDlg_Impl end
480 
481 //add for AbstractScMoveTableDlg_Impl begin
482 sal_uInt16 AbstractScMoveTableDlg_Impl::GetSelectedDocument() const //add for ScMoveTableDlg
483 {
484 	return pDlg->GetSelectedDocument();
485 }
486 
487 sal_uInt16	AbstractScMoveTableDlg_Impl::GetSelectedTable() const
488 {
489 	return pDlg->GetSelectedTable();
490 }
491 sal_Bool	AbstractScMoveTableDlg_Impl::GetCopyTable() const
492 {
493 	return pDlg->GetCopyTable();
494 }
495 void	AbstractScMoveTableDlg_Impl::SetCopyTable(sal_Bool bFla)
496 {
497 	return pDlg->SetCopyTable( bFla );
498 }
499 void	AbstractScMoveTableDlg_Impl::EnableCopyTable(sal_Bool bFlag)
500 {
501 	return pDlg->EnableCopyTable( bFlag);
502 }
503 //add for AbstractScMoveTableDlg_Impl end
504 
505 //add for AbstractScNameCreateDlg_Impl begin
506 sal_uInt16 AbstractScNameCreateDlg_Impl::GetFlags() const  //add for ScNameCreateDlg
507 {
508 	return pDlg->GetFlags();
509 }
510 //add for AbstractScNameCreateDlg_Impl end
511 
512 //add for AbstractScNamePasteDlg_Impl begin
513 String AbstractScNamePasteDlg_Impl::GetSelectedName() const  //add for ScNamePasteDlg
514 {
515 	return pDlg->GetSelectedName();
516 }
517 
518 //add for AbstractScNamePasteDlg_Impl end
519 
520 //add for AbstractScPivotFilterDlg_Impl begin
521 const ScQueryItem&	 AbstractScPivotFilterDlg_Impl::GetOutputItem()  //add for ScPivotFilterDlg
522 {
523 	return pDlg->GetOutputItem();
524 }
525 //add for AbstractScPivotFilterDlg_Impl end
526 
527 //add for AbstractScDPFunctionDlg_Impl begin
528 sal_uInt16 AbstractScDPFunctionDlg_Impl::GetFuncMask() const //add for ScDPFunctionDlg
529 {
530 	 return pDlg->GetFuncMask();
531 }
532 ::com::sun::star::sheet::DataPilotFieldReference AbstractScDPFunctionDlg_Impl::GetFieldRef() const
533 {
534     return pDlg->GetFieldRef();
535 }
536 //add for AbstractScDPFunctionDlg_Impl end
537 
538 //add for AbstractScDPSubtotalDlg_Impl begin
539 sal_uInt16 AbstractScDPSubtotalDlg_Impl::GetFuncMask() const //add for ScDPSubtotalDlg
540 {
541      return pDlg->GetFuncMask();
542 }
543 void AbstractScDPSubtotalDlg_Impl::FillLabelData( ScDPLabelData& rLabelData ) const
544 {
545     pDlg->FillLabelData( rLabelData );
546 }
547 //add for AbstractScDPSubtotalDlg_Impl end
548 
549 ScDPNumGroupInfo AbstractScDPNumGroupDlg_Impl::GetGroupInfo() const
550 {
551     return pDlg->GetGroupInfo();
552 }
553 
554 ScDPNumGroupInfo AbstractScDPDateGroupDlg_Impl::GetGroupInfo() const
555 {
556     return pDlg->GetGroupInfo();
557 }
558 
559 sal_Int32 AbstractScDPDateGroupDlg_Impl::GetDatePart() const
560 {
561     return pDlg->GetDatePart();
562 }
563 
564 //add for AbstractScDPShowDetailDlg_Impl begin
565 String AbstractScDPShowDetailDlg_Impl::GetDimensionName() const
566 {
567      return pDlg->GetDimensionName();
568 }
569 //add for AbstractScDPShowDetailDlg_Impl end
570 
571 //add for AbstractScNewScenarioDlg_Impl begin
572 void AbstractScNewScenarioDlg_Impl::SetScenarioData( const String& rName, const String& rComment,
573 							const Color& rColor, sal_uInt16 nFlags )
574 {
575 	pDlg->SetScenarioData(rName,rComment, rColor,nFlags);
576 }
577 
578 void AbstractScNewScenarioDlg_Impl::GetScenarioData( String& rName, String& rComment,
579 							Color& rColor, sal_uInt16& rFlags ) const
580 {
581 	pDlg->GetScenarioData( rName,rComment,rColor,rFlags);
582 }
583 
584 //add for AbstractScNewScenarioDlg_Impl end
585 
586 //add for  AbstractScShowTabDlg_Impl begin
587 void AbstractScShowTabDlg_Impl::Insert( const String& rString, sal_Bool bSelected )  //add for ScShowTabDlg
588 {
589 	pDlg->Insert( rString, bSelected);
590 }
591 
592 sal_uInt16	AbstractScShowTabDlg_Impl::GetSelectEntryCount() const
593 {
594 	return pDlg->GetSelectEntryCount();
595 }
596 void	AbstractScShowTabDlg_Impl::SetDescription(
597                 const String& rTitle, const String& rFixedText,
598                 const rtl::OString& sDlgHelpId, const rtl::OString& sLbHelpId )
599 {
600 	pDlg->SetDescription( rTitle, rFixedText, sDlgHelpId, sLbHelpId );
601 }
602 sal_uInt16  AbstractScShowTabDlg_Impl::GetSelectEntryPos(sal_uInt16 nPos) const
603 {
604 	return pDlg->GetSelectEntryPos( nPos);
605 }
606 String	 AbstractScShowTabDlg_Impl::GetSelectEntry(sal_uInt16 nPos) const
607 {
608 		return pDlg->GetSelectEntry(nPos);
609 }
610 //add for AbstractScShowTabDlg_Impl end
611 
612 //add for AbstractScStringInputDlg_Impl begin
613 void AbstractScStringInputDlg_Impl::GetInputString( String& rString ) const  //add for ScStringInputDlg
614 {
615 	pDlg->GetInputString( rString );
616 }
617 //add for AbstractScStringInputDlg_Impl end
618 
619 //add for AbstractScTabBgColorDlg_Impl begin
620 void AbstractScTabBgColorDlg_Impl::GetSelectedColor( Color& rColor ) const  //add for ScTabBgColorDlg
621 {
622     pDlg->GetSelectedColor( rColor );
623 }
624 //add for AbstractScTabBgColorDlg_Impl end
625 
626 
627 //add for AbstractScImportOptionsDlg_Impl begin
628 void AbstractScImportOptionsDlg_Impl::GetImportOptions( ScImportOptions& rOptions ) const  //add for ScImportOptionsDlg
629 {
630 	pDlg->GetImportOptions(rOptions);
631 }
632 // add for AbstractScImportOptionsDlg_Impl end
633 
634 //add for AbstractScLangChooserDlg_Impl begin
635 LanguageType AbstractScTextImportOptionsDlg_Impl::GetLanguageType() const
636 {
637     return pDlg->getLanguageType();
638 }
639 
640 bool AbstractScTextImportOptionsDlg_Impl::IsDateConversionSet() const
641 {
642     return pDlg->isDateConversionSet();
643 }
644 
645 //add for AbstractScLangChooserDlg_Impl end
646 
647 // =========================Factories  for createdialog ===================
648 
649 //add for ScImportAsciiDlg begin
650 AbstractScImportAsciiDlg * ScAbstractDialogFactory_Impl::CreateScImportAsciiDlg ( Window* pParent, String aDatName,
651 													SvStream* pInStream, int nId, sal_Unicode cSep )
652 {
653 	ScImportAsciiDlg* pDlg=NULL;
654 	switch ( nId )
655 	{
656 		case RID_SCDLG_ASCII :
657 			pDlg = new ScImportAsciiDlg( pParent, aDatName,pInStream, cSep );
658 			break;
659 		default:
660 			break;
661 	}
662 
663 	if ( pDlg )
664 		return new AbstractScImportAsciiDlg_Impl( pDlg );
665 	return 0;
666 }
667 // ScImportAsciiDlg end
668 
669 AbstractScTextImportOptionsDlg * ScAbstractDialogFactory_Impl::CreateScTextImportOptionsDlg( Window* pParent, int nId )
670 {
671     ScTextImportOptionsDlg* pDlg = NULL;
672     switch (nId)
673     {
674         case RID_SCDLG_TEXT_IMPORT_OPTIONS:
675             pDlg = new ScTextImportOptionsDlg(pParent);
676         break;
677         default:
678             ;
679     }
680 
681     return pDlg ? new AbstractScTextImportOptionsDlg_Impl(pDlg) : NULL;
682 }
683 
684 //add for ScAutoFormatDlg begin
685 
686 AbstractScAutoFormatDlg * ScAbstractDialogFactory_Impl::CreateScAutoFormatDlg( Window*					pParent, //add for ScAutoFormatDlg
687 																ScAutoFormat*				pAutoFormat,
688 																const ScAutoFormatData*    pSelFormatData,
689 																ScDocument*                pDoc,
690 																int nId)
691 {
692 	ScAutoFormatDlg* pDlg=NULL;
693 	switch ( nId )
694 	{
695 		case RID_SCDLG_AUTOFORMAT :
696 			pDlg = new ScAutoFormatDlg( pParent, pAutoFormat,pSelFormatData, pDoc );
697 			break;
698 		default:
699 			break;
700 	}
701 
702 	if ( pDlg )
703 		return new AbstractScAutoFormatDlg_Impl( pDlg );
704 	return 0;
705 }
706 //add for ScAutoFormatDlg end
707 
708 //add for ScColRowLabelDlg begin
709 
710 AbstractScColRowLabelDlg *  ScAbstractDialogFactory_Impl::CreateScColRowLabelDlg(Window* pParent, //add for ScColRowLabelDlg
711 																int nId,
712 																sal_Bool bCol ,
713 																sal_Bool bRow)
714 {
715 	ScColRowLabelDlg* pDlg=NULL;
716 	switch ( nId )
717 	{
718 		case RID_SCDLG_CHARTCOLROW :
719 			pDlg = new ScColRowLabelDlg( pParent, bCol,bRow );
720 			break;
721 		default:
722 			break;
723 	}
724 
725 	if ( pDlg )
726 		return new AbstractScColRowLabelDlg_Impl( pDlg );
727 	return 0;
728 }
729 //add for ScColRowLabelDlg end
730 
731 
732 //add for ScColOrRowDlg begin
733 
734 VclAbstractDialog *  ScAbstractDialogFactory_Impl::CreateScColOrRowDlg(Window*			pParent,
735 													const String&	rStrTitle,
736 													const String&	rStrLabel,
737 													int nId,
738 													sal_Bool				bColDefault)
739 {
740 	Dialog * pDlg=NULL;
741 	switch ( nId )
742 	{
743 		case RID_SCDLG_COLORROW :
744 			pDlg = new ScColOrRowDlg( pParent, rStrTitle,rStrLabel,bColDefault );
745 			break;
746 		default:
747 			break;
748 	}
749 
750 	if ( pDlg )
751 		return new VclAbstractDialog_Impl( pDlg );
752 	return 0;
753 }
754 //add for ScColOrRowDlg end
755 
756 //add for ScSortWarningDlg begin
757 VclAbstractDialog * ScAbstractDialogFactory_Impl::CreateScSortWarningDlg( Window* pParent, const String& rExtendText,
758                                                                           const String& rCurrentText, int nId )
759 {
760     Dialog * pDlg=NULL;
761     switch ( nId )
762     {
763     case RID_SCDLG_SORT_WARNING:
764         pDlg = new ScSortWarningDlg( pParent, rExtendText, rCurrentText );
765         break;
766     default:
767         break;
768     }
769     if( pDlg )
770         return new VclAbstractDialog_Impl( pDlg );
771     return 0;
772 }
773 //add for ScSortWarningDlg end
774 
775 //add for ScDataPilotDatabaseDlg begin
776 
777 AbstractScDataPilotDatabaseDlg *  ScAbstractDialogFactory_Impl::CreateScDataPilotDatabaseDlg (Window* pParent ,
778 																							  int nId )  //add for ScDataPilotDatabaseDlg
779 {
780 	ScDataPilotDatabaseDlg * pDlg=NULL;
781 	switch ( nId )
782 	{
783 		case RID_SCDLG_DAPIDATA :
784 			pDlg = new ScDataPilotDatabaseDlg( pParent );
785 			break;
786 		default:
787 			break;
788 	}
789 
790 	if ( pDlg )
791 		return new AbstractScDataPilotDatabaseDlg_Impl( pDlg );
792 	return 0;
793 }
794 //add for ScDataPilotDatabaseDlg end
795 
796 //add for ScDataPilotSourceTypeDlg begin
797 AbstractScDataPilotSourceTypeDlg* ScAbstractDialogFactory_Impl::CreateScDataPilotSourceTypeDlg( Window* pParent,
798 																							   sal_Bool bEnableExternal,
799 																							   int nId )
800 {
801 	ScDataPilotSourceTypeDlg * pDlg=NULL;
802 	switch ( nId )
803 	{
804 		case RID_SCDLG_DAPITYPE :
805 			pDlg = new ScDataPilotSourceTypeDlg( pParent, bEnableExternal );
806 			break;
807 		default:
808 			break;
809 	}
810 
811 	if ( pDlg )
812 		return new AbstractScDataPilotSourceTypeDlg_Impl( pDlg );
813 	return 0;
814 }
815 
816 // add for ScDataPilotSourceTypeDlg end
817 
818 
819 //add for ScDataPilotServiceDlg begin
820 AbstractScDataPilotServiceDlg* ScAbstractDialogFactory_Impl::CreateScDataPilotServiceDlg( Window* pParent,
821 																		const com::sun::star::uno::Sequence<rtl::OUString>& rServices,
822 															int nId )
823 {
824 	ScDataPilotServiceDlg * pDlg=NULL;
825 	switch ( nId )
826 	{
827 		case RID_SCDLG_DAPISERVICE :
828 			pDlg = new ScDataPilotServiceDlg( pParent, rServices );
829 			break;
830 		default:
831 			break;
832 	}
833 
834 	if ( pDlg )
835 		return new AbstractScDataPilotServiceDlg_Impl( pDlg );
836 	return 0;
837 }
838 
839 // add for ScDataPilotServiceDlg end
840 
841 //add for ScDeleteCellDlg begin
842 AbstractScDeleteCellDlg* ScAbstractDialogFactory_Impl::CreateScDeleteCellDlg( Window* pParent, int nId,
843 																			 sal_Bool bDisallowCellMove )
844 {
845 	ScDeleteCellDlg * pDlg=NULL;
846 	switch ( nId )
847 	{
848 		case RID_SCDLG_DELCELL :
849 			pDlg = new ScDeleteCellDlg( pParent, bDisallowCellMove );
850 			break;
851 		default:
852 			break;
853 	}
854 
855 	if ( pDlg )
856 		return new AbstractScDeleteCellDlg_Impl( pDlg );
857 	return 0;
858 }
859 
860 //add for ScDeleteCellDlg  end
861 
862 //add for ScDeleteContentsDlg begin
863 AbstractScDeleteContentsDlg* ScAbstractDialogFactory_Impl::CreateScDeleteContentsDlg(Window* pParent,int nId, //add for ScDeleteContentsDlg
864 																 sal_uInt16  nCheckDefaults )
865 {
866 	ScDeleteContentsDlg * pDlg=NULL;
867 	switch ( nId )
868 	{
869 		case RID_SCDLG_DELCONT :
870 			pDlg = new ScDeleteContentsDlg( pParent, nCheckDefaults );
871 			break;
872 		default:
873 			break;
874 	}
875 
876 	if ( pDlg )
877 		return new AbstractScDeleteContentsDlg_Impl( pDlg );
878 	return 0;
879 }
880 
881 //add for ScDeleteContentsDlg  end
882 
883 //add for ScFillSeriesDlg begin
884 AbstractScFillSeriesDlg* ScAbstractDialogFactory_Impl::CreateScFillSeriesDlg( Window*		pParent, //add for ScFillSeriesDlg
885 															ScDocument&	rDocument,
886 															FillDir		eFillDir,
887 															FillCmd		eFillCmd,
888 															FillDateCmd	eFillDateCmd,
889 															String			aStartStr,
890 															double			fStep,
891 															double			fMax,
892 															sal_uInt16			nPossDir,
893 															int nId)
894 {
895 	ScFillSeriesDlg * pDlg=NULL;
896 	switch ( nId )
897 	{
898 		case RID_SCDLG_FILLSERIES :
899 			pDlg = new ScFillSeriesDlg( pParent, rDocument,eFillDir, eFillCmd,eFillDateCmd, aStartStr,fStep,fMax,nPossDir);
900 			break;
901 		default:
902 			break;
903 	}
904 
905 	if ( pDlg )
906 		return new AbstractScFillSeriesDlg_Impl( pDlg );
907 	return 0;
908 }
909 
910 //add for ScFillSeriesDlg  end
911 
912 //add for ScGroupDlg begin
913 AbstractScGroupDlg* ScAbstractDialogFactory_Impl::CreateAbstractScGroupDlg( Window* pParent,
914 															sal_uInt16	nResId,
915 															int nId,
916 															sal_Bool	bUnGroup ,
917 															sal_Bool	bRows   )
918 {
919 	ScGroupDlg * pDlg=NULL;
920 	switch ( nId )
921 	{
922 		case RID_SCDLG_GRP_KILL :
923 		case RID_SCDLG_GRP_MAKE :
924 			pDlg = new ScGroupDlg( pParent, nResId,bUnGroup, bRows);
925 			break;
926 		default:
927 			break;
928 	}
929 
930 	if ( pDlg )
931 		return new AbstractScGroupDlg_Impl( pDlg );
932 	return 0;
933 }
934 
935 //add for ScGroupDlg  end
936 
937 
938 //add for ScInsertCellDlg begin
939 AbstractScInsertCellDlg * ScAbstractDialogFactory_Impl::CreateScInsertCellDlg( Window* pParent, //add for ScInsertCellDlg
940 																int nId,
941 															sal_Bool bDisallowCellMove )
942 {
943 	ScInsertCellDlg * pDlg=NULL;
944 	switch ( nId )
945 	{
946 		case RID_SCDLG_INSCELL :
947 			pDlg = new ScInsertCellDlg( pParent, bDisallowCellMove);
948 			break;
949 		default:
950 			break;
951 	}
952 
953 	if ( pDlg )
954 		return new AbstractScInsertCellDlg_Impl( pDlg );
955 	return 0;
956 }
957 
958 //add for ScInsertCellDlg end
959 
960 //add for ScInsertContentsDlg begin
961 AbstractScInsertContentsDlg * ScAbstractDialogFactory_Impl::CreateScInsertContentsDlg( Window*		pParent,
962 																					int nId,
963 																					sal_uInt16  		nCheckDefaults,
964 																					const String*	pStrTitle )
965 {
966 	ScInsertContentsDlg * pDlg=NULL;
967 	switch ( nId )
968 	{
969 		case RID_SCDLG_INSCONT :
970 			pDlg = new ScInsertContentsDlg( pParent, nCheckDefaults,pStrTitle );
971 			break;
972 		default:
973 			break;
974 	}
975 
976 	if ( pDlg )
977 		return new AbstractScInsertContentsDlg_Impl( pDlg );
978 	return 0;
979 }
980 //add for ScInsertContentsDlg end
981 
982 //add for ScInsertTableDlg begin
983 AbstractScInsertTableDlg * ScAbstractDialogFactory_Impl::CreateScInsertTableDlg ( Window* pParent, ScViewData& rViewData,
984                                                                 SCTAB nTabCount, bool bFromFile, int nId)
985 {
986 	ScInsertTableDlg * pDlg=NULL;
987 	switch ( nId )
988 	{
989 		case RID_SCDLG_INSERT_TABLE :
990             pDlg = new ScInsertTableDlg( pParent, rViewData,nTabCount, bFromFile );
991 			break;
992 		default:
993 			break;
994 	}
995 
996 	if ( pDlg )
997 		return new AbstractScInsertTableDlg_Impl( pDlg );
998 	return 0;
999 }
1000 //add for ScInsertTableDlg end
1001 
1002 // add for ScSelEntryDlg begin
1003 AbstractScSelEntryDlg * ScAbstractDialogFactory_Impl::CreateScSelEntryDlg ( Window* pParent,
1004 															sal_uInt16	nResId,
1005 														const String& aTitle,
1006 														const String& aLbTitle,
1007 																List& 	aEntryList,
1008 															int nId )
1009 {
1010 	ScSelEntryDlg * pDlg=NULL;
1011 	switch ( nId )
1012 	{
1013 		case RID_SCDLG_SELECTDB :
1014 			pDlg = new ScSelEntryDlg( pParent, nResId,aTitle, aLbTitle, aEntryList );
1015 			break;
1016 		default:
1017 			break;
1018 	}
1019 
1020 	if ( pDlg )
1021 		return new AbstractScSelEntryDlg_Impl( pDlg );
1022 	return 0;
1023 }
1024 // add for ScSelEntryDlg end
1025 
1026 //add for ScLinkedAreaDlg begin
1027 AbstractScLinkedAreaDlg * ScAbstractDialogFactory_Impl::CreateScLinkedAreaDlg (  Window* pParent,
1028 																int nId)
1029 {
1030 	ScLinkedAreaDlg * pDlg=NULL;
1031 	switch ( nId )
1032 	{
1033 		case RID_SCDLG_LINKAREA :
1034 			pDlg = new ScLinkedAreaDlg( pParent );
1035 			break;
1036 		default:
1037 			break;
1038 	}
1039 
1040 	if ( pDlg )
1041 		return new AbstractScLinkedAreaDlg_Impl( pDlg );
1042 	return 0;
1043 }
1044 //add for ScLinkedAreaDlg end
1045 
1046 //add for ScMetricInputDlg begin
1047 AbstractScMetricInputDlg * ScAbstractDialogFactory_Impl::CreateScMetricInputDlg (  Window*		pParent,
1048 																sal_uInt16		nResId,		// Ableitung fuer jeden Dialog!
1049 																long			nCurrent,
1050 																long			nDefault,
1051 																int nId ,
1052 																FieldUnit		eFUnit,
1053 																sal_uInt16		nDecimals,
1054 																long			nMaximum ,
1055 																long			nMinimum,
1056 																long			nFirst,
1057 																long          nLast )
1058 {
1059 	ScMetricInputDlg * pDlg=NULL;
1060 	switch ( nId )
1061 	{
1062 		case RID_SCDLG_ROW_MAN :
1063 		case RID_SCDLG_ROW_OPT :
1064 		case RID_SCDLG_COL_MAN :
1065 		case RID_SCDLG_COL_OPT :
1066 			pDlg = new ScMetricInputDlg( pParent , nResId,nCurrent ,nDefault, eFUnit,
1067 										nDecimals, nMaximum , nMinimum , nFirst, nLast);
1068 			break;
1069 		default:
1070 			break;
1071 	}
1072 
1073 	if ( pDlg )
1074 		return new AbstractScMetricInputDlg_Impl( pDlg );
1075 	return 0;
1076 }
1077 //add for ScMetricInputDlg end
1078 
1079 
1080 //add for  ScMoveTableDlg  begin
1081 AbstractScMoveTableDlg * ScAbstractDialogFactory_Impl::CreateScMoveTableDlg(  Window* pParent, int nId )
1082 {
1083 	ScMoveTableDlg * pDlg=NULL;
1084 	switch ( nId )
1085 	{
1086 		case RID_SCDLG_MOVETAB :
1087 			pDlg = new ScMoveTableDlg( pParent );
1088 			break;
1089 		default:
1090 			break;
1091 	}
1092 
1093 	if ( pDlg )
1094 		return new AbstractScMoveTableDlg_Impl( pDlg );
1095 	return 0;
1096 }
1097 //add for  ScMoveTableDlg  end
1098 
1099 
1100 //add for ScNameCreateDlg begin
1101 AbstractScNameCreateDlg * ScAbstractDialogFactory_Impl::CreateScNameCreateDlg ( Window * pParent, sal_uInt16 nFlags, int nId )
1102 {
1103 	ScNameCreateDlg * pDlg=NULL;
1104 	switch ( nId )
1105 	{
1106 		case RID_SCDLG_NAMES_CREATE :
1107 			pDlg = new ScNameCreateDlg( pParent, nFlags );
1108 			break;
1109 		default:
1110 			break;
1111 	}
1112 
1113 	if ( pDlg )
1114 		return new AbstractScNameCreateDlg_Impl( pDlg );
1115 	return 0;
1116 }
1117 //add for ScNameCreateDlg end
1118 
1119 
1120 //add for ScNamePasteDlg begin
1121  AbstractScNamePasteDlg * ScAbstractDialogFactory_Impl::CreateScNamePasteDlg ( Window * pParent, const ScRangeName* pList,
1122 															int nId , sal_Bool bInsList )
1123 {
1124 	ScNamePasteDlg * pDlg=NULL;
1125 	switch ( nId )
1126 	{
1127 		case RID_SCDLG_NAMES_PASTE :
1128 			pDlg = new ScNamePasteDlg( pParent, pList, bInsList );
1129 			break;
1130 		default:
1131 			break;
1132 	}
1133 
1134 	if ( pDlg )
1135 		return new AbstractScNamePasteDlg_Impl( pDlg );
1136 	return 0;
1137 }
1138 //add for ScNamePasteDlg end
1139 
1140 //add for ScPivotFilterDlg begin
1141 AbstractScPivotFilterDlg * ScAbstractDialogFactory_Impl::CreateScPivotFilterDlg ( Window* pParent,
1142 																const SfxItemSet&	rArgSet, sal_uInt16 nSourceTab , int nId )
1143 {
1144 	ScPivotFilterDlg * pDlg=NULL;
1145 	switch ( nId )
1146 	{
1147 		case RID_SCDLG_PIVOTFILTER :
1148 			pDlg = new ScPivotFilterDlg( pParent, rArgSet, nSourceTab );
1149 			break;
1150 		default:
1151 			break;
1152 	}
1153 
1154 	if ( pDlg )
1155 		return new AbstractScPivotFilterDlg_Impl( pDlg );
1156 	return 0;
1157 }
1158 //add for ScPivotFilterDlg end
1159 
1160 
1161 //add for ScDPFunctionDlg begin
1162 AbstractScDPFunctionDlg * ScAbstractDialogFactory_Impl::CreateScDPFunctionDlg ( Window* pParent,
1163                                                                 int nId,
1164                                                                 const ScDPLabelDataVector& rLabelVec,
1165                                                                 const ScDPLabelData& rLabelData,
1166                                                                 const ScPivotFuncData& rFuncData )
1167 {
1168 	ScDPFunctionDlg * pDlg=NULL;
1169 	switch ( nId )
1170 	{
1171         case RID_SCDLG_DPDATAFIELD :
1172             pDlg = new ScDPFunctionDlg( pParent, rLabelVec, rLabelData, rFuncData );
1173 			break;
1174 		default:
1175 			break;
1176 	}
1177 
1178 	if ( pDlg )
1179 		return new AbstractScDPFunctionDlg_Impl( pDlg );
1180 	return 0;
1181 }
1182 //add for ScDPFunctionDlg end
1183 
1184 //add for ScDPSubtotalDlg begin
1185 AbstractScDPSubtotalDlg * ScAbstractDialogFactory_Impl::CreateScDPSubtotalDlg ( Window* pParent,
1186                                                                 int nId,
1187                                                                 ScDPObject& rDPObj,
1188                                                                 const ScDPLabelData& rLabelData,
1189                                                                 const ScPivotFuncData& rFuncData,
1190                                                                 const ScDPNameVec& rDataFields,
1191                                                                 bool bEnableLayout )
1192 {
1193     ScDPSubtotalDlg * pDlg=NULL;
1194     switch ( nId )
1195     {
1196         case RID_SCDLG_PIVOTSUBT :
1197             pDlg = new ScDPSubtotalDlg( pParent, rDPObj, rLabelData, rFuncData, rDataFields, bEnableLayout );
1198             break;
1199         default:
1200             break;
1201     }
1202 
1203     if ( pDlg )
1204         return new AbstractScDPSubtotalDlg_Impl( pDlg );
1205     return 0;
1206 }
1207 //add for ScDPSubtotalDlg end
1208 
1209 AbstractScDPNumGroupDlg * ScAbstractDialogFactory_Impl::CreateScDPNumGroupDlg(
1210         Window* pParent, int nId, const ScDPNumGroupInfo& rInfo )
1211 {
1212     if( nId == RID_SCDLG_DPNUMGROUP )
1213         return new AbstractScDPNumGroupDlg_Impl( new ScDPNumGroupDlg( pParent, rInfo ) );
1214     return 0;
1215 }
1216 
1217 AbstractScDPDateGroupDlg * ScAbstractDialogFactory_Impl::CreateScDPDateGroupDlg(
1218         Window* pParent, int nId,
1219         const ScDPNumGroupInfo& rInfo, sal_Int32 nDatePart, const Date& rNullDate )
1220 {
1221     if( nId == RID_SCDLG_DPDATEGROUP )
1222         return new AbstractScDPDateGroupDlg_Impl( new ScDPDateGroupDlg( pParent, rInfo, nDatePart, rNullDate ) );
1223     return 0;
1224 }
1225 
1226 //add for ScDPShowDetailDlg begin
1227 AbstractScDPShowDetailDlg * ScAbstractDialogFactory_Impl::CreateScDPShowDetailDlg (
1228         Window* pParent, int nId, ScDPObject& rDPObj, sal_uInt16 nOrient )
1229 {
1230     if( nId == RID_SCDLG_DPSHOWDETAIL )
1231         return new AbstractScDPShowDetailDlg_Impl( new ScDPShowDetailDlg( pParent, rDPObj, nOrient ) );
1232     return 0;
1233 }
1234 //add for ScDPShowDetailDlg end
1235 
1236 //add for ScNewScenarioDlg begin
1237 AbstractScNewScenarioDlg * ScAbstractDialogFactory_Impl::CreateScNewScenarioDlg ( Window* pParent, const String& rName,
1238 																int nId,
1239 																sal_Bool bEdit , sal_Bool bSheetProtected )
1240 {
1241 	ScNewScenarioDlg * pDlg=NULL;
1242 	switch ( nId )
1243 	{
1244 		case RID_SCDLG_NEWSCENARIO :
1245 			pDlg = new ScNewScenarioDlg( pParent, rName, bEdit,bSheetProtected );
1246 			break;
1247 		default:
1248 			break;
1249 	}
1250 
1251 	if ( pDlg )
1252 		return new AbstractScNewScenarioDlg_Impl( pDlg );
1253 	return 0;
1254 }
1255 //add for ScNewScenarioDlg end
1256 
1257 //add for ScShowTabDlg begin
1258 AbstractScShowTabDlg * ScAbstractDialogFactory_Impl::CreateScShowTabDlg ( Window* pParent, int nId )
1259 {
1260 	ScShowTabDlg * pDlg=NULL;
1261 	switch ( nId )
1262 	{
1263 		case RID_SCDLG_SHOW_TAB :
1264 			pDlg = new ScShowTabDlg( pParent);
1265 			break;
1266 		default:
1267 			break;
1268 	}
1269 
1270 	if ( pDlg )
1271 		return new AbstractScShowTabDlg_Impl( pDlg );
1272 	return 0;
1273 }
1274 
1275 //add for ScShowTabDlg end
1276 
1277 
1278 //add for ScStringInputDlg begin
1279  AbstractScStringInputDlg * ScAbstractDialogFactory_Impl::CreateScStringInputDlg (  Window* pParent,
1280 																const String& rTitle,
1281 																const String& rEditTitle,
1282 																const String& rDefault,
1283 																const rtl::OString& sHelpId, const rtl::OString& sEditHelpId,
1284 																int nId )
1285 {
1286 	ScStringInputDlg * pDlg=NULL;
1287 	switch ( nId )
1288 	{
1289 		case RID_SCDLG_STRINPUT :
1290 			pDlg = new ScStringInputDlg( pParent, rTitle, rEditTitle, rDefault, sHelpId, sEditHelpId );
1291 			break;
1292 		default:
1293 			break;
1294 	}
1295 
1296 	if ( pDlg )
1297 		return new AbstractScStringInputDlg_Impl( pDlg );
1298 	return 0;
1299 }
1300  //add for ScStringInputDlg end
1301 
1302 //add for ScTabBgColorDlg begin
1303 AbstractScTabBgColorDlg * ScAbstractDialogFactory_Impl::CreateScTabBgColorDlg (
1304                                                             Window* pParent,
1305                                                             const String& rTitle,
1306                                                             const String& rTabBgColorNoColorText,
1307                                                             const Color& rDefaultColor,
1308                                                             const rtl::OString& sHelpId ,
1309                                                             int nId )
1310 {
1311 ScTabBgColorDlg * pDlg=NULL;
1312 switch ( nId )
1313 {
1314     case RID_SCDLG_TAB_BG_COLOR :
1315         pDlg = new ScTabBgColorDlg( pParent, rTitle, rTabBgColorNoColorText, rDefaultColor, sHelpId );
1316         break;
1317     default:
1318         break;
1319 }
1320 
1321 if ( pDlg )
1322     return new AbstractScTabBgColorDlg_Impl( pDlg );
1323 return 0;
1324 }
1325 //add for ScTabBgColorDlg end
1326 
1327 //add for ScImportOptionsDlg begin
1328 AbstractScImportOptionsDlg * ScAbstractDialogFactory_Impl::CreateScImportOptionsDlg ( Window* 				pParent,
1329 																	int nId,
1330 																	sal_Bool                    bAscii,
1331 																	const ScImportOptions*	pOptions,
1332 																	const String*			pStrTitle,
1333 																	sal_Bool                    bMultiByte,
1334 																	sal_Bool                    bOnlyDbtoolsEncodings,
1335 																	sal_Bool                    bImport )
1336 {
1337 	ScImportOptionsDlg * pDlg=NULL;
1338 	switch ( nId )
1339 	{
1340 		case RID_SCDLG_IMPORTOPT :
1341 			pDlg = new ScImportOptionsDlg( pParent, bAscii, pOptions,pStrTitle, bMultiByte,bOnlyDbtoolsEncodings, bImport );
1342 			break;
1343 		default:
1344 			break;
1345 	}
1346 
1347 	if ( pDlg )
1348 		return new AbstractScImportOptionsDlg_Impl( pDlg );
1349 	return 0;
1350 }
1351 //add for ScImportOptionsDlg end
1352 
1353 #if ENABLE_LAYOUT && !LAYOUT_SFX_TABDIALOG_BROKEN
1354 #define SfxTabDialog layout::SfxTabDialog
1355 #define AbstractTabDialog_Impl layout::AbstractTabDialog_Impl
1356 #endif /* ENABLE_LAYOUT */
1357 //add for ScAttrDlg begin
1358 SfxAbstractTabDialog * ScAbstractDialogFactory_Impl::CreateScAttrDlg( SfxViewFrame*	 pFrame,
1359 																		Window*			 pParent,
1360 																		const SfxItemSet* pCellAttrs,
1361 																		int nId)
1362 {
1363 	SfxTabDialog* pDlg=NULL;
1364 	switch ( nId )
1365 	{
1366 		case RID_SCDLG_ATTR :
1367 			pDlg = new ScAttrDlg( pFrame, pParent, pCellAttrs );
1368 			break;
1369 		default:
1370 			break;
1371 	}
1372 
1373 	if ( pDlg )
1374 		return new AbstractTabDialog_Impl( pDlg );
1375 	return 0;
1376 
1377 }
1378 //add for ScAttrDlg end
1379 #undef SfxTabDialog
1380 #undef AbstractTabDialog_Impl
1381 
1382 //add for ScHFEditDlg begin
1383 SfxAbstractTabDialog * ScAbstractDialogFactory_Impl::CreateScHFEditDlg( SfxViewFrame*		pFrame,
1384 																		Window*			pParent,
1385 																		const SfxItemSet&	rCoreSet,
1386 																		const String&		rPageStyle,
1387 																		int nId,
1388 																		sal_uInt16				nResId )
1389 {
1390 	SfxTabDialog* pDlg=NULL;
1391 	switch ( nId )
1392 	{
1393 		case RID_SCDLG_HFEDIT :
1394 			pDlg = new ScHFEditDlg( pFrame, pParent, rCoreSet,rPageStyle, nResId );
1395 			break;
1396 		default:
1397 			break;
1398 	}
1399 
1400 	if ( pDlg )
1401 		return new AbstractTabDialog_Impl( pDlg );
1402 	return 0;
1403 }
1404 //add for ScHFEditDlg end
1405 
1406 //add for ScStyleDlg begin
1407 SfxAbstractTabDialog * ScAbstractDialogFactory_Impl::CreateScStyleDlg( Window*				pParent,
1408 																		SfxStyleSheetBase&	rStyleBase,
1409 																		sal_uInt16				nRscId,
1410 																		int nId)
1411 {
1412 	SfxTabDialog* pDlg=NULL;
1413 	switch ( nId )
1414 	{
1415 		case RID_SCDLG_STYLES_PAGE :
1416 		case RID_SCDLG_STYLES_PAR :
1417 			pDlg = new ScStyleDlg( pParent, rStyleBase, nRscId );
1418 			break;
1419 		default:
1420 			break;
1421 	}
1422 
1423 	if ( pDlg )
1424 		return new AbstractTabDialog_Impl( pDlg );
1425 	return 0;
1426 }
1427 //add for ScStyleDlg end
1428 
1429 //add for ScSubTotalDlg begin
1430 SfxAbstractTabDialog * ScAbstractDialogFactory_Impl::CreateScSubTotalDlg( Window*				pParent,
1431 																		const SfxItemSet*	pArgSet,
1432 																		int nId)
1433 {
1434 	SfxTabDialog* pDlg=NULL;
1435 	switch ( nId )
1436 	{
1437 		case RID_SCDLG_SUBTOTALS :
1438 			pDlg = new ScSubTotalDlg( pParent, pArgSet );
1439 			break;
1440 		default:
1441 			break;
1442 	}
1443 
1444 	if ( pDlg )
1445 		return new AbstractTabDialog_Impl( pDlg );
1446 	return 0;
1447 }
1448 //add for ScSubTotalDlg end
1449 
1450 //add for ScCharDlg begin
1451 SfxAbstractTabDialog * ScAbstractDialogFactory_Impl::CreateScCharDlg( Window* pParent, const SfxItemSet* pAttr,
1452 													const SfxObjectShell* pDocShell, int nId )
1453 {
1454 	SfxTabDialog* pDlg=NULL;
1455 	switch ( nId )
1456 	{
1457 		case RID_SCDLG_CHAR :
1458 			pDlg = new ScCharDlg( pParent, pAttr, pDocShell );
1459 			break;
1460 		default:
1461 			break;
1462 	}
1463 
1464 	if ( pDlg )
1465 		return new AbstractTabDialog_Impl( pDlg );
1466 	return 0;
1467 }
1468 //add for ScCharDlg end
1469 
1470 //add for ScParagraphDlg begin
1471 SfxAbstractTabDialog * ScAbstractDialogFactory_Impl::CreateScParagraphDlg( Window* pParent, const SfxItemSet* pAttr ,
1472 																			int nId )
1473 {
1474 	SfxTabDialog* pDlg=NULL;
1475 	switch ( nId )
1476 	{
1477 		case RID_SCDLG_PARAGRAPH :
1478 			pDlg = new ScParagraphDlg( pParent, pAttr );
1479 			break;
1480 		default:
1481 			break;
1482 	}
1483 
1484 	if ( pDlg )
1485 		return new AbstractTabDialog_Impl( pDlg );
1486 	return 0;
1487 }
1488 //add for ScParagraphDlg end
1489 
1490 //add for ScValidationDlg begin
1491 SfxAbstractTabDialog * ScAbstractDialogFactory_Impl::CreateScValidationDlg( Window* pParent,
1492 //<!--Modified by PengYunQuan for Validity Cell Range Picker
1493 //														const SfxItemSet* pArgSet,int nId  )
1494 														const SfxItemSet* pArgSet,int nId, ScTabViewShell *pTabVwSh  )
1495 //-->Modified by PengYunQuan for Validity Cell Range Picke
1496 {
1497 	SfxTabDialog* pDlg=NULL;
1498 	switch ( nId )
1499 	{
1500 		case TAB_DLG_VALIDATION :
1501 			//<!--Modified by PengYunQuan for Validity Cell Range Picker
1502 			//pDlg = new ScValidationDlg( pParent, pArgSet );
1503 			pDlg = new ScValidationDlg( pParent, pArgSet, pTabVwSh );
1504 			//-->Modified by PengYunQuan for Validity Cell Range Picker
1505 			break;
1506 		default:
1507 			break;
1508 	}
1509 
1510 	if ( pDlg )
1511 		return new AbstractTabDialog_Impl( pDlg );
1512 	return 0;
1513 }
1514 //add for ScValidationDlg end
1515 
1516 #if ENABLE_LAYOUT && !LAYOUT_SFX_TABDIALOG_BROKEN
1517 #define SfxTabDialog layout::SfxTabDialog
1518 #define AbstractTabDialog_Impl layout::AbstractTabDialog_Impl
1519 #endif /* ENABLE_LAYOUT */
1520 //add for ScSortDlg begin
1521 SfxAbstractTabDialog * ScAbstractDialogFactory_Impl::CreateScSortDlg( Window*			 pParent,
1522 													const SfxItemSet* pArgSet,int nId )
1523 {
1524 	SfxTabDialog* pDlg=NULL;
1525 	switch ( nId )
1526 	{
1527 		case RID_SCDLG_SORT :
1528 			pDlg = new ScSortDlg( pParent, pArgSet );
1529 			break;
1530 		default:
1531 			break;
1532 	}
1533 
1534 	if ( pDlg )
1535 		return new AbstractTabDialog_Impl( pDlg );
1536 	return 0;
1537 }
1538 #undef SfxTabDialog
1539 #undef AbstractTabDialog_Impl
1540 
1541 //add for ScSortDlg end
1542 //------------------ Factories for TabPages--------------------
1543 CreateTabPage ScAbstractDialogFactory_Impl::GetTabPageCreatorFunc( sal_uInt16 nId )
1544 {
1545 	switch ( nId )
1546 	{
1547 		case RID_SCPAGE_OPREDLINE :
1548 			return ScRedlineOptionsTabPage::Create;
1549             //break;
1550 		case	RID_SCPAGE_CALC :
1551 			return ScTpCalcOptions::Create;
1552             //break;
1553 		case	RID_SCPAGE_PRINT :
1554 			return ScTpPrintOptions::Create;
1555             //break;
1556 		case 	RID_SCPAGE_STAT :
1557 			return ScDocStatPage::Create;
1558             //break;
1559 		case RID_SCPAGE_USERLISTS :
1560 			 return ScTpUserLists::Create;
1561             //break;
1562 		case RID_SCPAGE_CONTENT :
1563 			return ScTpContentOptions::Create;
1564             //break;
1565 		case RID_SCPAGE_LAYOUT :
1566 			return ScTpLayoutOptions::Create;
1567             //break;
1568 
1569 		default:
1570 			break;
1571 	}
1572 
1573 	return 0;
1574 }
1575 
1576 GetTabPageRanges ScAbstractDialogFactory_Impl::GetTabPageRangesFunc( sal_uInt16 nId )
1577 {
1578 	switch ( nId )
1579 	{
1580 	case TP_VALIDATION_VALUES :
1581 			return ScTPValidationValue::GetRanges;
1582             //break;
1583 		default:
1584 			break;
1585 	}
1586 
1587 	return 0;
1588 }
1589 
1590 void ScDPFunctionDlg_Dummy()
1591 {
1592     // use ScDPListBoxWrapper to avoid warning (this isn't called)
1593     ListBox* pListBox = NULL;
1594     ScDPListBoxWrapper aWrapper( *pListBox );
1595 }
1596 
1597