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 #ifndef INCLUDED_SC_INC_GLOBAL_HXX
21 #define INCLUDED_SC_INC_GLOBAL_HXX
22 
23 #include "address.hxx"
24 #include <i18nlangtag/lang.h>
25 #include <svx/svdtypes.hxx>
26 #include <tools/ref.hxx>
27 #include <sal/types.h>
28 #include <com/sun/star/i18n/CollatorOptions.hpp>
29 #include "scdllapi.h"
30 #include <rtl/ustring.hxx>
31 #include <tools/long.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 <string_view>
40 
41 namespace com::sun::star::uno { template <typename > class Reference; }
42 
43 class SfxItemSet;
44 class SfxViewShell;
45 struct ScCalcConfig;
46 enum class SvtScriptType;
47 enum class FormulaError : sal_uInt16;
48 enum class SvNumFormatType : sal_Int16;
49 
50 #define SC_COLLATOR_IGNORES css::i18n::CollatorOptions::CollatorOptions_IGNORE_CASE
51 
52 // Calc has lots of names...
53 // Clipboard names are in so3/soapp.hxx now
54 // STRING_SCAPP was "scalc3", "scalc4", now just "scalc"
55 
56 #define STRING_SCAPP "scalc"
57 
58 #define STRING_STANDARD "Standard"
59 
60 // Have the dreaded programmatic filter name defined in one place.
61 #define SC_TEXT_CSV_FILTER_NAME "Text - txt - csv (StarCalc)"
62 
63 // characters
64 
65 const sal_Unicode CHAR_NBSP = 0x00A0;
66 const sal_Unicode CHAR_SHY = 0x00AD;
67 const sal_Unicode CHAR_ZWSP = 0x200B;
68 const sal_Unicode CHAR_LRM = 0x200E;
69 const sal_Unicode CHAR_RLM = 0x200F;
70 const sal_Unicode CHAR_NBHY = 0x2011;
71 const sal_Unicode CHAR_ZWNBSP = 0x2060;
72 const sal_Unicode CHAR_NNBSP = 0x202F; //NARROW NO-BREAK SPACE
73 
74 #define MINDOUBLE 1.7e-307
75 #define MAXDOUBLE 1.7e307
76 
77 #define MINZOOM 20
78 #define MAXZOOM 400
79 
80 const SCSIZE MAXSUBTOTAL = 3;
81 
82 #define PIXEL_PER_INCH 96.0
83 #define CM_PER_INCH 2.54
84 #define POINTS_PER_INCH 72.0
85 #define PIXEL_PER_POINT (PIXEL_PER_INCH / POINTS_PER_INCH)
86 #define TWIPS_PER_POINT 20.0
87 #define TWIPS_PER_INCH (TWIPS_PER_POINT * POINTS_PER_INCH)
88 #define TWIPS_PER_CM (TWIPS_PER_INCH / CM_PER_INCH)
89 #define CM_PER_TWIPS (CM_PER_INCH / TWIPS_PER_INCH)
90 #define TWIPS_PER_PIXEL (TWIPS_PER_INCH / PIXEL_PER_INCH)
91 #define TWIPS_PER_CHAR (TWIPS_PER_INCH / 13.6)
92 #define PIXEL_PER_TWIPS (PIXEL_PER_INCH / TWIPS_PER_INCH)
93 #define HMM_PER_TWIPS (CM_PER_TWIPS * 1000.0)
94 
95 #define STD_COL_WIDTH 1280 /* 2.2577cm, 64.00pt PS */
96 #define STD_EXTRA_WIDTH 113 /* 2mm extra for optimal width,
97  * 0.1986cm with TeX points,
98  * 0.1993cm with PS points. */
99 
100 #define MAX_EXTRA_WIDTH 23811 /* 42cm in TWIPS, 41.8430cm TeX, 41.9999cm PS */
101 #define MAX_EXTRA_HEIGHT 23811
102 #define MAX_COL_WIDTH 56693 /* 1m in TWIPS, 99.6266cm TeX, 100.0001cm PS */
103 #define MAX_ROW_HEIGHT 56693
104 
105  /* standard row height: text + margin - STD_ROWHEIGHT_DIFF */
106 #define STD_ROWHEIGHT_DIFF 23
107 
108 namespace sc
109 {
110  inline ::tools::Long TwipsToHMM( ::tools::Long nTwips ) { return (nTwips * 127 + 36) / 72; }
111  inline ::tools::Long HMMToTwips( ::tools::Long nHMM ) { return (nHMM * 72 + 63) / 127; }
112  inline ::tools::Long TwipsToEvenHMM( ::tools::Long nTwips ) { return ( (nTwips * 127 + 72) / 144 ) * 2; }
113 }
114 
115  // standard size as OLE server (cells)
116 #define OLE_STD_CELLS_X 4
117 #define OLE_STD_CELLS_Y 5
118 
119 
120  // repaint flags (for messages)
121 enum class PaintPartFlags {
122  NONE = 0x00,
123  Grid = 0x01,
124  Top = 0x02,
125  Left = 0x04,
126  Extras = 0x08,
127  Marks = 0x10,
128  Objects = 0x20,
129  Size = 0x40,
130  All = Grid | Top | Left | Extras | Objects | Size,
131 };
132 namespace o3tl {
133  template<> struct typed_flags<PaintPartFlags> : is_typed_flags<PaintPartFlags, 0x07f> {};
134 }
135 
136  // flags for columns / rows
137 enum class CRFlags : sal_uInt8 {
138  // Filtered always together with Hidden
139  // Filtered and ManualSize only valid for rows
140  NONE = 0x00,
141  Hidden = 0x01,
142  ManualBreak = 0x02,
143  Filtered = 0x04,
144  ManualSize = 0x08,
146 };
147 namespace o3tl {
148  template<> struct typed_flags<CRFlags> : is_typed_flags<CRFlags, 0x0f> {};
149 }
150 
151 enum class ScBreakType {
152  NONE = 0x00,
153  Page = 0x01,
154  Manual = 0x02
155 };
156 namespace o3tl {
157  template<> struct typed_flags<ScBreakType> : is_typed_flags<ScBreakType, 0x03> {};
158 }
159 
160 enum class InsertDeleteFlags : sal_uInt16
161 {
162  NONE = 0x0000,
163  VALUE = 0x0001,
164  DATETIME = 0x0002,
165  STRING = 0x0004,
166  NOTE = 0x0008,
167  FORMULA = 0x0010,
168  HARDATTR = 0x0020,
169  STYLES = 0x0040,
170  OBJECTS = 0x0080,
171  EDITATTR = 0x0100,
172  OUTLINE = 0x0800,
173  NOCAPTIONS = 0x0200,
174  ADDNOTES = 0x0400,
175  SPECIAL_BOOLEAN = 0x1000,
176  FORGETCAPTIONS = 0x2000,
177  ATTRIB = HARDATTR | STYLES,
179  ALL = CONTENTS | ATTRIB | OBJECTS,
181  AUTOFILL = ALL & ~(NOTE | OBJECTS)
182 };
183 namespace o3tl
184 {
185  template<> struct typed_flags<InsertDeleteFlags> : is_typed_flags<InsertDeleteFlags, 0x3fff> {};
186 }
187 // This doesn't work at the moment, perhaps when we have constexpr we can modify InsertDeleteFlags to make it work.
188 //static_assert((InsertDeleteFlags::ATTRIB & InsertDeleteFlags::CONTENTS) == InsertDeleteFlags::NONE, "these must match");
189 
190 
191 enum class ScPasteFunc {
192  NONE, ADD, SUB, MUL, DIV
193 };
194  // bits for HasAttr
195 enum class HasAttrFlags {
196  NONE = 0x0000,
197  Lines = 0x0001,
198  Merged = 0x0002,
199  Overlapped = 0x0004,
200  Protected = 0x0008,
201  Shadow = 0x0010,
202  NeedHeight = 0x0020,
203  ShadowRight = 0x0040,
204  ShadowDown = 0x0080,
205  AutoFilter = 0x0100,
206  Conditional = 0x0200,
207  Rotate = 0x0400,
208  NotOverlapped = 0x0800,
209  RightOrCenter = 0x1000, // right or centered logical alignment
210 };
211 namespace o3tl {
212  template<> struct typed_flags<HasAttrFlags> : is_typed_flags<HasAttrFlags, 0x1fff> {};
213 }
214 
215 
216 #define EMPTY_OUSTRING ScGlobal::GetEmptyOUString()
217 
218 // Layer id's for drawing.
219 // These are both id's and positions.
220 constexpr SdrLayerID SC_LAYER_FRONT (0);
221 constexpr SdrLayerID SC_LAYER_BACK (1);
222 constexpr SdrLayerID SC_LAYER_INTERN (2);
223 constexpr SdrLayerID SC_LAYER_CONTROLS(3);
224 constexpr SdrLayerID SC_LAYER_HIDDEN (4);
225 
226 // link tables
227 enum class ScLinkMode {
228  NONE, NORMAL, VALUE
229 };
230  // input
231 enum class ScEnterMode {
233 };
234 
235  // step = 10pt, max. indention = 100 steps
236 #define SC_INDENT_STEP 200
237 
238 enum class ScScenarioFlags{ // scenario flags
239  NONE = 0,
240  CopyAll = 1,
241  ShowFrame = 2,
242  PrintFrame = 4,
243  TwoWay = 8,
244  Attrib = 16,
245  Value = 32,
246  Protected = 64
247 };
248 namespace o3tl {
249  template<> struct typed_flags<ScScenarioFlags> : is_typed_flags<ScScenarioFlags, 127> {};
250 }
251 
252 enum class SubtotalFlags {
253  NONE = 0x00,
254  IgnoreNestedStAg = 0x08,
255  IgnoreErrVal = 0x04,
256  IgnoreHidden = 0x02,
257  IgnoreFiltered = 0x01
258 };
259 namespace o3tl {
260  template<> struct typed_flags<SubtotalFlags> : is_typed_flags<SubtotalFlags, 0x0f> {};
261 }
262 
263 enum class ScCloneFlags{
266  Default = 0x0000,
267 
269  StartListening = 0x0001,
270 
272  NoMakeAbsExternal = 0x0002,
273 
276  NamesToLocal = 0x0004
277 };
278 namespace o3tl
279 {
280  template<> struct typed_flags<ScCloneFlags> : is_typed_flags<ScCloneFlags, 0x0007> {};
281 }
282 
284  {
290  };
291 
292 enum class DelCellCmd
293  {
294  CellsUp,
295  CellsLeft,
296  Rows,
297  Cols,
298  NONE
299  };
300 
302  {
310  };
311 
313  {
318  };
319 
321  {
326  };
327 
329  {
335  };
336 
338 {
343 };
344 
346  {
351  };
352 
354  {
359  };
360 
362  {
363  SC_SIZE_DIRECT, // set size or hide if value is 0
364  SC_SIZE_OPTIMAL, // set optimal size for everything
365  SC_SIZE_SHOW, // show with original size
366  SC_SIZE_VISOPT, // set optimal size only if visible
367  SC_SIZE_ORIGINAL // only set size, don't change visible flag
368  };
369 
371  {
373  SC_INPUT_TYPE, // input, while not in inplace mode
374  SC_INPUT_TABLE, // text cursor in the table
375  SC_INPUT_TOP // text cursor in the input line
376  };
377 
378 enum ScVObjMode // output modes of objects on a page
379 {
382 };
383 
384 enum ScAnchorType // anchor of a character object
385 {
386  SCA_CELL, // anchor to cell, move with cell
387  SCA_CELL_RESIZE, // anchor to cell, move and resize with cell
388  SCA_PAGE, // anchor to page, independent of any cells
389  SCA_DONTKNOW // for multi selection
390 };
391 
393 {
398 };
399 
402 {
404  Keep,
405 
408 
413  RowDown,
414 
417  ForceMark
418 };
419 
420 enum ScLkUpdMode // modes for updating links
421 {
426 };
427 
428 // enum with values equal to old DBObject enum from sdb
430 {
433 };
434 
435 namespace sc {
436 
438 {
439  Unknown,
445  DeleteRows
446 };
447 
448 }
449 
451 {
456  bool bImport;
457  OUString aDBName; // alias of data base
458  OUString aStatement;
459  bool bNative;
460  bool bSql; // statement or name?
461  sal_uInt8 nType; // enum DBObject
462 
463  ScImportParam();
464  ScImportParam( const ScImportParam& r );
465  ~ScImportParam();
466 
467  ScImportParam& operator= ( const ScImportParam& r );
468  bool operator== ( const ScImportParam& r ) const;
469 };
470 
471 class ScDocShell;
472 class SvxSearchItem;
473 class ScAutoFormat;
476 class ScUserList;
477 class SvxBrushItem;
478 class ScFunctionList;
479 class ScFunctionMgr;
480 class SfxItemPool;
481 class EditTextObject;
482 class SfxObjectShell;
483 class SvNumberFormatter;
484 class ScUnitConverter;
485 class CharClass;
486 class LocaleDataWrapper;
487 class SvtSysLocale;
488 class CalendarWrapper;
489 class CollatorWrapper;
490 class IntlWrapper;
491 class ScFieldEditEngine;
492 
493 namespace com::sun::star {
494  namespace lang {
495  struct Locale;
496  }
497  namespace i18n {
498  class XOrdinalSuffix;
499  }
500 }
501 namespace utl {
502  class TransliterationWrapper;
503 }
504 
505 class ScGlobal
506 {
507  static std::unique_ptr<SvxSearchItem> xSearchItem;
508  static std::unique_ptr<ScAutoFormat> xAutoFormat;
509  static std::atomic<LegacyFuncCollection*> pLegacyFuncCollection;
510  static std::atomic<ScUnoAddInCollection*> pAddInCollection;
511  static std::unique_ptr<ScUserList> xUserList;
512  static SC_DLLPUBLIC const OUString aEmptyOUString;
513  static OUString aStrClipDocName;
514  static std::unique_ptr<SvxBrushItem> xEmptyBrushItem;
515  static std::unique_ptr<SvxBrushItem> xButtonBrushItem;
516 
517  static std::unique_ptr<ScFunctionList> xStarCalcFunctionList;
518  static std::unique_ptr<ScFunctionMgr> xStarCalcFunctionMgr;
519 
520  static std::atomic<ScUnitConverter*> pUnitConverter;
521 
522  static std::unique_ptr<SvNumberFormatter> xEnglishFormatter; // for UNO / XML export
523 
524  static css::uno::Reference< css::i18n::XOrdinalSuffix> xOrdinalSuffix;
525  static std::unique_ptr<CalendarWrapper> xCalendar;
526  static std::atomic<CollatorWrapper*> pCaseCollator;
527  static std::atomic<CollatorWrapper*> pCollator;
528  static std::atomic<::utl::TransliterationWrapper*> pTransliteration;
529  static std::atomic<::utl::TransliterationWrapper*> pCaseTransliteration;
530  static std::atomic<css::lang::Locale*> pLocale;
531 
532  static std::unique_ptr<ScFieldEditEngine> xFieldEditEngine;
533 
534  static void InitPPT();
535 
536 public:
537  static std::unique_ptr<SvtSysLocale> xSysLocale;
538  SC_DLLPUBLIC static const LocaleDataWrapper* getLocaleDataPtr();
539  SC_DLLPUBLIC static const CharClass* getCharClassPtr();
540 
541  static CalendarWrapper* GetCalendar();
542  SC_DLLPUBLIC static CollatorWrapper* GetCollator();
543  static CollatorWrapper* GetCaseCollator();
544  static css::lang::Locale* GetLocale();
545 
546  SC_DLLPUBLIC static ::utl::TransliterationWrapper* GetpTransliteration();
547  static ::utl::TransliterationWrapper* GetCaseTransliteration();
548 
550  static constexpr sal_Unicode cListDelimiter = ',';
551 
552  static const OUString& GetClipDocName();
553  static void SetClipDocName( const OUString& rNew );
554  SC_DLLPUBLIC static const SvxSearchItem& GetSearchItem();
555  SC_DLLPUBLIC static void SetSearchItem( const SvxSearchItem& rNew );
556  SC_DLLPUBLIC static ScAutoFormat* GetAutoFormat();
557  SC_DLLPUBLIC static ScAutoFormat* GetOrCreateAutoFormat();
558  static void ClearAutoFormat(); //BugId 54209
559  static LegacyFuncCollection* GetLegacyFuncCollection();
560  SC_DLLPUBLIC static ScUnoAddInCollection* GetAddInCollection();
561  SC_DLLPUBLIC static ScUserList* GetUserList();
562  static void SetUserList( const ScUserList* pNewList );
567  static void OpenURL(const OUString& rURL, const OUString& rTarget, bool bIgnoreSettings = false);
569  static bool ShouldOpenURL();
570  SC_DLLPUBLIC static OUString GetAbsDocName( const OUString& rFileName,
571  const SfxObjectShell* pShell );
572  SC_DLLPUBLIC static OUString GetDocTabName( std::u16string_view rFileName,
573  std::u16string_view rTabName );
574  SC_DLLPUBLIC static sal_uInt32 GetStandardFormat( SvNumberFormatter&, sal_uInt32 nFormat, SvNumFormatType nType );
575 
576  SC_DLLPUBLIC static sal_uInt16 GetStandardRowHeight();
578  SC_DLLPUBLIC static double nScreenPPTX;
580  SC_DLLPUBLIC static double nScreenPPTY;
581 
583 
584  static sal_uInt16 nDefFontHeight;
585  SC_DLLPUBLIC static sal_uInt16 nStdRowHeight;
586 
587  SC_DLLPUBLIC static ::tools::Long nLastRowHeightExtra;
588  static ::tools::Long nLastColWidthExtra;
589 
590  SC_DLLPUBLIC static void Init(); // during start up
591  static void InitAddIns();
592  SC_DLLPUBLIC static void Clear(); // at the end of the program
593 
594  static void InitTextHeight(const SfxItemPool* pPool);
595  static SvxBrushItem* GetEmptyBrushItem() { return xEmptyBrushItem.get(); }
596  static SvxBrushItem* GetButtonBrushItem();
597  static const OUString& GetEmptyOUString() { return aEmptyOUString; }
598 
599  static bool HasStarCalcFunctionList();
600  static ScFunctionList* GetStarCalcFunctionList();
601  static ScFunctionMgr* GetStarCalcFunctionMgr();
602  static void ResetFunctionList();
603 
604  static OUString GetErrorString(FormulaError nErrNumber);
605  static OUString GetLongErrorString(FormulaError nErrNumber);
606  static bool EETextObjEqual( const EditTextObject* pObj1,
607  const EditTextObject* pObj2 );
608  static bool CheckWidthInvalidate( bool& bNumFormatChanged,
609  const SfxItemSet& rNewAttrs,
610  const SfxItemSet& rOldAttrs );
611  static bool HasAttrChanged( const SfxItemSet& rNewAttrs,
612  const SfxItemSet& rOldAttrs,
613  const sal_uInt16 nWhich );
614 
615  static ScUnitConverter* GetUnitConverter();
616 
618  static const sal_Unicode* UnicodeStrChr( const sal_Unicode* pStr, sal_Unicode c );
619 
621  { return ( c >= 'a' && c <= 'z' ) ? ( c-'a'+'A' ) : c; }
622 
629  SC_DLLPUBLIC static OUString addToken(
630  const OUString& rTokenList, const OUString& rToken,
631  sal_Unicode cSep, sal_Int32 nSepCount = 1,
632  bool bForceSep = false );
633 
635  SC_DLLPUBLIC static bool IsQuoted( const OUString& rString, sal_Unicode cQuote );
636 
641  SC_DLLPUBLIC static void AddQuotes( OUString& rString, sal_Unicode cQuote, bool bEscapeEmbedded = true );
642 
648  SC_DLLPUBLIC static void EraseQuotes( OUString& rString, sal_Unicode cQuote, bool bUnescapeEmbedded = true );
649 
658  SC_DLLPUBLIC static sal_Int32 FindUnquoted( const OUString& rString, sal_Unicode cChar, sal_Int32 nStart = 0 );
659 
664  SC_DLLPUBLIC static const sal_Unicode* FindUnquoted( const sal_Unicode* pString, sal_Unicode cChar );
665 
666  static rtl_TextEncoding GetCharsetValue( const OUString& rCharSet );
667  static OUString GetCharsetString( rtl_TextEncoding eVal );
668 
670  static SvNumberFormatter* GetEnglishFormatter();
671 
672  static bool IsSystemRTL(); // depending on system language
673  static LanguageType GetEditDefaultLanguage(); // for EditEngine::SetDefaultLanguage
674  SC_DLLPUBLIC static SvtScriptType GetDefaultScriptType(); // for all WEAK characters
678  SC_DLLPUBLIC static sal_uInt16 GetScriptedWhichID( SvtScriptType nScriptType, sal_uInt16 nWhich );
679 
682  SC_DLLPUBLIC static void AddLanguage( SfxItemSet& rSet, const SvNumberFormatter& rFormatter );
683 
685  static OUString GetOrdinalSuffix( sal_Int32 nNumber);
686 
689  static ScFieldEditEngine& GetStaticFieldEditEngine();
690 
700  SC_DLLPUBLIC static OUString ReplaceOrAppend( const OUString& rString,
701  std::u16string_view rPlaceholder,
702  const OUString& rReplacement );
703 
704 
810  static double ConvertStringToValue( const OUString& rStr, const ScCalcConfig& rConfig,
811  FormulaError & rError, FormulaError nStringNoValueError,
812  SvNumberFormatter* pFormatter, SvNumFormatType & rCurFmtType );
813 
816 };
817 
818 // maybe move to dbdata.hxx (?):
819 
821  {
838  };
839 
841  {
844  };
845 
847  {
862  };
863 
865  {
885  };
886 
887 class ScArea;
888 
890 {
891  SCCOL nCol; // cursor position /
892  SCROW nRow; // or start of destination area respectively
895  sal_uInt16 nDataAreaCount; // number of data areas
896  std::unique_ptr<ScArea[]> pDataAreas; // array of pointers into data areas
897  bool bByCol;
898  bool bByRow;
899  bool bReferenceData; // reference source data
900 
904 
905  ScConsolidateParam& operator= ( const ScConsolidateParam& r );
906  bool operator== ( const ScConsolidateParam& r ) const;
907  void Clear (); // = ClearDataAreas()+Members
908  void ClearDataAreas ();
909  void SetAreas ( std::unique_ptr<ScArea[]> pAreas, sal_uInt16 nCount );
910 };
911 
913 extern sal_uInt16 nScClickMouseModifier;
914 extern sal_uInt16 nScFillModeMouseModifier;
915 
916 #endif
917 
918 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
If set, cloned formula cells will start to listen to the document.
bool operator==(const XclFontData &rLeft, const XclFontData &rRight)
Definition: xlstyle.cxx:517
List of spreadsheet functions.
Definition: funcdesc.hxx:242
If set, global named expressions will be converted to sheet-local named expressions.
static std::atomic< CollatorWrapper * > pCaseCollator
Definition: global.hxx:526
static SC_DLLPUBLIC bool bThreadedGroupCalcInProgress
Calc's threaded group calculation is in progress.
Definition: global.hxx:815
Collection of user-defined sort lists.
Definition: userlist.hxx:67
STRING
ScAggregateFunc
Definition: global.hxx:864
void Init()
HasAttrFlags
Definition: global.hxx:195
Sheet / outlining (grouping) information.
const sal_Unicode CHAR_ZWSP
Definition: global.hxx:67
ScCloneFlags
Definition: global.hxx:263
OUString aDBName
Definition: global.hxx:457
FillDir
Definition: global.hxx:320
Hard cell attributes.
const sal_Unicode CHAR_NNBSP
Definition: global.hxx:72
static std::unique_ptr< ScFunctionMgr > xStarCalcFunctionMgr
Definition: global.hxx:518
static std::unique_ptr< ScUserList > xUserList
Definition: global.hxx:511
const sal_Unicode CHAR_ZWNBSP
Definition: global.hxx:71
static std::atomic< css::lang::Locale * > pLocale
Definition: global.hxx:530
ScScenarioFlags
Definition: global.hxx:238
long Long
static std::unique_ptr< ScFieldEditEngine > xFieldEditEngine
Definition: global.hxx:532
don't create
Definition: global.hxx:397
Reference
static std::atomic<::utl::TransliterationWrapper * > pCaseTransliteration
Definition: global.hxx:529
If set, absolute refs will not transformed to external references.
static std::unique_ptr< SvNumberFormatter > xEnglishFormatter
Definition: global.hxx:522
sal_uInt16 nDataAreaCount
Definition: global.hxx:895
constexpr SdrLayerID SC_LAYER_BACK(1)
create "Importx" (if necessary)
Definition: global.hxx:396
std::unique_ptr< ScArea[]> pDataAreas
Definition: global.hxx:896
SCROW nRow2
Definition: global.hxx:455
Stores spreadsheet functions in categories, including a cumulative ('All') category and makes them ac...
Definition: funcdesc.hxx:306
Unknown
ScGetDBMode
Definition: global.hxx:392
Internal use only (d&d undo): do not delete caption objects of cell notes.
DelCellCmd
Definition: global.hxx:292
Value
Shrink selection to actually used data area within the selection.
SubtotalFlags
Definition: global.hxx:252
Keep selection as is, expand to used data area if no selection.
sal_uInt16 sal_Unicode
static std::atomic< ScUnitConverter * > pUnitConverter
Definition: global.hxx:520
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:45
static std::atomic< LegacyFuncCollection * > pLegacyFuncCollection
Definition: global.hxx:509
static std::unique_ptr< ScFunctionList > xStarCalcFunctionList
Definition: global.hxx:517
static std::atomic< CollatorWrapper * > pCollator
Definition: global.hxx:527
ScLkUpdMode
Definition: global.hxx:420
FillDateCmd
Definition: global.hxx:345
ScDBObject
Definition: global.hxx:429
SCCOL nCol2
Definition: global.hxx:454
ScLinkMode
Definition: global.hxx:227
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:453
sal_uInt16 nScClickMouseModifier
Definition: global.cxx:111
Internal use only (copy from clip): do not delete existing cell contents when pasting notes...
const sal_Unicode CHAR_SHY
Definition: global.hxx:66
create "untitled" (if necessary)
Definition: global.hxx:394
Point Rotate(const Point &rPoint, Degree10 nOrientation, const Point &rOrigin)
static SC_DLLPUBLIC sal_uInt16 nStdRowHeight
Definition: global.hxx:585
ScPasteFunc
Definition: global.hxx:191
ScAnchorType
Definition: global.hxx:384
OUString aStatement
Definition: global.hxx:458
SvtScriptType
FillCmd
Definition: global.hxx:328
const sal_Unicode CHAR_RLM
Definition: global.hxx:69
ScMoveDirection
Definition: global.hxx:337
sal_Int16 SCCOL
Definition: types.hxx:22
InsertDeleteFlags
Definition: global.hxx:160
static tools::SvRef< ScDocShell > xDrawClipDocShellRef
Definition: global.hxx:582
static SC_DLLPUBLIC double nScreenPPTY
Vertical pixel per twips factor.
Definition: global.hxx:580
sal_uInt16 nScFillModeMouseModifier
Definition: global.cxx:112
::tools::Long nLastColWidthExtra
Definition: global.hxx:588
static std::unique_ptr< CalendarWrapper > xCalendar
Definition: global.hxx:525
const sal_Unicode CHAR_NBSP
Definition: global.hxx:65
bool bNative
Definition: global.hxx:459
exports com.sun.star. i18n
static const OUString & GetEmptyOUString()
Definition: global.hxx:597
SvNumFormatType
inline::tools::Long HMMToTwips(::tools::Long nHMM)
Definition: global.hxx:111
static SC_DLLPUBLIC LanguageType eLnge
Definition: global.hxx:549
const sal_Unicode CHAR_NBHY
Definition: global.hxx:70
ScSizeMode
Definition: global.hxx:361
FormulaError
NORMAL
static std::unique_ptr< ScAutoFormat > xAutoFormat
Definition: global.hxx:508
Internal use only (undo etc.): do not copy/delete caption objects of cell notes.
Configuration options for formula interpreter.
Definition: calcconfig.hxx:44
ScBreakType
Definition: global.hxx:151
static SvxBrushItem * GetEmptyBrushItem()
Definition: global.hxx:595
static std::unique_ptr< SvtSysLocale > xSysLocale
Definition: global.hxx:537
UpdateRefMode
Definition: global.hxx:312
CRFlags
Definition: global.hxx:137
const sal_Unicode CHAR_LRM
Definition: global.hxx:68
Behave as if the range corresponding to a ScDBData area was selected, for API use.
sal_Int32 SCROW
Definition: types.hxx:18
ColRowEditAction
Definition: global.hxx:437
ScGetDBSelection
For ScDBFunc::GetDBData()
Definition: global.hxx:401
SfxViewShell * pScActiveViewShell
Definition: global.cxx:110
constexpr SdrLayerID SC_LAYER_HIDDEN(4)
static sal_uInt16 nDefFontHeight
Definition: global.hxx:584
sal_uInt8 nType
Definition: global.hxx:461
static sal_Unicode ToUpperAlpha(sal_Unicode c)
Definition: global.hxx:620
unsigned char sal_uInt8
static std::unique_ptr< SvxSearchItem > xSearchItem
Definition: global.hxx:507
CellType
Definition: global.hxx:283
constexpr SdrLayerID SC_LAYER_FRONT(0)
inline::tools::Long TwipsToHMM(::tools::Long nTwips)
Definition: global.hxx:110
ScSubTotalFunc eFunction
Definition: global.hxx:894
InsCellCmd
Definition: global.hxx:301
constexpr SdrLayerID SC_LAYER_INTERN(2)
QPRO_FUNC_TYPE nType
Definition: qproform.cxx:400
static SC_DLLPUBLIC double nScreenPPTX
Horizontal pixel per twips factor.
Definition: global.hxx:578
force use of sheet-local instead of document global anonymous range
Definition: global.hxx:395
bool bImport
Definition: global.hxx:456
ScQueryOp
Definition: global.hxx:820
inline::tools::Long TwipsToEvenHMM(::tools::Long nTwips)
Definition: global.hxx:112
SCCOL nCol1
Definition: global.hxx:452
ScEnterMode
Definition: global.hxx:231
static std::unique_ptr< SvxBrushItem > xEmptyBrushItem
Definition: global.hxx:514
static SC_DLLPUBLIC const OUString aEmptyOUString
Definition: global.hxx:512
ScVObjMode
Definition: global.hxx:378
ScDirection
Definition: global.hxx:353
static std::atomic<::utl::TransliterationWrapper * > pTransliteration
Definition: global.hxx:528
static std::atomic< ScUnoAddInCollection * > pAddInCollection
Definition: global.hxx:510
ScSubTotalFunc
Definition: global.hxx:846
static std::unique_ptr< SvxBrushItem > xButtonBrushItem
Definition: global.hxx:515
static SC_DLLPUBLIC::tools::Long nLastRowHeightExtra
Definition: global.hxx:587
PaintPartFlags
Definition: global.hxx:121
ScInputMode
Definition: global.hxx:370
constexpr SdrLayerID SC_LAYER_CONTROLS(3)
#define SC_DLLPUBLIC
Definition: scdllapi.h:28
sal_Int16 SCTAB
Definition: types.hxx:23
static css::uno::Reference< css::i18n::XOrdinalSuffix > xOrdinalSuffix
Definition: global.hxx:524
const SCSIZE MAXSUBTOTAL
Definition: global.hxx:80
ScQueryConnect
Definition: global.hxx:840
static OUString aStrClipDocName
Definition: global.hxx:513