tdf#125181 maxY is 50000 in prstGeom for star24 and star32
[LibreOffice.git] / sc / inc / scabstdlg.hxx
blob02cf139e4e34ac6846fa084c0db6f41222488233
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3 * This file is part of the LibreOffice project.
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/.
9 * This file incorporates work covered by the following license notice:
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 .
20 #ifndef INCLUDED_SC_INC_SCABSTDLG_HXX
21 #define INCLUDED_SC_INC_SCABSTDLG_HXX
23 #include <tools/solar.h>
24 #include <com/sun/star/sheet/DataPilotFieldOrientation.hpp>
25 #include <sfx2/tabdlg.hxx>
26 #include <tools/fldunit.hxx>
27 #include <vcl/abstdlg.hxx>
28 #include "global.hxx"
29 #include "pivot.hxx"
30 #include <i18nlangtag/lang.h>
31 #include <asciiopt.hxx>
33 class ScAutoFormat;
34 class ScAutoFormatData;
35 class ScDocument;
36 struct ScImportSourceDesc;
37 class ScViewData;
38 class ScQueryItem;
39 class ScImportOptions;
40 class SfxStyleSheetBase;
41 class SfxAbstractTabDialog;
42 class ScDPObject;
43 struct ScDPNumGroupInfo;
44 class ScTabViewShell;
45 class ScConditionalFormat;
46 class ScConditionalFormatList;
47 class Date;
48 enum class CreateNameFlags;
49 enum class CellShiftDisabledFlags;
51 namespace com { namespace sun { namespace star { namespace sheet {
52 struct DataPilotFieldReference;
53 } } } }
55 class AbstractScImportAsciiDlg : public VclAbstractDialog
57 protected:
58 virtual ~AbstractScImportAsciiDlg() override = default;
59 public:
60 virtual void GetOptions( ScAsciiOptions& rOpt ) = 0;
61 virtual void SaveParameters() = 0;
64 class AbstractScAutoFormatDlg : public VclAbstractDialog
66 protected:
67 virtual ~AbstractScAutoFormatDlg() override = default;
68 public:
69 virtual sal_uInt16 GetIndex() const = 0 ;
70 virtual OUString GetCurrFormatName() = 0;
73 class AbstractScColRowLabelDlg : public VclAbstractDialog
75 protected:
76 virtual ~AbstractScColRowLabelDlg() override = default;
77 public:
78 virtual bool IsCol() = 0;
79 virtual bool IsRow() = 0;
82 class AbstractScCondFormatManagerDlg : public VclAbstractDialog
84 protected:
85 virtual ~AbstractScCondFormatManagerDlg() override = default;
86 public:
87 virtual std::unique_ptr<ScConditionalFormatList> GetConditionalFormatList() = 0;
89 virtual bool CondFormatsChanged() const = 0;
91 virtual void SetModified() = 0;
93 virtual ScConditionalFormat* GetCondFormatSelected() = 0;
96 class AbstractScDataPilotDatabaseDlg :public VclAbstractDialog
98 protected:
99 virtual ~AbstractScDataPilotDatabaseDlg() override = default;
100 public:
101 virtual void GetValues( ScImportSourceDesc& rDesc ) = 0;
104 class AbstractScDataPilotSourceTypeDlg : public VclAbstractDialog
106 protected:
107 virtual ~AbstractScDataPilotSourceTypeDlg() override = default;
108 public:
109 virtual bool IsDatabase() const = 0;
110 virtual bool IsExternal() const = 0;
111 virtual bool IsNamedRange() const = 0;
112 virtual OUString GetSelectedNamedRange() const = 0;
113 virtual void AppendNamedRange(const OUString& rName) = 0;
116 class AbstractScDataPilotServiceDlg : public VclAbstractDialog
118 protected:
119 virtual ~AbstractScDataPilotServiceDlg() override = default;
120 public:
121 virtual OUString GetServiceName() const = 0;
122 virtual OUString GetParSource() const = 0 ;
123 virtual OUString GetParName() const = 0 ;
124 virtual OUString GetParUser() const = 0;
125 virtual OUString GetParPass() const = 0;
128 class AbstractScDeleteCellDlg : public VclAbstractDialog
130 protected:
131 virtual ~AbstractScDeleteCellDlg() override = default;
132 public:
133 virtual DelCellCmd GetDelCellCmd() const = 0;
136 //for dataform
137 class AbstractScDataFormDlg : public VclAbstractDialog
139 protected:
140 virtual ~AbstractScDataFormDlg() override = default;
143 class AbstractScDeleteContentsDlg: public VclAbstractDialog
145 protected:
146 virtual ~AbstractScDeleteContentsDlg() override = default;
147 public:
148 virtual void DisableObjects() = 0 ;
149 virtual InsertDeleteFlags GetDelContentsCmdBits() const = 0;
152 class AbstractScFillSeriesDlg: public VclAbstractDialog
154 protected:
155 virtual ~AbstractScFillSeriesDlg() override = default;
156 public:
157 virtual FillDir GetFillDir() const = 0;
158 virtual FillCmd GetFillCmd() const = 0;
159 virtual FillDateCmd GetFillDateCmd() const = 0;
160 virtual double GetStart() const = 0;
161 virtual double GetStep() const = 0;
162 virtual double GetMax() const = 0;
163 virtual OUString GetStartStr() const = 0;
164 virtual void SetEdStartValEnabled(bool bFlag) = 0;
167 class AbstractScGroupDlg : public VclAbstractDialog
169 protected:
170 virtual ~AbstractScGroupDlg() override = default;
171 public:
172 virtual bool GetColsChecked() const = 0;
175 class AbstractScInsertCellDlg : public VclAbstractDialog
177 protected:
178 virtual ~AbstractScInsertCellDlg() override = default;
179 public:
180 virtual InsCellCmd GetInsCellCmd() const = 0;
183 class AbstractScInsertContentsDlg : public VclAbstractDialog
185 protected:
186 virtual ~AbstractScInsertContentsDlg() override = default;
187 public:
188 virtual InsertDeleteFlags GetInsContentsCmdBits() const = 0;
189 virtual ScPasteFunc GetFormulaCmdBits() const = 0 ;
190 virtual bool IsSkipEmptyCells() const = 0;
191 virtual bool IsLink() const = 0;
192 virtual void SetFillMode( bool bSet ) = 0;
193 virtual void SetOtherDoc( bool bSet ) = 0;
194 virtual bool IsTranspose() const = 0;
195 virtual void SetChangeTrack( bool bSet ) = 0;
196 virtual void SetCellShiftDisabled( CellShiftDisabledFlags nDisable ) = 0;
197 virtual InsCellCmd GetMoveMode() = 0;
200 class AbstractScInsertTableDlg : public VclAbstractDialog
202 protected:
203 virtual ~AbstractScInsertTableDlg() override = default;
204 public:
205 virtual bool GetTablesFromFile() = 0;
206 virtual bool GetTablesAsLink() = 0;
207 virtual const OUString* GetFirstTable( sal_uInt16* pN = nullptr ) = 0;
208 virtual ScDocShell* GetDocShellTables() = 0;
209 virtual bool IsTableBefore() = 0;
210 virtual sal_uInt16 GetTableCount() = 0;
211 virtual const OUString* GetNextTable( sal_uInt16* pN ) = 0;
215 class AbstractScSelEntryDlg : public VclAbstractDialog
217 protected:
218 virtual ~AbstractScSelEntryDlg() override = default;
219 public:
220 virtual OUString GetSelectedEntry() const = 0;
223 class AbstractScLinkedAreaDlg : public VclAbstractDialog
225 protected:
226 virtual ~AbstractScLinkedAreaDlg() override = default;
227 public:
228 virtual void InitFromOldLink( const OUString& rFile, const OUString& rFilter,
229 const OUString& rOptions, const OUString& rSource,
230 sal_uLong nRefresh ) = 0;
231 virtual OUString GetURL() = 0;
232 virtual OUString GetFilter() = 0; // may be empty
233 virtual OUString GetOptions() = 0; // filter options
234 virtual OUString GetSource() = 0; // separated by ";"
235 virtual sal_uLong GetRefresh() = 0; // 0 if disabled
238 class AbstractScMetricInputDlg : public VclAbstractDialog
240 protected:
241 virtual ~AbstractScMetricInputDlg() override = default;
242 public:
243 virtual int GetInputValue() const = 0;
246 class AbstractScMoveTableDlg : public VclAbstractDialog
248 protected:
249 virtual ~AbstractScMoveTableDlg() override = default;
250 public:
251 virtual sal_uInt16 GetSelectedDocument () const = 0;
252 virtual sal_uInt16 GetSelectedTable () const = 0;
253 virtual bool GetCopyTable () const = 0;
254 virtual bool GetRenameTable () const = 0;
255 virtual void GetTabNameString( OUString& rString ) const = 0;
256 virtual void SetForceCopyTable () = 0;
257 virtual void EnableRenameTable (bool bFlag) = 0;
260 class AbstractScNameCreateDlg : public VclAbstractDialog // Manage Name Dialog
262 protected:
263 virtual ~AbstractScNameCreateDlg() override = default;
264 public:
265 virtual CreateNameFlags GetFlags() const = 0;
268 class AbstractScNamePasteDlg : public VclAbstractDialog
270 protected:
271 virtual ~AbstractScNamePasteDlg() override = default;
272 public:
273 virtual std::vector<OUString> GetSelectedNames() const = 0;
276 class AbstractScPivotFilterDlg : public VclAbstractDialog
278 protected:
279 virtual ~AbstractScPivotFilterDlg() override = default;
280 public:
281 virtual const ScQueryItem& GetOutputItem() = 0;
284 class AbstractScDPFunctionDlg : public VclAbstractDialog
286 protected:
287 virtual ~AbstractScDPFunctionDlg() override = default;
288 public:
289 virtual PivotFunc GetFuncMask() const = 0;
290 virtual css::sheet::DataPilotFieldReference GetFieldRef() const = 0;
293 class AbstractScDPSubtotalDlg : public VclAbstractDialog
295 protected:
296 virtual ~AbstractScDPSubtotalDlg() override = default;
297 public:
298 virtual PivotFunc GetFuncMask() const = 0;
299 virtual void FillLabelData( ScDPLabelData& rLabelData ) const = 0;
302 class AbstractScDPNumGroupDlg : public VclAbstractDialog
304 protected:
305 virtual ~AbstractScDPNumGroupDlg() override = default;
306 public:
307 virtual ScDPNumGroupInfo GetGroupInfo() const = 0;
310 class AbstractScDPDateGroupDlg : public VclAbstractDialog
312 protected:
313 virtual ~AbstractScDPDateGroupDlg() override = default;
314 public:
315 virtual ScDPNumGroupInfo GetGroupInfo() const = 0;
316 virtual sal_Int32 GetDatePart() const = 0;
319 class AbstractScDPShowDetailDlg : public VclAbstractDialog
321 protected:
322 virtual ~AbstractScDPShowDetailDlg() override = default;
323 public:
324 virtual OUString GetDimensionName() const = 0;
327 class AbstractScNewScenarioDlg : public VclAbstractDialog
329 protected:
330 virtual ~AbstractScNewScenarioDlg() override = default;
331 public:
333 virtual void SetScenarioData( const OUString& rName, const OUString& rComment,
334 const Color& rColor, ScScenarioFlags nFlags ) = 0;
336 virtual void GetScenarioData( OUString& rName, OUString& rComment,
337 Color& rColor, ScScenarioFlags& rFlags ) const = 0;
340 class AbstractScShowTabDlg : public VclAbstractDialog
342 protected:
343 virtual ~AbstractScShowTabDlg() override = default;
344 public:
345 virtual void Insert( const OUString& rString, bool bSelected ) = 0;
346 virtual void SetDescription(const OUString& rTitle, const OUString& rFixedText, const OString& nDlgHelpId, const OString& nLbHelpId ) = 0;
347 virtual std::vector<sal_Int32> GetSelectedRows() const = 0;
348 virtual OUString GetEntry(sal_Int32 nPos) const = 0;
351 class AbstractScSortWarningDlg : public VclAbstractDialog
353 protected:
354 virtual ~AbstractScSortWarningDlg() override = default;
357 class AbstractScStringInputDlg : public VclAbstractDialog
359 protected:
360 virtual ~AbstractScStringInputDlg() override = default;
361 public:
362 virtual OUString GetInputString() const = 0;
365 class AbstractScTabBgColorDlg : public VclAbstractDialog
367 protected:
368 virtual ~AbstractScTabBgColorDlg() override = default;
369 public:
370 virtual void GetSelectedColor( Color& rColor ) const = 0;
373 class AbstractScImportOptionsDlg : public VclAbstractDialog
375 protected:
376 virtual ~AbstractScImportOptionsDlg() override = default;
377 public:
378 virtual void GetImportOptions( ScImportOptions& rOptions ) const = 0;
379 virtual void SaveImportOptions() const = 0;
382 class AbstractScTextImportOptionsDlg : public VclAbstractDialog
384 protected:
385 virtual ~AbstractScTextImportOptionsDlg() override = default;
386 public:
387 virtual LanguageType GetLanguageType() const = 0;
388 virtual bool IsDateConversionSet() const = 0;
391 class ScAbstractDialogFactory
393 public:
394 SC_DLLPUBLIC static ScAbstractDialogFactory* Create();
396 virtual VclPtr<AbstractScImportAsciiDlg> CreateScImportAsciiDlg(vcl::Window* pParent,
397 const OUString& aDatName,
398 SvStream* pInStream,
399 ScImportAsciiCall eCall) = 0;
401 virtual VclPtr<AbstractScTextImportOptionsDlg> CreateScTextImportOptionsDlg(weld::Window* pParent) = 0;
403 virtual VclPtr<AbstractScAutoFormatDlg> CreateScAutoFormatDlg(weld::Window* pParent,
404 ScAutoFormat* pAutoFormat,
405 const ScAutoFormatData* pSelFormatData,
406 ScViewData *pViewData) = 0;
407 virtual VclPtr<AbstractScColRowLabelDlg> CreateScColRowLabelDlg (weld::Window* pParent,
408 bool bCol,
409 bool bRow) = 0;
411 virtual VclPtr<AbstractScSortWarningDlg> CreateScSortWarningDlg(weld::Window* pParent, const OUString& rExtendText, const OUString& rCurrentText ) = 0;
413 virtual VclPtr<AbstractScCondFormatManagerDlg> CreateScCondFormatMgrDlg(weld::Window* pParent, ScDocument* pDoc, const ScConditionalFormatList* pFormatList ) = 0;
415 virtual VclPtr<AbstractScDataPilotDatabaseDlg> CreateScDataPilotDatabaseDlg(weld::Window* pParent) = 0;
417 virtual VclPtr<AbstractScDataPilotSourceTypeDlg> CreateScDataPilotSourceTypeDlg(weld::Window* pParent,
418 bool bEnableExternal) = 0;
420 virtual VclPtr<AbstractScDataPilotServiceDlg> CreateScDataPilotServiceDlg(weld::Window* pParent,
421 const std::vector<OUString>& rServices) = 0;
423 virtual VclPtr<AbstractScDeleteCellDlg> CreateScDeleteCellDlg(weld::Window* pParent, bool bDisallowCellMove) = 0 ;
425 //for dataform
426 virtual VclPtr<AbstractScDataFormDlg> CreateScDataFormDlg(weld::Window* pParent, ScTabViewShell* pTabViewShell) = 0;
428 virtual VclPtr<AbstractScDeleteContentsDlg> CreateScDeleteContentsDlg(weld::Window* pParent) = 0;
429 virtual VclPtr<AbstractScFillSeriesDlg> CreateScFillSeriesDlg(weld::Window* pParent,
430 ScDocument& rDocument,
431 FillDir eFillDir,
432 FillCmd eFillCmd,
433 FillDateCmd eFillDateCmd,
434 const OUString& aStartStr,
435 double fStep,
436 double fMax,
437 sal_uInt16 nPossDir) = 0;
439 virtual VclPtr<AbstractScGroupDlg> CreateAbstractScGroupDlg(weld::Window* pParent, bool bUnGroup = false) = 0;
441 virtual VclPtr<AbstractScInsertCellDlg> CreateScInsertCellDlg(weld::Window* pParent,
442 bool bDisallowCellMove) = 0;
444 virtual VclPtr<AbstractScInsertContentsDlg> CreateScInsertContentsDlg(weld::Window* pParent,
445 const OUString* pStrTitle = nullptr) = 0;
447 virtual VclPtr<AbstractScInsertTableDlg> CreateScInsertTableDlg(weld::Window* pParent, ScViewData& rViewData,
448 SCTAB nTabCount, bool bFromFile) = 0;
450 virtual VclPtr<AbstractScSelEntryDlg > CreateScSelEntryDlg(weld::Window* pParent, const std::vector<OUString> &rEntryList) = 0;
451 virtual VclPtr<AbstractScLinkedAreaDlg> CreateScLinkedAreaDlg(weld::Window* pParent) = 0;
453 virtual VclPtr<AbstractScMetricInputDlg> CreateScMetricInputDlg(weld::Window* pParent,
454 const OString& sDialogName,
455 long nCurrent,
456 long nDefault,
457 FieldUnit eFUnit,
458 sal_uInt16 nDecimals,
459 long nMaximum,
460 long nMinimum = 0 ) = 0;
462 virtual VclPtr<AbstractScMoveTableDlg> CreateScMoveTableDlg(weld::Window * pParent,
463 const OUString& rDefault) = 0;
465 virtual VclPtr<AbstractScNameCreateDlg> CreateScNameCreateDlg(weld::Window * pParent,
466 CreateNameFlags nFlags) = 0;
468 virtual VclPtr<AbstractScNamePasteDlg> CreateScNamePasteDlg(weld::Window * pParent, ScDocShell* pShell) = 0;
470 virtual VclPtr<AbstractScPivotFilterDlg> CreateScPivotFilterDlg(weld::Window* pParent,
471 const SfxItemSet& rArgSet,
472 sal_uInt16 nSourceTab) = 0;
474 virtual VclPtr<AbstractScDPFunctionDlg> CreateScDPFunctionDlg(weld::Widget* pParent,
475 const ScDPLabelDataVector& rLabelVec,
476 const ScDPLabelData& rLabelData,
477 const ScPivotFuncData& rFuncData ) = 0;
479 virtual VclPtr<AbstractScDPSubtotalDlg> CreateScDPSubtotalDlg(weld::Widget* pParent,
480 ScDPObject& rDPObj,
481 const ScDPLabelData& rLabelData,
482 const ScPivotFuncData& rFuncData,
483 const ScDPNameVec& rDataFields) = 0;
485 virtual VclPtr<AbstractScDPNumGroupDlg> CreateScDPNumGroupDlg(weld::Window* pParent,
486 const ScDPNumGroupInfo& rInfo) = 0;
488 virtual VclPtr<AbstractScDPDateGroupDlg> CreateScDPDateGroupDlg(weld::Window* pParent,
489 const ScDPNumGroupInfo& rInfo,
490 sal_Int32 nDatePart,
491 const Date& rNullDate ) = 0;
493 virtual VclPtr<AbstractScDPShowDetailDlg> CreateScDPShowDetailDlg(weld::Window* pParent,
494 ScDPObject& rDPObj,
495 css::sheet::DataPilotFieldOrientation nOrient ) = 0;
497 virtual VclPtr<AbstractScNewScenarioDlg> CreateScNewScenarioDlg(weld::Window* pParent, const OUString& rName,
498 bool bEdit, bool bSheetProtected) = 0;
499 virtual VclPtr<AbstractScShowTabDlg> CreateScShowTabDlg(weld::Window* pParent) = 0;
501 virtual VclPtr<AbstractScStringInputDlg> CreateScStringInputDlg(weld::Window* pParent,
502 const OUString& rTitle,
503 const OUString& rEditTitle,
504 const OUString& rDefault,
505 const OString& rHelpId,
506 const OString& rEditHelpId) = 0;
508 virtual VclPtr<AbstractScTabBgColorDlg> CreateScTabBgColorDlg(weld::Window* pParent,
509 const OUString& rTitle, //Dialog Title
510 const OUString& rTabBgColorNoColorText, //Label for no tab color
511 const Color& rDefaultColor) = 0; //Currently selected Color
513 virtual VclPtr<AbstractScImportOptionsDlg> CreateScImportOptionsDlg(weld::Window* pParent, bool bAscii,
514 const ScImportOptions* pOptions,
515 const OUString* pStrTitle,
516 bool bOnlyDbtoolsEncodings,
517 bool bImport = true ) = 0;
519 virtual VclPtr<SfxAbstractTabDialog> CreateScAttrDlg(weld::Window* pParent,
520 const SfxItemSet* pCellAttrs) = 0;
522 virtual VclPtr<SfxAbstractTabDialog> CreateScHFEditDlg(weld::Window* pParent,
523 const SfxItemSet& rCoreSet,
524 const OUString& rPageStyle,
525 sal_uInt16 nResId ) = 0;
527 virtual VclPtr<SfxAbstractTabDialog> CreateScStyleDlg(weld::Window* pParent,
528 SfxStyleSheetBase& rStyleBase,
529 bool bPage /*true : page, false: para*/) = 0;
531 virtual VclPtr<SfxAbstractTabDialog> CreateScSubTotalDlg(weld::Window* pParent,
532 const SfxItemSet* pArgSet) = 0;
534 virtual VclPtr<SfxAbstractTabDialog> CreateScCharDlg(weld::Window* pParent,
535 const SfxItemSet* pAttr, const SfxObjectShell* pDocShell) = 0;
537 virtual VclPtr<SfxAbstractTabDialog> CreateScParagraphDlg(weld::Window* pParent,
538 const SfxItemSet* pAttr) = 0;
540 virtual VclPtr<SfxAbstractTabDialog> CreateScSortDlg(weld::Window* pParent, const SfxItemSet* pArgSet) = 0;
542 // for tabpage
543 virtual CreateTabPage GetTabPageCreatorFunc( sal_uInt16 nId ) = 0;
545 protected:
546 ~ScAbstractDialogFactory() {}
548 #endif
550 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */