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 : virtual ScConditionalFormat* GetCondFormatSelected() = 0;
86 : };
87 :
88 0 : class AbstractScDataPilotDatabaseDlg :public VclAbstractDialog
89 : {
90 : public:
91 : virtual void GetValues( ScImportSourceDesc& rDesc ) = 0;
92 : };
93 :
94 0 : class AbstractScDataPilotSourceTypeDlg : public VclAbstractDialog
95 : {
96 : public:
97 : virtual bool IsDatabase() const = 0;
98 : virtual bool IsExternal() const = 0;
99 : virtual bool IsNamedRange() const = 0;
100 : virtual OUString GetSelectedNamedRange() const = 0;
101 : virtual void AppendNamedRange(const OUString& rName) = 0;
102 : };
103 :
104 0 : class AbstractScDataPilotServiceDlg : public VclAbstractDialog
105 : {
106 : public:
107 : virtual OUString GetServiceName() const = 0;
108 : virtual OUString GetParSource() const = 0 ;
109 : virtual OUString GetParName() const = 0 ;
110 : virtual OUString GetParUser() const = 0;
111 : virtual OUString GetParPass() const = 0;
112 : };
113 :
114 0 : class AbstractScDeleteCellDlg : public VclAbstractDialog
115 : {
116 : public:
117 : virtual DelCellCmd GetDelCellCmd() const = 0;
118 : };
119 :
120 : //for dataform
121 0 : class AbstractScDataFormDlg : public VclAbstractDialog
122 : {
123 :
124 : };
125 :
126 0 : class AbstractScDeleteContentsDlg: public VclAbstractDialog
127 : {
128 : public:
129 : virtual void DisableObjects() = 0 ;
130 : virtual InsertDeleteFlags GetDelContentsCmdBits() const = 0;
131 : };
132 :
133 0 : class AbstractScFillSeriesDlg: public VclAbstractDialog
134 : {
135 : public:
136 : virtual FillDir GetFillDir() const = 0;
137 : virtual FillCmd GetFillCmd() const = 0;
138 : virtual FillDateCmd GetFillDateCmd() const = 0;
139 : virtual double GetStart() const = 0;
140 : virtual double GetStep() const = 0;
141 : virtual double GetMax() const = 0;
142 : virtual OUString GetStartStr() const = 0;
143 : virtual void SetEdStartValEnabled(bool bFlag=false) = 0;
144 : };
145 :
146 0 : class AbstractScGroupDlg : public VclAbstractDialog
147 : {
148 : public:
149 : virtual bool GetColsChecked() const = 0;
150 : };
151 :
152 0 : class AbstractScInsertCellDlg : public VclAbstractDialog
153 : {
154 : public:
155 : virtual InsCellCmd GetInsCellCmd() const = 0;
156 : };
157 :
158 0 : class AbstractScInsertContentsDlg : public VclAbstractDialog
159 : {
160 : public:
161 : virtual InsertDeleteFlags GetInsContentsCmdBits() const = 0;
162 : virtual sal_uInt16 GetFormulaCmdBits() const = 0 ;
163 : virtual bool IsSkipEmptyCells() const = 0;
164 : virtual bool IsLink() const = 0;
165 : virtual void SetFillMode( bool bSet ) = 0;
166 : virtual void SetOtherDoc( bool bSet ) = 0;
167 : virtual bool IsTranspose() const = 0;
168 : virtual void SetChangeTrack( bool bSet ) = 0;
169 : virtual void SetCellShiftDisabled( int nDisable ) = 0;
170 : virtual InsCellCmd GetMoveMode() = 0;
171 : };
172 :
173 0 : class AbstractScInsertTableDlg : public VclAbstractDialog
174 : {
175 : public:
176 : virtual bool GetTablesFromFile() = 0;
177 : virtual bool GetTablesAsLink() = 0;
178 : virtual const OUString* GetFirstTable( sal_uInt16* pN = NULL ) = 0;
179 : virtual ScDocShell* GetDocShellTables() = 0;
180 : virtual bool IsTableBefore() = 0;
181 : virtual sal_uInt16 GetTableCount() = 0;
182 : virtual const OUString* GetNextTable( sal_uInt16* pN = NULL ) = 0;
183 :
184 : };
185 :
186 0 : class AbstractScSelEntryDlg : public VclAbstractDialog
187 : {
188 : public:
189 : virtual OUString GetSelectEntry() const = 0;
190 : };
191 :
192 0 : class AbstractScLinkedAreaDlg : public VclAbstractDialog2
193 : {
194 : public:
195 : virtual void InitFromOldLink( const OUString& rFile, const OUString& rFilter,
196 : const OUString& rOptions, const OUString& rSource,
197 : sal_uLong nRefresh ) = 0;
198 : virtual OUString GetURL() = 0;
199 : virtual OUString GetFilter() = 0; // may be empty
200 : virtual OUString GetOptions() = 0; // filter options
201 : virtual OUString GetSource() = 0; // separated by ";"
202 : virtual sal_uLong GetRefresh() = 0; // 0 if disabled
203 : };
204 :
205 0 : class AbstractScMetricInputDlg : public VclAbstractDialog
206 : {
207 : public:
208 : virtual long GetInputValue( FieldUnit eUnit = FUNIT_TWIP ) const = 0;
209 : };
210 :
211 0 : class AbstractScMoveTableDlg : public VclAbstractDialog
212 : {
213 : public:
214 : virtual sal_uInt16 GetSelectedDocument () const = 0;
215 : virtual sal_uInt16 GetSelectedTable () const = 0;
216 : virtual bool GetCopyTable () const = 0;
217 : virtual bool GetRenameTable () const = 0;
218 : virtual void GetTabNameString( OUString& rString ) const = 0;
219 : virtual void SetForceCopyTable () = 0;
220 : virtual void EnableCopyTable (bool bFlag=true) = 0;
221 : virtual void EnableRenameTable (bool bFlag=true) = 0;
222 : };
223 :
224 0 : class AbstractScNameCreateDlg : public VclAbstractDialog // Manage Name Dialog
225 : {
226 : public:
227 : virtual sal_uInt16 GetFlags() const = 0;
228 : };
229 :
230 0 : class AbstractScNamePasteDlg : public VclAbstractDialog
231 : {
232 : public:
233 : virtual std::vector<OUString> GetSelectedNames() const = 0;
234 : virtual bool IsAllSelected() const = 0;
235 : };
236 :
237 0 : class AbstractScPivotFilterDlg : public VclAbstractDialog
238 : {
239 : public:
240 : virtual const ScQueryItem& GetOutputItem() = 0;
241 : };
242 :
243 0 : class AbstractScDPFunctionDlg : public VclAbstractDialog
244 : {
245 : public:
246 : virtual sal_uInt16 GetFuncMask() const = 0;
247 : virtual ::com::sun::star::sheet::DataPilotFieldReference GetFieldRef() const = 0;
248 : };
249 :
250 0 : class AbstractScDPSubtotalDlg : public VclAbstractDialog
251 : {
252 : public:
253 : virtual sal_uInt16 GetFuncMask() const = 0;
254 : virtual void FillLabelData( ScDPLabelData& rLabelData ) const = 0;
255 : };
256 :
257 0 : class AbstractScDPNumGroupDlg : public VclAbstractDialog
258 : {
259 : public:
260 : virtual ScDPNumGroupInfo GetGroupInfo() const = 0;
261 : };
262 :
263 0 : class AbstractScDPDateGroupDlg : public VclAbstractDialog
264 : {
265 : public:
266 : virtual ScDPNumGroupInfo GetGroupInfo() const = 0;
267 : virtual sal_Int32 GetDatePart() const = 0;
268 : };
269 :
270 0 : class AbstractScDPShowDetailDlg : public VclAbstractDialog
271 : {
272 : public:
273 : virtual OUString GetDimensionName() const = 0;
274 : };
275 :
276 0 : class AbstractScNewScenarioDlg : public VclAbstractDialog
277 : {
278 : public:
279 :
280 : virtual void SetScenarioData( const OUString& rName, const OUString& rComment,
281 : const Color& rColor, sal_uInt16 nFlags ) = 0;
282 :
283 : virtual void GetScenarioData( OUString& rName, OUString& rComment,
284 : Color& rColor, sal_uInt16& rFlags ) const = 0;
285 : };
286 :
287 0 : class AbstractScShowTabDlg : public VclAbstractDialog
288 : {
289 : public:
290 : virtual void Insert( const OUString& rString, bool bSelected ) = 0;
291 : virtual sal_Int32 GetSelectEntryCount() const = 0;
292 : virtual void SetDescription(const OUString& rTitle, const OUString& rFixedText, const OString& nDlgHelpId, const OString& nLbHelpId ) = 0;
293 : virtual OUString GetSelectEntry(sal_Int32 nPos) const = 0;
294 : virtual sal_Int32 GetSelectEntryPos(sal_Int32 nPos) const = 0;
295 : };
296 :
297 0 : class AbstractScSortWarningDlg : public VclAbstractDialog
298 : {
299 : };
300 :
301 0 : class AbstractScStringInputDlg : public VclAbstractDialog
302 : {
303 : public:
304 : virtual OUString GetInputString() const = 0;
305 : };
306 :
307 0 : class AbstractScTabBgColorDlg : public VclAbstractDialog
308 : {
309 : public:
310 : virtual void GetSelectedColor( Color& rColor ) const = 0;
311 : };
312 :
313 0 : class AbstractScImportOptionsDlg : public VclAbstractDialog
314 : {
315 : public:
316 : virtual void GetImportOptions( ScImportOptions& rOptions ) const = 0;
317 : };
318 :
319 0 : class AbstractScTextImportOptionsDlg : public VclAbstractDialog
320 : {
321 : public:
322 : virtual LanguageType GetLanguageType() const = 0;
323 : virtual bool IsDateConversionSet() const = 0;
324 : };
325 :
326 0 : class ScAbstractDialogFactory
327 : {
328 : public:
329 : SC_DLLPUBLIC static ScAbstractDialogFactory* Create();
330 :
331 : virtual AbstractScImportAsciiDlg * CreateScImportAsciiDlg( vcl::Window* pParent, const OUString& aDatName,
332 : SvStream* pInStream,
333 : ScImportAsciiCall eCall) = 0;
334 :
335 : virtual AbstractScTextImportOptionsDlg * CreateScTextImportOptionsDlg(vcl::Window* pParent) = 0;
336 :
337 : virtual AbstractScAutoFormatDlg * CreateScAutoFormatDlg(vcl::Window* pParent,
338 : ScAutoFormat* pAutoFormat,
339 : const ScAutoFormatData* pSelFormatData,
340 : ScViewData *pViewData) = 0;
341 : virtual AbstractScColRowLabelDlg * CreateScColRowLabelDlg (vcl::Window* pParent,
342 : bool bCol = false,
343 : bool bRow = false) = 0;
344 :
345 : virtual AbstractScSortWarningDlg * CreateScSortWarningDlg(vcl::Window* pParent, const OUString& rExtendText, const OUString& rCurrentText ) = 0;
346 :
347 : virtual AbstractScCondFormatManagerDlg* CreateScCondFormatMgrDlg(vcl::Window* pParent, ScDocument* pDoc, const ScConditionalFormatList* pFormatList,
348 : const ScAddress& rPos, int nId ) = 0;
349 :
350 : virtual AbstractScDataPilotDatabaseDlg * CreateScDataPilotDatabaseDlg(vcl::Window* pParent) = 0;
351 :
352 : virtual AbstractScDataPilotSourceTypeDlg * CreateScDataPilotSourceTypeDlg(vcl::Window* pParent,
353 : bool bEnableExternal) = 0;
354 :
355 : virtual AbstractScDataPilotServiceDlg * CreateScDataPilotServiceDlg( vcl::Window* pParent,
356 : const com::sun::star::uno::Sequence<OUString>& rServices,
357 : int nId ) = 0;
358 :
359 : virtual AbstractScDeleteCellDlg * CreateScDeleteCellDlg(vcl::Window* pParent, bool bDisallowCellMove = false) = 0 ;
360 :
361 : //for dataform
362 : virtual AbstractScDataFormDlg * CreateScDataFormDlg(vcl::Window* pParent,
363 : ScTabViewShell* pTabViewShell) = 0;
364 :
365 : virtual AbstractScDeleteContentsDlg * CreateScDeleteContentsDlg(vcl::Window* pParent,
366 : InsertDeleteFlags nCheckDefaults = IDF_NONE) = 0;
367 : virtual AbstractScFillSeriesDlg * CreateScFillSeriesDlg( vcl::Window* pParent,
368 : ScDocument& rDocument,
369 : FillDir eFillDir,
370 : FillCmd eFillCmd,
371 : FillDateCmd eFillDateCmd,
372 : const OUString& aStartStr,
373 : double fStep,
374 : double fMax,
375 : sal_uInt16 nPossDir) = 0;
376 :
377 : virtual AbstractScGroupDlg * CreateAbstractScGroupDlg( vcl::Window* pParent,
378 : bool bUnGroup = false,
379 : bool bRows = true ) = 0;
380 :
381 : virtual AbstractScInsertCellDlg * CreateScInsertCellDlg( vcl::Window* pParent,
382 : int nId,
383 : bool bDisallowCellMove = false ) = 0;
384 :
385 : virtual AbstractScInsertContentsDlg * CreateScInsertContentsDlg( vcl::Window* pParent,
386 : InsertDeleteFlags nCheckDefaults = IDF_NONE,
387 : const OUString* pStrTitle = NULL ) = 0;
388 :
389 : virtual AbstractScInsertTableDlg * CreateScInsertTableDlg(vcl::Window* pParent, ScViewData& rViewData,
390 : SCTAB nTabCount, bool bFromFile) = 0;
391 :
392 : virtual AbstractScSelEntryDlg * CreateScSelEntryDlg ( vcl::Window* pParent,
393 : const std::vector<OUString> &rEntryList ) = 0;
394 : virtual AbstractScLinkedAreaDlg * CreateScLinkedAreaDlg(vcl::Window* pParent) = 0;
395 :
396 : virtual AbstractScMetricInputDlg * CreateScMetricInputDlg ( vcl::Window* pParent,
397 : const OString& sDialogName,
398 : long nCurrent,
399 : long nDefault,
400 : FieldUnit eFUnit = FUNIT_MM,
401 : sal_uInt16 nDecimals = 2,
402 : long nMaximum = 1000,
403 : long nMinimum = 0,
404 : long nFirst = 1,
405 : long nLast = 100 ) = 0;
406 :
407 : virtual AbstractScMoveTableDlg * CreateScMoveTableDlg(vcl::Window * pParent,
408 : const OUString& rDefault) = 0;
409 :
410 : virtual AbstractScNameCreateDlg * CreateScNameCreateDlg(vcl::Window * pParent,
411 : sal_uInt16 nFlags) = 0;
412 :
413 : virtual AbstractScNamePasteDlg * CreateScNamePasteDlg ( vcl::Window * pParent, ScDocShell* pShell, bool bInsList=true ) = 0;
414 :
415 : virtual AbstractScPivotFilterDlg * CreateScPivotFilterDlg(vcl::Window* pParent,
416 : const SfxItemSet& rArgSet, sal_uInt16 nSourceTab) = 0;
417 :
418 : virtual AbstractScDPFunctionDlg * CreateScDPFunctionDlg( vcl::Window* pParent,
419 : const ScDPLabelDataVector& rLabelVec,
420 : const ScDPLabelData& rLabelData,
421 : const ScPivotFuncData& rFuncData ) = 0;
422 :
423 : virtual AbstractScDPSubtotalDlg * CreateScDPSubtotalDlg( vcl::Window* pParent,
424 : ScDPObject& rDPObj,
425 : const ScDPLabelData& rLabelData,
426 : const ScPivotFuncData& rFuncData,
427 : const ScDPNameVec& rDataFields,
428 : bool bEnableLayout ) = 0;
429 :
430 : virtual AbstractScDPNumGroupDlg * CreateScDPNumGroupDlg( vcl::Window* pParent,
431 : int nId,
432 : const ScDPNumGroupInfo& rInfo ) = 0;
433 :
434 : virtual AbstractScDPDateGroupDlg * CreateScDPDateGroupDlg( vcl::Window* pParent,
435 : int nId,
436 : const ScDPNumGroupInfo& rInfo,
437 : sal_Int32 nDatePart,
438 : const Date& rNullDate ) = 0;
439 :
440 : virtual AbstractScDPShowDetailDlg * CreateScDPShowDetailDlg( vcl::Window* pParent, int nId,
441 : ScDPObject& rDPObj,
442 : sal_uInt16 nOrient ) = 0;
443 :
444 : virtual AbstractScNewScenarioDlg * CreateScNewScenarioDlg ( vcl::Window* pParent, const OUString& rName,
445 : bool bEdit = false, bool bSheetProtected = false ) = 0;
446 : virtual AbstractScShowTabDlg * CreateScShowTabDlg(vcl::Window* pParent) = 0;
447 :
448 : virtual AbstractScStringInputDlg * CreateScStringInputDlg ( vcl::Window* pParent,
449 : const OUString& rTitle,
450 : const OUString& rEditTitle,
451 : const OUString& rDefault,
452 : const OString& sHelpId, const OString& sEditHelpId ) = 0;
453 :
454 : virtual AbstractScTabBgColorDlg * CreateScTabBgColorDlg ( vcl::Window* pParent,
455 : const OUString& rTitle, //Dialog Title
456 : const OUString& rTabBgColorNoColorText, //Label for no tab color
457 : const Color& rDefaultColor, //Currently selected Color
458 : const OString& ) = 0;
459 :
460 : virtual AbstractScImportOptionsDlg * CreateScImportOptionsDlg ( vcl::Window* pParent,
461 : bool bAscii = true,
462 : const ScImportOptions* pOptions = NULL,
463 : const OUString* pStrTitle = NULL,
464 : bool bMultiByte = false,
465 : bool bOnlyDbtoolsEncodings = false,
466 : bool bImport = true ) = 0;
467 :
468 : virtual SfxAbstractTabDialog * CreateScAttrDlg( SfxViewFrame* pFrame,
469 : vcl::Window* pParent,
470 : const SfxItemSet* pCellAttrs ) = 0;
471 :
472 : virtual SfxAbstractTabDialog * CreateScHFEditDlg( SfxViewFrame* pFrame,
473 : vcl::Window* pParent,
474 : const SfxItemSet& rCoreSet,
475 : const OUString& rPageStyle,
476 : sal_uInt16 nResId = RID_SCDLG_HFEDIT ) = 0;
477 :
478 : virtual SfxAbstractTabDialog * CreateScStyleDlg( vcl::Window* pParent,
479 : SfxStyleSheetBase& rStyleBase,
480 : sal_uInt16 nRscId,
481 : int nId) = 0;
482 :
483 : virtual SfxAbstractTabDialog * CreateScSubTotalDlg( vcl::Window* pParent,
484 : const SfxItemSet* pArgSet ) = 0;
485 :
486 : virtual SfxAbstractTabDialog * CreateScCharDlg(vcl::Window* pParent,
487 : const SfxItemSet* pAttr, const SfxObjectShell* pDocShell) = 0;
488 :
489 : virtual SfxAbstractTabDialog * CreateScParagraphDlg(vcl::Window* pParent,
490 : const SfxItemSet* pAttr) = 0;
491 :
492 : virtual SfxAbstractTabDialog * CreateScValidationDlg(vcl::Window* pParent,
493 : const SfxItemSet* pArgSet, ScTabViewShell *pTabVwSh) = 0;
494 : virtual SfxAbstractTabDialog * CreateScSortDlg(vcl::Window* pParent, const SfxItemSet* pArgSet) = 0;
495 :
496 : // for tabpage
497 : virtual CreateTabPage GetTabPageCreatorFunc( sal_uInt16 nId ) = 0;
498 : virtual GetTabPageRanges GetTabPageRangesFunc() = 0;
499 :
500 : protected:
501 0 : ~ScAbstractDialogFactory() {}
502 : };
503 : #endif
504 :
505 : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|