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