Line data Source code
1 : /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 : /*
3 : * This file is part of the LibreOffice project.
4 : *
5 : * This Source Code Form is subject to the terms of the Mozilla Public
6 : * License, v. 2.0. If a copy of the MPL was not distributed with this
7 : * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 : *
9 : * This file incorporates work covered by the following license notice:
10 : *
11 : * Licensed to the Apache Software Foundation (ASF) under one or more
12 : * contributor license agreements. See the NOTICE file distributed
13 : * with this work for additional information regarding copyright
14 : * ownership. The ASF licenses this file to you under the Apache
15 : * License, Version 2.0 (the "License"); you may not use this file
16 : * except in compliance with the License. You may obtain a copy of
17 : * the License at http://www.apache.org/licenses/LICENSE-2.0 .
18 : */
19 :
20 : #ifndef INCLUDED_SC_INC_SCABSTDLG_HXX
21 : #define INCLUDED_SC_INC_SCABSTDLG_HXX
22 :
23 : #include <tools/solar.h>
24 : #include <sfx2/sfxdlg.hxx>
25 : #include <vcl/syswin.hxx>
26 : #include <com/sun/star/uno/Sequence.hxx>
27 : #include <vcl/field.hxx>
28 : #include "sc.hrc"
29 : #include "global.hxx"
30 : #include "pivot.hxx"
31 : #include <i18nlangtag/lang.h>
32 : #include "asciiopt.hxx"
33 :
34 : #include <tabvwsh.hxx>
35 :
36 : class ScAsciiOptions;
37 : class ScAutoFormat;
38 : class ScAutoFormatData;
39 : class ScDocument;
40 : struct ScImportSourceDesc;
41 : class ScViewData;
42 : class ScQueryItem;
43 : class ScImportOptions;
44 : class SfxStyleSheetBase;
45 : class ScDPObject;
46 : struct ScPivotFuncData;
47 : struct ScDPNumGroupInfo;
48 : class ScSortWarningDlg;
49 : class ScTabViewShell;
50 : class ScConditionalFormat;
51 : class ScConditionalFormatList;
52 :
53 : namespace com { namespace sun { namespace star { namespace sheet {
54 : struct DataPilotFieldReference;
55 : } } } }
56 :
57 0 : class AbstractScImportAsciiDlg : public VclAbstractDialog
58 : {
59 : public:
60 : virtual void GetOptions( ScAsciiOptions& rOpt ) = 0;
61 : virtual void SaveParameters() = 0;
62 : };
63 :
64 0 : class AbstractScAutoFormatDlg : public VclAbstractDialog
65 : {
66 : public:
67 : virtual sal_uInt16 GetIndex() const = 0 ;
68 : virtual OUString GetCurrFormatName() = 0;
69 : };
70 :
71 0 : class AbstractScColRowLabelDlg : public VclAbstractDialog
72 : {
73 : public:
74 : virtual bool IsCol() = 0;
75 : virtual bool IsRow() = 0;
76 : };
77 :
78 0 : class AbstractScCondFormatManagerDlg : public VclAbstractDialog
79 : {
80 : public:
81 : virtual ScConditionalFormatList* GetConditionalFormatList() = 0;
82 :
83 : virtual bool CondFormatsChanged() = 0;
84 : };
85 :
86 0 : class AbstractScDataPilotDatabaseDlg :public VclAbstractDialog
87 : {
88 : public:
89 : virtual void GetValues( ScImportSourceDesc& rDesc ) = 0;
90 : };
91 :
92 0 : class AbstractScDataPilotSourceTypeDlg : public VclAbstractDialog
93 : {
94 : public:
95 : virtual bool IsDatabase() const = 0;
96 : virtual bool IsExternal() const = 0;
97 : virtual bool IsNamedRange() const = 0;
98 : virtual OUString GetSelectedNamedRange() const = 0;
99 : virtual void AppendNamedRange(const OUString& rName) = 0;
100 : };
101 :
102 0 : class AbstractScDataPilotServiceDlg : public VclAbstractDialog
103 : {
104 : public:
105 : virtual OUString GetServiceName() const = 0;
106 : virtual OUString GetParSource() const = 0 ;
107 : virtual OUString GetParName() const = 0 ;
108 : virtual OUString GetParUser() const = 0;
109 : virtual OUString GetParPass() const = 0;
110 : };
111 :
112 0 : class AbstractScDeleteCellDlg : public VclAbstractDialog
113 : {
114 : public:
115 : virtual DelCellCmd GetDelCellCmd() const = 0;
116 : };
117 :
118 : //for dataform
119 0 : class AbstractScDataFormDlg : public VclAbstractDialog
120 : {
121 :
122 : };
123 :
124 0 : class AbstractScDeleteContentsDlg: public VclAbstractDialog
125 : {
126 : public:
127 : virtual void DisableObjects() = 0 ;
128 : virtual InsertDeleteFlags GetDelContentsCmdBits() const = 0;
129 : };
130 :
131 0 : class AbstractScFillSeriesDlg: public VclAbstractDialog
132 : {
133 : public:
134 : virtual FillDir GetFillDir() const = 0;
135 : virtual FillCmd GetFillCmd() const = 0;
136 : virtual FillDateCmd GetFillDateCmd() const = 0;
137 : virtual double GetStart() const = 0;
138 : virtual double GetStep() const = 0;
139 : virtual double GetMax() const = 0;
140 : virtual OUString GetStartStr() const = 0;
141 : virtual void SetEdStartValEnabled(bool bFlag=false) = 0;
142 : };
143 :
144 0 : class AbstractScGroupDlg : public VclAbstractDialog
145 : {
146 : public:
147 : virtual bool GetColsChecked() const = 0;
148 : };
149 :
150 0 : class AbstractScInsertCellDlg : public VclAbstractDialog
151 : {
152 : public:
153 : virtual InsCellCmd GetInsCellCmd() const = 0;
154 : };
155 :
156 0 : class AbstractScInsertContentsDlg : public VclAbstractDialog
157 : {
158 : public:
159 : virtual InsertDeleteFlags GetInsContentsCmdBits() const = 0;
160 : virtual sal_uInt16 GetFormulaCmdBits() const = 0 ;
161 : virtual bool IsSkipEmptyCells() const = 0;
162 : virtual bool IsLink() const = 0;
163 : virtual void SetFillMode( bool bSet ) = 0;
164 : virtual void SetOtherDoc( bool bSet ) = 0;
165 : virtual bool IsTranspose() const = 0;
166 : virtual void SetChangeTrack( bool bSet ) = 0;
167 : virtual void SetCellShiftDisabled( int nDisable ) = 0;
168 : virtual InsCellCmd GetMoveMode() = 0;
169 : };
170 :
171 0 : class AbstractScInsertTableDlg : public VclAbstractDialog
172 : {
173 : public:
174 : virtual bool GetTablesFromFile() = 0;
175 : virtual bool GetTablesAsLink() = 0;
176 : virtual const OUString* GetFirstTable( sal_uInt16* pN = NULL ) = 0;
177 : virtual ScDocShell* GetDocShellTables() = 0;
178 : virtual bool IsTableBefore() = 0;
179 : virtual sal_uInt16 GetTableCount() = 0;
180 : virtual const OUString* GetNextTable( sal_uInt16* pN = NULL ) = 0;
181 :
182 : };
183 :
184 0 : class AbstractScSelEntryDlg : public VclAbstractDialog
185 : {
186 : public:
187 : virtual OUString GetSelectEntry() const = 0;
188 : };
189 :
190 0 : class AbstractScLinkedAreaDlg : public VclAbstractDialog2
191 : {
192 : public:
193 : virtual void InitFromOldLink( const OUString& rFile, const OUString& rFilter,
194 : const OUString& rOptions, const OUString& rSource,
195 : sal_uLong nRefresh ) = 0;
196 : virtual OUString GetURL() = 0;
197 : virtual OUString GetFilter() = 0; // may be empty
198 : virtual OUString GetOptions() = 0; // filter options
199 : virtual OUString GetSource() = 0; // separated by ";"
200 : virtual sal_uLong GetRefresh() = 0; // 0 if disabled
201 : };
202 :
203 0 : class AbstractScMetricInputDlg : public VclAbstractDialog
204 : {
205 : public:
206 : virtual long GetInputValue( FieldUnit eUnit = FUNIT_TWIP ) const = 0;
207 : };
208 :
209 0 : class AbstractScMoveTableDlg : public VclAbstractDialog
210 : {
211 : public:
212 : virtual sal_uInt16 GetSelectedDocument () const = 0;
213 : virtual sal_uInt16 GetSelectedTable () const = 0;
214 : virtual bool GetCopyTable () const = 0;
215 : virtual bool GetRenameTable () const = 0;
216 : virtual void GetTabNameString( OUString& rString ) const = 0;
217 : virtual void SetForceCopyTable () = 0;
218 : virtual void EnableCopyTable (bool bFlag=true) = 0;
219 : virtual void EnableRenameTable (bool bFlag=true) = 0;
220 : };
221 :
222 0 : class AbstractScNameCreateDlg : public VclAbstractDialog // Manage Name Dialog
223 : {
224 : public:
225 : virtual sal_uInt16 GetFlags() const = 0;
226 : };
227 :
228 0 : class AbstractScNamePasteDlg : public VclAbstractDialog
229 : {
230 : public:
231 : virtual std::vector<OUString> GetSelectedNames() const = 0;
232 : virtual bool IsAllSelected() const = 0;
233 : };
234 :
235 0 : class AbstractScPivotFilterDlg : public VclAbstractDialog
236 : {
237 : public:
238 : virtual const ScQueryItem& GetOutputItem() = 0;
239 : };
240 :
241 0 : class AbstractScDPFunctionDlg : public VclAbstractDialog
242 : {
243 : public:
244 : virtual sal_uInt16 GetFuncMask() const = 0;
245 : virtual ::com::sun::star::sheet::DataPilotFieldReference GetFieldRef() const = 0;
246 : };
247 :
248 0 : class AbstractScDPSubtotalDlg : public VclAbstractDialog
249 : {
250 : public:
251 : virtual sal_uInt16 GetFuncMask() const = 0;
252 : virtual void FillLabelData( ScDPLabelData& rLabelData ) const = 0;
253 : };
254 :
255 0 : class AbstractScDPNumGroupDlg : public VclAbstractDialog
256 : {
257 : public:
258 : virtual ScDPNumGroupInfo GetGroupInfo() const = 0;
259 : };
260 :
261 0 : class AbstractScDPDateGroupDlg : public VclAbstractDialog
262 : {
263 : public:
264 : virtual ScDPNumGroupInfo GetGroupInfo() const = 0;
265 : virtual sal_Int32 GetDatePart() const = 0;
266 : };
267 :
268 0 : class AbstractScDPShowDetailDlg : public VclAbstractDialog
269 : {
270 : public:
271 : virtual OUString GetDimensionName() const = 0;
272 : };
273 :
274 0 : class AbstractScNewScenarioDlg : public VclAbstractDialog
275 : {
276 : public:
277 :
278 : virtual void SetScenarioData( const OUString& rName, const OUString& rComment,
279 : const Color& rColor, sal_uInt16 nFlags ) = 0;
280 :
281 : virtual void GetScenarioData( OUString& rName, OUString& rComment,
282 : Color& rColor, sal_uInt16& rFlags ) const = 0;
283 : };
284 :
285 0 : class AbstractScShowTabDlg : public VclAbstractDialog
286 : {
287 : public:
288 : virtual void Insert( const OUString& rString, bool bSelected ) = 0;
289 : virtual sal_Int32 GetSelectEntryCount() const = 0;
290 : virtual void SetDescription(const OUString& rTitle, const OUString& rFixedText, const OString& nDlgHelpId, const OString& nLbHelpId ) = 0;
291 : virtual OUString GetSelectEntry(sal_Int32 nPos) const = 0;
292 : virtual sal_Int32 GetSelectEntryPos(sal_Int32 nPos) const = 0;
293 : };
294 :
295 0 : class AbstractScSortWarningDlg : public VclAbstractDialog
296 : {
297 : };
298 :
299 0 : class AbstractScStringInputDlg : public VclAbstractDialog
300 : {
301 : public:
302 : virtual OUString GetInputString() const = 0;
303 : };
304 :
305 0 : class AbstractScTabBgColorDlg : public VclAbstractDialog
306 : {
307 : public:
308 : virtual void GetSelectedColor( Color& rColor ) const = 0;
309 : };
310 :
311 0 : class AbstractScImportOptionsDlg : public VclAbstractDialog
312 : {
313 : public:
314 : virtual void GetImportOptions( ScImportOptions& rOptions ) const = 0;
315 : };
316 :
317 0 : class AbstractScTextImportOptionsDlg : public VclAbstractDialog
318 : {
319 : public:
320 : virtual LanguageType GetLanguageType() const = 0;
321 : virtual bool IsDateConversionSet() const = 0;
322 : };
323 :
324 0 : class ScAbstractDialogFactory
325 : {
326 : public:
327 : SC_DLLPUBLIC static ScAbstractDialogFactory* Create();
328 :
329 : virtual AbstractScImportAsciiDlg * CreateScImportAsciiDlg( vcl::Window* pParent, const OUString& aDatName,
330 : SvStream* pInStream,
331 : ScImportAsciiCall eCall) = 0;
332 :
333 : virtual AbstractScTextImportOptionsDlg * CreateScTextImportOptionsDlg(vcl::Window* pParent) = 0;
334 :
335 : virtual AbstractScAutoFormatDlg * CreateScAutoFormatDlg(vcl::Window* pParent,
336 : ScAutoFormat* pAutoFormat,
337 : const ScAutoFormatData* pSelFormatData,
338 : ScViewData *pViewData) = 0;
339 : virtual AbstractScColRowLabelDlg * CreateScColRowLabelDlg (vcl::Window* pParent,
340 : bool bCol = false,
341 : bool bRow = false) = 0;
342 :
343 : virtual AbstractScSortWarningDlg * CreateScSortWarningDlg(vcl::Window* pParent, const OUString& rExtendText, const OUString& rCurrentText ) = 0;
344 :
345 : virtual AbstractScCondFormatManagerDlg* CreateScCondFormatMgrDlg(vcl::Window* pParent, ScDocument* pDoc, const ScConditionalFormatList* pFormatList,
346 : const ScAddress& rPos, int nId ) = 0;
347 :
348 : virtual AbstractScDataPilotDatabaseDlg * CreateScDataPilotDatabaseDlg(vcl::Window* pParent) = 0;
349 :
350 : virtual AbstractScDataPilotSourceTypeDlg * CreateScDataPilotSourceTypeDlg(vcl::Window* pParent,
351 : bool bEnableExternal) = 0;
352 :
353 : virtual AbstractScDataPilotServiceDlg * CreateScDataPilotServiceDlg( vcl::Window* pParent,
354 : const com::sun::star::uno::Sequence<OUString>& rServices,
355 : int nId ) = 0;
356 :
357 : virtual AbstractScDeleteCellDlg * CreateScDeleteCellDlg(vcl::Window* pParent, bool bDisallowCellMove = false) = 0 ;
358 :
359 : //for dataform
360 : virtual AbstractScDataFormDlg * CreateScDataFormDlg(vcl::Window* pParent,
361 : ScTabViewShell* pTabViewShell) = 0;
362 :
363 : virtual AbstractScDeleteContentsDlg * CreateScDeleteContentsDlg(vcl::Window* pParent,
364 : InsertDeleteFlags nCheckDefaults = IDF_NONE) = 0;
365 : virtual AbstractScFillSeriesDlg * CreateScFillSeriesDlg( vcl::Window* pParent,
366 : ScDocument& rDocument,
367 : FillDir eFillDir,
368 : FillCmd eFillCmd,
369 : FillDateCmd eFillDateCmd,
370 : const OUString& aStartStr,
371 : double fStep,
372 : double fMax,
373 : sal_uInt16 nPossDir) = 0;
374 :
375 : virtual AbstractScGroupDlg * CreateAbstractScGroupDlg( vcl::Window* pParent,
376 : bool bUnGroup = false,
377 : bool bRows = true ) = 0;
378 :
379 : virtual AbstractScInsertCellDlg * CreateScInsertCellDlg( vcl::Window* pParent,
380 : int nId,
381 : bool bDisallowCellMove = false ) = 0;
382 :
383 : virtual AbstractScInsertContentsDlg * CreateScInsertContentsDlg( vcl::Window* pParent,
384 : InsertDeleteFlags nCheckDefaults = IDF_NONE,
385 : const OUString* pStrTitle = NULL ) = 0;
386 :
387 : virtual AbstractScInsertTableDlg * CreateScInsertTableDlg(vcl::Window* pParent, ScViewData& rViewData,
388 : SCTAB nTabCount, bool bFromFile) = 0;
389 :
390 : virtual AbstractScSelEntryDlg * CreateScSelEntryDlg ( vcl::Window* pParent,
391 : const std::vector<OUString> &rEntryList ) = 0;
392 : virtual AbstractScLinkedAreaDlg * CreateScLinkedAreaDlg(vcl::Window* pParent) = 0;
393 :
394 : virtual AbstractScMetricInputDlg * CreateScMetricInputDlg ( vcl::Window* pParent,
395 : const OString& sDialogName,
396 : long nCurrent,
397 : long nDefault,
398 : FieldUnit eFUnit = FUNIT_MM,
399 : sal_uInt16 nDecimals = 2,
400 : long nMaximum = 1000,
401 : long nMinimum = 0,
402 : long nFirst = 1,
403 : long nLast = 100 ) = 0;
404 :
405 : virtual AbstractScMoveTableDlg * CreateScMoveTableDlg(vcl::Window * pParent,
406 : const OUString& rDefault) = 0;
407 :
408 : virtual AbstractScNameCreateDlg * CreateScNameCreateDlg(vcl::Window * pParent,
409 : sal_uInt16 nFlags) = 0;
410 :
411 : virtual AbstractScNamePasteDlg * CreateScNamePasteDlg ( vcl::Window * pParent, ScDocShell* pShell, bool bInsList=true ) = 0;
412 :
413 : virtual AbstractScPivotFilterDlg * CreateScPivotFilterDlg(vcl::Window* pParent,
414 : const SfxItemSet& rArgSet, sal_uInt16 nSourceTab) = 0;
415 :
416 : virtual AbstractScDPFunctionDlg * CreateScDPFunctionDlg( vcl::Window* pParent,
417 : const ScDPLabelDataVector& rLabelVec,
418 : const ScDPLabelData& rLabelData,
419 : const ScPivotFuncData& rFuncData ) = 0;
420 :
421 : virtual AbstractScDPSubtotalDlg * CreateScDPSubtotalDlg( vcl::Window* pParent,
422 : ScDPObject& rDPObj,
423 : const ScDPLabelData& rLabelData,
424 : const ScPivotFuncData& rFuncData,
425 : const ScDPNameVec& rDataFields,
426 : bool bEnableLayout ) = 0;
427 :
428 : virtual AbstractScDPNumGroupDlg * CreateScDPNumGroupDlg( vcl::Window* pParent,
429 : int nId,
430 : const ScDPNumGroupInfo& rInfo ) = 0;
431 :
432 : virtual AbstractScDPDateGroupDlg * CreateScDPDateGroupDlg( vcl::Window* pParent,
433 : int nId,
434 : const ScDPNumGroupInfo& rInfo,
435 : sal_Int32 nDatePart,
436 : const Date& rNullDate ) = 0;
437 :
438 : virtual AbstractScDPShowDetailDlg * CreateScDPShowDetailDlg( vcl::Window* pParent, int nId,
439 : ScDPObject& rDPObj,
440 : sal_uInt16 nOrient ) = 0;
441 :
442 : virtual AbstractScNewScenarioDlg * CreateScNewScenarioDlg ( vcl::Window* pParent, const OUString& rName,
443 : bool bEdit = false, bool bSheetProtected = false ) = 0;
444 : virtual AbstractScShowTabDlg * CreateScShowTabDlg(vcl::Window* pParent) = 0;
445 :
446 : virtual AbstractScStringInputDlg * CreateScStringInputDlg ( vcl::Window* pParent,
447 : const OUString& rTitle,
448 : const OUString& rEditTitle,
449 : const OUString& rDefault,
450 : const OString& sHelpId, const OString& sEditHelpId ) = 0;
451 :
452 : virtual AbstractScTabBgColorDlg * CreateScTabBgColorDlg ( vcl::Window* pParent,
453 : const OUString& rTitle, //Dialog Title
454 : const OUString& rTabBgColorNoColorText, //Label for no tab color
455 : const Color& rDefaultColor, //Currently selected Color
456 : const OString& ) = 0;
457 :
458 : virtual AbstractScImportOptionsDlg * CreateScImportOptionsDlg ( vcl::Window* pParent,
459 : bool bAscii = true,
460 : const ScImportOptions* pOptions = NULL,
461 : const OUString* pStrTitle = NULL,
462 : bool bMultiByte = false,
463 : bool bOnlyDbtoolsEncodings = false,
464 : bool bImport = true ) = 0;
465 :
466 : virtual SfxAbstractTabDialog * CreateScAttrDlg( SfxViewFrame* pFrame,
467 : vcl::Window* pParent,
468 : const SfxItemSet* pCellAttrs ) = 0;
469 :
470 : virtual SfxAbstractTabDialog * CreateScHFEditDlg( SfxViewFrame* pFrame,
471 : vcl::Window* pParent,
472 : const SfxItemSet& rCoreSet,
473 : const OUString& rPageStyle,
474 : sal_uInt16 nResId = RID_SCDLG_HFEDIT ) = 0;
475 :
476 : virtual SfxAbstractTabDialog * CreateScStyleDlg( vcl::Window* pParent,
477 : SfxStyleSheetBase& rStyleBase,
478 : sal_uInt16 nRscId,
479 : int nId) = 0;
480 :
481 : virtual SfxAbstractTabDialog * CreateScSubTotalDlg( vcl::Window* pParent,
482 : const SfxItemSet* pArgSet ) = 0;
483 :
484 : virtual SfxAbstractTabDialog * CreateScCharDlg(vcl::Window* pParent,
485 : const SfxItemSet* pAttr, const SfxObjectShell* pDocShell) = 0;
486 :
487 : virtual SfxAbstractTabDialog * CreateScParagraphDlg(vcl::Window* pParent,
488 : const SfxItemSet* pAttr) = 0;
489 :
490 : virtual SfxAbstractTabDialog * CreateScValidationDlg(vcl::Window* pParent,
491 : const SfxItemSet* pArgSet, ScTabViewShell *pTabVwSh) = 0;
492 : virtual SfxAbstractTabDialog * CreateScSortDlg(vcl::Window* pParent, const SfxItemSet* pArgSet) = 0;
493 :
494 : // for tabpage
495 : virtual CreateTabPage GetTabPageCreatorFunc( sal_uInt16 nId ) = 0;
496 : virtual GetTabPageRanges GetTabPageRangesFunc() = 0;
497 :
498 : protected:
499 0 : ~ScAbstractDialogFactory() {}
500 : };
501 : #endif
502 :
503 : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|