LibreOffice Module sc (master)  1
global.hxx
Go to the documentation of this file.
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 #pragma once
21 
22 #include "address.hxx"
23 #include <i18nlangtag/lang.h>
24 #include <svx/svdtypes.hxx>
25 #include <tools/ref.hxx>
26 #include <sal/types.h>
27 #include <com/sun/star/i18n/CollatorOptions.hpp>
28 #include "scdllapi.h"
29 #include <rtl/ustring.hxx>
30 #include <tools/long.hxx>
31 #include <o3tl/unit_conversion.hxx>
32 
33 #include <atomic>
34 // HACK: <atomic> includes <stdbool.h>, which in some Clang versions does '#define bool bool',
35 // which confuses clang plugins.
36 #undef bool
37 
38 #include <memory>
39 #include <optional>
40 #include <string_view>
41 
42 namespace com::sun::star::uno { template <typename > class Reference; }
43 
44 class SfxItemSet;
45 class SfxViewShell;
46 struct ScCalcConfig;
47 enum class SvtScriptType : sal_uInt8;
48 enum class FormulaError : sal_uInt16;
49 enum class SvNumFormatType : sal_Int16;
50 
51 #define SC_COLLATOR_IGNORES css::i18n::CollatorOptions::CollatorOptions_IGNORE_CASE
52 
53 // Calc has lots of names...
54 // Clipboard names are in so3/soapp.hxx now
55 // STRING_SCAPP was "scalc3", "scalc4", now just "scalc"
56 
57 inline constexpr OUStringLiteral STRING_SCAPP = u"scalc";
58 
59 inline constexpr OUStringLiteral STRING_STANDARD = u"Standard";
60 
61 // Have the dreaded programmatic filter name defined in one place.
62 inline constexpr OUStringLiteral SC_TEXT_CSV_FILTER_NAME = u"Text - txt - csv (StarCalc)";
63 
64 // characters
65 
66 const sal_Unicode CHAR_NBSP = 0x00A0;
67 const sal_Unicode CHAR_SHY = 0x00AD;
68 const sal_Unicode CHAR_ZWSP = 0x200B;
69 const sal_Unicode CHAR_LRM = 0x200E;
70 const sal_Unicode CHAR_RLM = 0x200F;
71 const sal_Unicode CHAR_NBHY = 0x2011;
72 const sal_Unicode CHAR_WJ = 0x2060;
73 const sal_Unicode CHAR_NNBSP = 0x202F; //NARROW NO-BREAK SPACE
74 
75 #define MINDOUBLE 1.7e-307
76 #define MAXDOUBLE 1.7e307
77 
78 #define MINZOOM 20
79 #define MAXZOOM 400
80 
81 const SCSIZE MAXSUBTOTAL = 3;
82 
83 // ~105.88 twip, i.e. about 2 times narrower than o3tl::Length::ch, which is 210 twip
84 constexpr auto TWIPS_PER_CHAR = o3tl::toTwips(1 / 13.6, o3tl::Length::in);
85 
86 constexpr sal_Int32 STD_COL_WIDTH = o3tl::convert(64, o3tl::Length::pt, o3tl::Length::twip);
87 constexpr sal_Int32 STD_EXTRA_WIDTH = o3tl::convert(2, o3tl::Length::mm, o3tl::Length::twip);
88 
89 constexpr sal_Int32 MAX_EXTRA_WIDTH = o3tl::convert(42, o3tl::Length::cm, o3tl::Length::twip);
90 constexpr sal_Int32 MAX_EXTRA_HEIGHT = o3tl::convert(42, o3tl::Length::cm, o3tl::Length::twip);
91 constexpr sal_Int32 MAX_COL_WIDTH = o3tl::convert(1, o3tl::Length::m, o3tl::Length::twip);
92 constexpr sal_Int32 MAX_ROW_HEIGHT = o3tl::convert(1, o3tl::Length::m, o3tl::Length::twip);
93 
94  /* standard row height: text + margin - STD_ROWHEIGHT_DIFF */
95 #define STD_ROWHEIGHT_DIFF 23
96 
97 namespace sc
98 {
99  constexpr ::tools::Long TwipsToEvenHMM( ::tools::Long nTwips ) { return o3tl::convert(nTwips, 127, 144) * 2; }
100 }
101 
102  // standard size as OLE server (cells)
103 #define OLE_STD_CELLS_X 4
104 #define OLE_STD_CELLS_Y 5
105 
106 
107  // repaint flags (for messages)
108 enum class PaintPartFlags {
109  NONE = 0x00,
110  Grid = 0x01,
111  Top = 0x02,
112  Left = 0x04,
113  Extras = 0x08,
114  Marks = 0x10,
115  Objects = 0x20,
116  Size = 0x40,
117  All = Grid | Top | Left | Extras | Objects | Size,
118 };
119 namespace o3tl {
120  template<> struct typed_flags<PaintPartFlags> : is_typed_flags<PaintPartFlags, 0x07f> {};
121 }
122 
123  // flags for columns / rows
124 enum class CRFlags : sal_uInt8 {
125  // Filtered always together with Hidden
126  // Filtered and ManualSize only valid for rows
127  NONE = 0x00,
128  Hidden = 0x01,
129  ManualBreak = 0x02,
130  Filtered = 0x04,
131  ManualSize = 0x08,
133 };
134 namespace o3tl {
135  template<> struct typed_flags<CRFlags> : is_typed_flags<CRFlags, 0x0f> {};
136 }
137 
138 enum class ScBreakType {
139  NONE = 0x00,
140  Page = 0x01,
141  Manual = 0x02
142 };
143 namespace o3tl {
144  template<> struct typed_flags<ScBreakType> : is_typed_flags<ScBreakType, 0x03> {};
145 }
146 
147 enum class InsertDeleteFlags : sal_uInt16
148 {
149  NONE = 0x0000,
150  VALUE = 0x0001,
151  DATETIME = 0x0002,
152  STRING = 0x0004,
153  NOTE = 0x0008,
154  FORMULA = 0x0010,
155  HARDATTR = 0x0020,
156  STYLES = 0x0040,
157  OBJECTS = 0x0080,
158  EDITATTR = 0x0100,
159  OUTLINE = 0x0800,
160  SPARKLINES = 0x4000,
161  NOCAPTIONS = 0x0200,
162  ADDNOTES = 0x0400,
163  SPECIAL_BOOLEAN = 0x1000,
164  FORGETCAPTIONS = 0x2000,
165  ATTRIB = HARDATTR | STYLES,
167  ALL = CONTENTS | ATTRIB | OBJECTS | SPARKLINES,
169  AUTOFILL = ALL & ~(NOTE | OBJECTS)
170 };
171 namespace o3tl
172 {
173  template<> struct typed_flags<InsertDeleteFlags> : is_typed_flags<InsertDeleteFlags, 0x7fff> {};
174 }
175 // This doesn't work at the moment, perhaps when we have constexpr we can modify InsertDeleteFlags to make it work.
176 //static_assert((InsertDeleteFlags::ATTRIB & InsertDeleteFlags::CONTENTS) == InsertDeleteFlags::NONE, "these must match");
177 
178 
179 enum class ScPasteFunc {
180  NONE, ADD, SUB, MUL, DIV
181 };
182  // bits for HasAttr
183 enum class HasAttrFlags {
184  NONE = 0x0000,
185  Lines = 0x0001,
186  Merged = 0x0002,
187  Overlapped = 0x0004,
188  Protected = 0x0008,
189  Shadow = 0x0010,
190  NeedHeight = 0x0020,
191  ShadowRight = 0x0040,
192  ShadowDown = 0x0080,
193  AutoFilter = 0x0100,
194  Conditional = 0x0200,
195  Rotate = 0x0400,
196  NotOverlapped = 0x0800,
197  RightOrCenter = 0x1000, // right or centered logical alignment
198 };
199 namespace o3tl {
200  template<> struct typed_flags<HasAttrFlags> : is_typed_flags<HasAttrFlags, 0x1fff> {};
201 }
202 
203 
204 // Layer id's for drawing.
205 // These are both id's and positions.
206 constexpr SdrLayerID SC_LAYER_FRONT (0);
207 constexpr SdrLayerID SC_LAYER_BACK (1);
208 constexpr SdrLayerID SC_LAYER_INTERN (2);
209 constexpr SdrLayerID SC_LAYER_CONTROLS(3);
210 constexpr SdrLayerID SC_LAYER_HIDDEN (4);
211 
212 // link tables
213 enum class ScLinkMode {
214  NONE, NORMAL, VALUE
215 };
216  // input
217 enum class ScEnterMode {
219 };
220 
221  // step = 10pt, max. indention = 100 steps
222 #define SC_INDENT_STEP 200
223 
224 enum class ScScenarioFlags{ // scenario flags
225  NONE = 0,
226  CopyAll = 1,
227  ShowFrame = 2,
228  PrintFrame = 4,
229  TwoWay = 8,
230  Attrib = 16,
231  Value = 32,
232  Protected = 64
233 };
234 namespace o3tl {
235  template<> struct typed_flags<ScScenarioFlags> : is_typed_flags<ScScenarioFlags, 127> {};
236 }
237 
238 enum class SubtotalFlags {
239  NONE = 0x00,
240  IgnoreNestedStAg = 0x08,
241  IgnoreErrVal = 0x04,
242  IgnoreHidden = 0x02,
243  IgnoreFiltered = 0x01
244 };
245 namespace o3tl {
246  template<> struct typed_flags<SubtotalFlags> : is_typed_flags<SubtotalFlags, 0x0f> {};
247 }
248 
249 enum class ScCloneFlags{
252  Default = 0x0000,
253 
255  StartListening = 0x0001,
256 
258  NoMakeAbsExternal = 0x0002,
259 
262  NamesToLocal = 0x0004
263 };
264 namespace o3tl
265 {
266  template<> struct typed_flags<ScCloneFlags> : is_typed_flags<ScCloneFlags, 0x0007> {};
267 }
268 
270  {
276  };
277 
278 enum class DelCellCmd
279  {
280  CellsUp,
281  CellsLeft,
282  Rows,
283  Cols,
284  NONE
285  };
286 
288  {
296  };
297 
299  {
304  };
305 
307  {
312  };
313 
315  {
321  };
322 
324 {
329 };
330 
332  {
338  };
339 
341  {
346  };
347 
349  {
350  SC_SIZE_DIRECT, // set size or hide if value is 0
351  SC_SIZE_OPTIMAL, // set optimal size for everything
352  SC_SIZE_SHOW, // show with original size
353  SC_SIZE_VISOPT, // set optimal size only if visible
354  SC_SIZE_ORIGINAL // only set size, don't change visible flag
355  };
356 
358  {
360  SC_INPUT_TYPE, // input, while not in inplace mode
361  SC_INPUT_TABLE, // text cursor in the table
362  SC_INPUT_TOP // text cursor in the input line
363  };
364 
365 enum ScVObjMode // output modes of objects on a page
366 {
369 };
370 
371 enum ScAnchorType // anchor of a character object
372 {
373  SCA_CELL, // anchor to cell, move with cell
374  SCA_CELL_RESIZE, // anchor to cell, move and resize with cell
375  SCA_PAGE, // anchor to page, independent of any cells
376  SCA_DONTKNOW // for multi selection
377 };
378 
380 {
385 };
386 
389 {
391  Keep,
392 
395 
400  RowDown,
401 
404  ForceMark
405 };
406 
407 enum ScLkUpdMode // modes for updating links
408 {
413 };
414 
415 // enum with values equal to old DBObject enum from sdb
417 {
420 };
421 
422 namespace sc {
423 
425 {
426  Unknown,
432  DeleteRows
433 };
434 
435 }
436 
438 {
443  bool bImport;
444  OUString aDBName; // alias of data base
445  OUString aStatement;
446  bool bNative;
447  bool bSql; // statement or name?
448  sal_uInt8 nType; // enum DBObject
449 
450  ScImportParam();
451  ScImportParam( const ScImportParam& r );
452  ~ScImportParam();
453 
454  ScImportParam& operator= ( const ScImportParam& r );
455  bool operator== ( const ScImportParam& r ) const;
456 };
457 
458 class ScDocShell;
459 class SvxSearchItem;
460 class ScAutoFormat;
463 class ScUserList;
464 class SvxBrushItem;
465 class ScFunctionList;
466 class ScFunctionMgr;
467 class SfxItemPool;
468 class EditTextObject;
469 class SfxObjectShell;
470 class SvNumberFormatter;
471 class ScUnitConverter;
472 class CharClass;
473 class LocaleDataWrapper;
474 class SvtSysLocale;
475 class CalendarWrapper;
476 class CollatorWrapper;
477 class IntlWrapper;
478 class ScFieldEditEngine;
479 
480 namespace com::sun::star {
481  namespace lang {
482  struct Locale;
483  }
484  namespace i18n {
485  class XOrdinalSuffix;
486  }
487 }
488 namespace utl {
489  class TransliterationWrapper;
490 }
491 
492 namespace sc {
493  class SharedStringPoolPurge;
494 }
495 
496 class ScGlobal
497 {
498  static std::unique_ptr<SvxSearchItem> xSearchItem;
499  static std::unique_ptr<ScAutoFormat> xAutoFormat;
500  static std::atomic<LegacyFuncCollection*> pLegacyFuncCollection;
501  static std::atomic<ScUnoAddInCollection*> pAddInCollection;
502  static std::unique_ptr<ScUserList> xUserList;
503  static OUString aStrClipDocName;
504  static std::unique_ptr<SvxBrushItem> xEmptyBrushItem;
505  static std::unique_ptr<SvxBrushItem> xButtonBrushItem;
506 
507  static std::unique_ptr<ScFunctionList> xStarCalcFunctionList;
508  static std::unique_ptr<ScFunctionMgr> xStarCalcFunctionMgr;
509 
510  static std::atomic<ScUnitConverter*> pUnitConverter;
511 
512  static std::unique_ptr<SvNumberFormatter> xEnglishFormatter; // for UNO / XML export
513 
514  static css::uno::Reference< css::i18n::XOrdinalSuffix> xOrdinalSuffix;
515  static std::optional<CalendarWrapper> oCalendar;
516  static std::atomic<CollatorWrapper*> pCaseCollator;
517  static std::atomic<CollatorWrapper*> pCollator;
518  static std::atomic<::utl::TransliterationWrapper*> pTransliteration;
519  static std::atomic<::utl::TransliterationWrapper*> pCaseTransliteration;
520  static std::atomic<css::lang::Locale*> pLocale;
521 
522  static std::unique_ptr<ScFieldEditEngine> xFieldEditEngine;
523 
524  static std::atomic<sc::SharedStringPoolPurge*> pSharedStringPoolPurge;
525 
526  static void InitPPT();
527 
528 public:
529  static std::optional<SvtSysLocale> oSysLocale;
530  SC_DLLPUBLIC static const LocaleDataWrapper& getLocaleData();
531  SC_DLLPUBLIC static const CharClass& getCharClass();
532 
533  static CalendarWrapper& GetCalendar();
535  SC_DLLPUBLIC static CollatorWrapper& GetCollator();
537  static CollatorWrapper& GetCaseCollator();
538  static CollatorWrapper& GetCollator(bool bCaseSensitive);
539  static css::lang::Locale& GetLocale();
540 
541  SC_DLLPUBLIC static ::utl::TransliterationWrapper& GetTransliteration();
542  static ::utl::TransliterationWrapper& GetCaseTransliteration();
543  static ::utl::TransliterationWrapper& GetTransliteration(bool bCaseSensitive);
544 
546  static constexpr sal_Unicode cListDelimiter = ',';
547 
548  static const OUString& GetClipDocName();
549  static void SetClipDocName( const OUString& rNew );
550  SC_DLLPUBLIC static const SvxSearchItem& GetSearchItem();
551  SC_DLLPUBLIC static void SetSearchItem( const SvxSearchItem& rNew );
552  SC_DLLPUBLIC static ScAutoFormat* GetAutoFormat();
553  SC_DLLPUBLIC static ScAutoFormat* GetOrCreateAutoFormat();
554  static void ClearAutoFormat(); //BugId 54209
555  static LegacyFuncCollection* GetLegacyFuncCollection();
556  SC_DLLPUBLIC static ScUnoAddInCollection* GetAddInCollection();
557  SC_DLLPUBLIC static ScUserList* GetUserList();
558  static void SetUserList( const ScUserList* pNewList );
563  static void OpenURL(const OUString& rURL, const OUString& rTarget, bool bIgnoreSettings = false);
565  static bool ShouldOpenURL();
566  SC_DLLPUBLIC static OUString GetAbsDocName( const OUString& rFileName,
567  const SfxObjectShell* pShell );
568  SC_DLLPUBLIC static OUString GetDocTabName( std::u16string_view rFileName,
569  std::u16string_view rTabName );
570  SC_DLLPUBLIC static sal_uInt32 GetStandardFormat( SvNumberFormatter&, sal_uInt32 nFormat, SvNumFormatType nType );
571 
572  SC_DLLPUBLIC static sal_uInt16 GetStandardRowHeight();
574  SC_DLLPUBLIC static double nScreenPPTX;
576  SC_DLLPUBLIC static double nScreenPPTY;
577 
579 
580  static sal_uInt16 nDefFontHeight;
581  SC_DLLPUBLIC static sal_uInt16 nStdRowHeight;
582 
583  SC_DLLPUBLIC static ::tools::Long nLastRowHeightExtra;
584  static ::tools::Long nLastColWidthExtra;
585 
586  SC_DLLPUBLIC static void Init(); // during start up
587  static void InitAddIns();
588  SC_DLLPUBLIC static void Clear(); // at the end of the program
589 
590  static void InitTextHeight(const SfxItemPool* pPool);
591  static SvxBrushItem* GetEmptyBrushItem() { return xEmptyBrushItem.get(); }
592  static SvxBrushItem* GetButtonBrushItem();
593 
594  static bool HasStarCalcFunctionList();
595  static ScFunctionList* GetStarCalcFunctionList();
596  static ScFunctionMgr* GetStarCalcFunctionMgr();
597  static void ResetFunctionList();
598 
599  static OUString GetErrorString(FormulaError nErrNumber);
600  static OUString GetLongErrorString(FormulaError nErrNumber);
601  static bool EETextObjEqual( const EditTextObject* pObj1,
602  const EditTextObject* pObj2 );
603  static bool CheckWidthInvalidate( bool& bNumFormatChanged,
604  const SfxItemSet& rNewAttrs,
605  const SfxItemSet& rOldAttrs );
606  static bool HasAttrChanged( const SfxItemSet& rNewAttrs,
607  const SfxItemSet& rOldAttrs,
608  const sal_uInt16 nWhich );
609 
610  static ScUnitConverter* GetUnitConverter();
611 
613  static const sal_Unicode* UnicodeStrChr( const sal_Unicode* pStr, sal_Unicode c );
614 
616  { return ( c >= 'a' && c <= 'z' ) ? ( c-'a'+'A' ) : c; }
617 
624  SC_DLLPUBLIC static OUString addToken(
625  std::u16string_view rTokenList, std::u16string_view rToken,
626  sal_Unicode cSep, sal_Int32 nSepCount = 1,
627  bool bForceSep = false );
628 
630  SC_DLLPUBLIC static bool IsQuoted( const OUString& rString, sal_Unicode cQuote );
631 
636  SC_DLLPUBLIC static void AddQuotes( OUString& rString, sal_Unicode cQuote, bool bEscapeEmbedded = true );
637 
643  SC_DLLPUBLIC static void EraseQuotes( OUString& rString, sal_Unicode cQuote, bool bUnescapeEmbedded = true );
644 
653  SC_DLLPUBLIC static sal_Int32 FindUnquoted( const OUString& rString, sal_Unicode cChar, sal_Int32 nStart = 0 );
654 
659  SC_DLLPUBLIC static const sal_Unicode* FindUnquoted( const sal_Unicode* pString, sal_Unicode cChar );
660 
661  static rtl_TextEncoding GetCharsetValue( std::u16string_view rCharSet );
662  static OUString GetCharsetString( rtl_TextEncoding eVal );
663 
665  static SvNumberFormatter* GetEnglishFormatter();
666 
667  static bool IsSystemRTL(); // depending on system language
668  static LanguageType GetEditDefaultLanguage(); // for EditEngine::SetDefaultLanguage
669  SC_DLLPUBLIC static SvtScriptType GetDefaultScriptType(); // for all WEAK characters
673  SC_DLLPUBLIC static sal_uInt16 GetScriptedWhichID( SvtScriptType nScriptType, sal_uInt16 nWhich );
674 
677  SC_DLLPUBLIC static void AddLanguage( SfxItemSet& rSet, const SvNumberFormatter& rFormatter );
678 
680  static OUString GetOrdinalSuffix( sal_Int32 nNumber);
681 
684  static ScFieldEditEngine& GetStaticFieldEditEngine();
685 
686  static sc::SharedStringPoolPurge& GetSharedStringPoolPurge();
687 
697  SC_DLLPUBLIC static OUString ReplaceOrAppend( const OUString& rString,
698  std::u16string_view rPlaceholder,
699  const OUString& rReplacement );
700 
701 
807  static double ConvertStringToValue( const OUString& rStr, const ScCalcConfig& rConfig,
808  FormulaError & rError, FormulaError nStringNoValueError,
809  SvNumberFormatter* pFormatter, SvNumFormatType & rCurFmtType );
810 
813 };
814 
815 // maybe move to dbdata.hxx (?):
816 
818  {
835  };
836 
838  {
841  };
842 
844  {
859  };
860 
862  {
882  };
883 
884 class ScArea;
885 
887 {
888  SCCOL nCol; // cursor position /
889  SCROW nRow; // or start of destination area respectively
892  sal_uInt16 nDataAreaCount; // number of data areas
893  std::unique_ptr<ScArea[]> pDataAreas; // array of pointers into data areas
894  bool bByCol;
895  bool bByRow;
896  bool bReferenceData; // reference source data
897 
901 
902  ScConsolidateParam& operator= ( const ScConsolidateParam& r );
903  bool operator== ( const ScConsolidateParam& r ) const;
904  void Clear (); // = ClearDataAreas()+Members
905  void ClearDataAreas ();
906  void SetAreas ( std::unique_ptr<ScArea[]> pAreas, sal_uInt16 nCount );
907 };
908 
910 extern sal_uInt16 nScClickMouseModifier;
911 extern sal_uInt16 nScFillModeMouseModifier;
912 
913 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
constexpr sal_Int32 STD_COL_WIDTH
Definition: global.hxx:86
If set, cloned formula cells will start to listen to the document.
bool operator==(const XclFontData &rLeft, const XclFontData &rRight)
Definition: xlstyle.cxx:519
List of spreadsheet functions.
Definition: funcdesc.hxx:241
constexpr sal_Int32 STD_EXTRA_WIDTH
Definition: global.hxx:87
If set, global named expressions will be converted to sheet-local named expressions.
static std::atomic< CollatorWrapper * > pCaseCollator
Definition: global.hxx:516
static SC_DLLPUBLIC bool bThreadedGroupCalcInProgress
Calc's threaded group calculation is in progress.
Definition: global.hxx:812
Collection of user-defined sort lists.
Definition: userlist.hxx:66
STRING
ScAggregateFunc
Definition: global.hxx:861
void Init()
HasAttrFlags
Definition: global.hxx:183
constexpr OUStringLiteral STRING_SCAPP
Definition: global.hxx:57
constexpr auto toTwips(N number, Length from)
Sparklines in a cell.
const sal_Unicode CHAR_ZWSP
Definition: global.hxx:68
ScCloneFlags
Definition: global.hxx:249
OUString aDBName
Definition: global.hxx:444
FillDir
Definition: global.hxx:306
Hard cell attributes.
const sal_Unicode CHAR_NNBSP
Definition: global.hxx:73
static std::unique_ptr< ScFunctionMgr > xStarCalcFunctionMgr
Definition: global.hxx:508
static std::unique_ptr< ScUserList > xUserList
Definition: global.hxx:502
static std::atomic< css::lang::Locale * > pLocale
Definition: global.hxx:520
ScScenarioFlags
Definition: global.hxx:224
long Long
const sal_Unicode CHAR_WJ
Definition: global.hxx:72
static std::unique_ptr< ScFieldEditEngine > xFieldEditEngine
Definition: global.hxx:522
constexpr Point convert(const Point &rPoint, o3tl::Length eFrom, o3tl::Length eTo)
don't create
Definition: global.hxx:384
Reference
static std::atomic<::utl::TransliterationWrapper * > pCaseTransliteration
Definition: global.hxx:519
If set, absolute refs will not transformed to external references.
static std::unique_ptr< SvNumberFormatter > xEnglishFormatter
Definition: global.hxx:512
sal_uInt16 nDataAreaCount
Definition: global.hxx:892
constexpr SdrLayerID SC_LAYER_BACK(1)
static std::optional< SvtSysLocale > oSysLocale
Definition: global.hxx:529
constexpr OUStringLiteral STRING_STANDARD
Definition: global.hxx:59
create "Importx" (if necessary)
Definition: global.hxx:383
std::unique_ptr< ScArea[]> pDataAreas
Definition: global.hxx:893
constexpr sal_Int32 MAX_EXTRA_HEIGHT
Definition: global.hxx:90
SCROW nRow2
Definition: global.hxx:442
Stores spreadsheet functions in categories, including a cumulative ('All') category and makes them ac...
Definition: funcdesc.hxx:305
Unknown
static std::atomic< sc::SharedStringPoolPurge * > pSharedStringPoolPurge
Definition: global.hxx:524
ScGetDBMode
Definition: global.hxx:379
Internal use only (d&d undo): do not delete caption objects of cell notes.
DelCellCmd
Definition: global.hxx:278
Value
Shrink selection to actually used data area within the selection.
SvtScriptType
SubtotalFlags
Definition: global.hxx:238
constexpr OUStringLiteral SC_TEXT_CSV_FILTER_NAME
Definition: global.hxx:62
Keep selection as is, expand to used data area if no selection.
sal_uInt16 sal_Unicode
static std::atomic< ScUnitConverter * > pUnitConverter
Definition: global.hxx:510
size_t SCSIZE
size_t typedef to be able to find places where code was changed from USHORT to size_t and is used to ...
Definition: address.hxx:44
static std::atomic< LegacyFuncCollection * > pLegacyFuncCollection
Definition: global.hxx:500
static std::unique_ptr< ScFunctionList > xStarCalcFunctionList
Definition: global.hxx:507
static std::atomic< CollatorWrapper * > pCollator
Definition: global.hxx:517
ScLkUpdMode
Definition: global.hxx:407
FillDateCmd
Definition: global.hxx:331
ScDBObject
Definition: global.hxx:416
SCCOL nCol2
Definition: global.hxx:441
ScLinkMode
Definition: global.hxx:213
Copy flags for auto/series fill functions: do not touch notes and drawing objects.
If only one row or portion thereof is selected, shrink row to used data columns and select further ro...
SCROW nRow1
Definition: global.hxx:440
sal_uInt16 nScClickMouseModifier
Definition: global.cxx:116
Internal use only (copy from clip): do not delete existing cell contents when pasting notes...
const sal_Unicode CHAR_SHY
Definition: global.hxx:67
create "untitled" (if necessary)
Definition: global.hxx:381
Point Rotate(const Point &rPoint, Degree10 nOrientation, const Point &rOrigin)
constexpr sal_Int32 MAX_COL_WIDTH
Definition: global.hxx:91
constexpr sal_Int32 MAX_EXTRA_WIDTH
Definition: global.hxx:89
static SC_DLLPUBLIC sal_uInt16 nStdRowHeight
Definition: global.hxx:581
ScPasteFunc
Definition: global.hxx:179
ScAnchorType
Definition: global.hxx:371
OUString aStatement
Definition: global.hxx:445
FillCmd
Definition: global.hxx:314
const sal_Unicode CHAR_RLM
Definition: global.hxx:70
static std::optional< CalendarWrapper > oCalendar
Definition: global.hxx:515
ScMoveDirection
Definition: global.hxx:323
constexpr auto TWIPS_PER_CHAR
Definition: global.hxx:84
sal_Int16 SCCOL
Definition: types.hxx:21
InsertDeleteFlags
Definition: global.hxx:147
static tools::SvRef< ScDocShell > xDrawClipDocShellRef
Definition: global.hxx:578
static SC_DLLPUBLIC double nScreenPPTY
Vertical pixel per twips factor.
Definition: global.hxx:576
CAUTION! The following defines must be in the same namespace as the respective type.
sal_uInt16 nScFillModeMouseModifier
Definition: global.cxx:117
::tools::Long nLastColWidthExtra
Definition: global.hxx:584
const sal_Unicode CHAR_NBSP
Definition: global.hxx:66
bool bNative
Definition: global.hxx:446
float u
exports com.sun.star. i18n
SvNumFormatType
static SC_DLLPUBLIC LanguageType eLnge
Definition: global.hxx:545
const sal_Unicode CHAR_NBHY
Definition: global.hxx:71
void Clear(EHistoryType eHistory)
constexpr sal_Int32 MAX_ROW_HEIGHT
Definition: global.hxx:92
ScSizeMode
Definition: global.hxx:348
FormulaError
NORMAL
static std::unique_ptr< ScAutoFormat > xAutoFormat
Definition: global.hxx:499
constexpr::tools::Long TwipsToEvenHMM(::tools::Long nTwips)
Definition: global.hxx:99
Internal use only (undo etc.): do not copy/delete caption objects of cell notes.
Configuration options for formula interpreter.
Definition: calcconfig.hxx:43
ScBreakType
Definition: global.hxx:138
static SvxBrushItem * GetEmptyBrushItem()
Definition: global.hxx:591
UpdateRefMode
Definition: global.hxx:298
CRFlags
Definition: global.hxx:124
const sal_Unicode CHAR_LRM
Definition: global.hxx:69
Behave as if the range corresponding to a ScDBData area was selected, for API use.
sal_Int32 SCROW
Definition: types.hxx:17
PyRef getCharClass(const Runtime &)
ColRowEditAction
Definition: global.hxx:424
ScGetDBSelection
For ScDBFunc::GetDBData()
Definition: global.hxx:388
SfxViewShell * pScActiveViewShell
Definition: global.cxx:115
SUB
constexpr SdrLayerID SC_LAYER_HIDDEN(4)
static sal_uInt16 nDefFontHeight
Definition: global.hxx:580
sal_uInt8 nType
Definition: global.hxx:448
static sal_Unicode ToUpperAlpha(sal_Unicode c)
Definition: global.hxx:615
unsigned char sal_uInt8
static std::unique_ptr< SvxSearchItem > xSearchItem
Definition: global.hxx:498
CellType
Definition: global.hxx:269
constexpr SdrLayerID SC_LAYER_FRONT(0)
ScSubTotalFunc eFunction
Definition: global.hxx:891
InsCellCmd
Definition: global.hxx:287
constexpr SdrLayerID SC_LAYER_INTERN(2)
QPRO_FUNC_TYPE nType
Definition: qproform.cxx:398
static SC_DLLPUBLIC double nScreenPPTX
Horizontal pixel per twips factor.
Definition: global.hxx:574
force use of sheet-local instead of document global anonymous range
Definition: global.hxx:382
bool bImport
Definition: global.hxx:443
ScQueryOp
Definition: global.hxx:817
SCCOL nCol1
Definition: global.hxx:439
ScEnterMode
Definition: global.hxx:217
static std::unique_ptr< SvxBrushItem > xEmptyBrushItem
Definition: global.hxx:504
ScVObjMode
Definition: global.hxx:365
ScDirection
Definition: global.hxx:340
static std::atomic<::utl::TransliterationWrapper * > pTransliteration
Definition: global.hxx:518
static std::atomic< ScUnoAddInCollection * > pAddInCollection
Definition: global.hxx:501
ScSubTotalFunc
Definition: global.hxx:843
static std::unique_ptr< SvxBrushItem > xButtonBrushItem
Definition: global.hxx:505
static SC_DLLPUBLIC::tools::Long nLastRowHeightExtra
Definition: global.hxx:583
PaintPartFlags
Definition: global.hxx:108
ScInputMode
Definition: global.hxx:357
constexpr SdrLayerID SC_LAYER_CONTROLS(3)
#define SC_DLLPUBLIC
Definition: scdllapi.h:27
sal_Int16 SCTAB
Definition: types.hxx:22
static css::uno::Reference< css::i18n::XOrdinalSuffix > xOrdinalSuffix
Definition: global.hxx:514
const SCSIZE MAXSUBTOTAL
Definition: global.hxx:81
ScQueryConnect
Definition: global.hxx:837
Sheet / outlining (grouping) information.
static OUString aStrClipDocName
Definition: global.hxx:503