LibreOffice Module sc (master)  1
xltracer.cxx
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 #include <xltracer.hxx>
21 #include <com/sun/star/beans/PropertyValue.hpp>
22 #include <com/sun/star/uno/Sequence.hxx>
23 #include <address.hxx>
24 
25 using ::com::sun::star::uno::Sequence;
26 using ::com::sun::star::beans::PropertyValue;
27 
28 XclTracer::XclTracer(std::u16string_view /*rDocUrl*/)
29  : mbEnabled(false)
30  , maFirstTimes(eTraceLength, true)
31 {
32 }
33 
35 
37 {
38  if (mbEnabled && maFirstTimes[eProblem])
39  {
40  maFirstTimes[eProblem] = false;
41  }
42 }
43 
44 void XclTracer::TraceInvalidAddress(const ScAddress& rPos, const ScAddress& rMaxPos)
45 {
46  TraceInvalidRow(rPos.Row(), rMaxPos.Row());
47  TraceInvalidTab(rPos.Tab(), rMaxPos.Tab());
48 }
49 
50 void XclTracer::TraceInvalidRow(sal_uInt32 nRow, sal_uInt32 nMaxRow)
51 {
52  if (nRow > nMaxRow)
54 }
55 
57 {
58  if (nTab > nMaxTab)
60 }
61 
63 
64 void XclTracer::TraceDates(sal_uInt16 nNumFmt)
65 {
66  // Short Date = 14 and Short Date+Time = 22
67  if (nNumFmt == 14 || nNumFmt == 22)
69 }
70 
71 void XclTracer::TraceBorderLineStyle(bool bBorderLineStyle)
72 {
73  if (bBorderLineStyle)
75 }
76 
77 void XclTracer::TraceFillPattern(bool bFillPattern)
78 {
79  if (bFillPattern)
81 }
82 
84 {
85  // missing parameter in Formula record
87 }
88 
89 void XclTracer::TracePivotDataSource(bool bExternal)
90 {
91  if (bExternal)
93 }
94 
96 {
97  // Pivot Charts not currently displayed.
99 }
100 
102 
104 
106 {
107  // Data table is not supported.
109 }
110 
112 {
113  // If position is set to "not docked or inside the plot area" then
114  // we cannot guarantee the legend position.
116 }
117 
119 {
120  // Called from Excel 5.0 - limited Graphical object support.
122 }
123 
125 
126 void XclTracer::TraceDVType(bool bType)
127 {
128  // Custom types work if 'Data->validity dialog' is not OKed.
129  if (bType)
131 }
132 
133 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
void TraceBorderLineStyle(bool bBorderLineStyle)
Definition: xltracer.cxx:71
SCROW Row() const
Definition: address.hxx:274
void TraceFillPattern(bool bFillPattern)
Definition: xltracer.cxx:77
unused but allows us to set the correct index
Definition: xltracer.hxx:30
XclTracer(std::u16string_view rDocUrl)
Definition: xltracer.cxx:28
~XclTracer()
Definition: xltracer.cxx:34
void TracePivotDataSource(bool bExternal)
Definition: xltracer.cxx:89
void TraceChartLegendPosition()
Definition: xltracer.cxx:111
void TraceDVType(bool bType)
Definition: xltracer.cxx:126
std::vector< bool > maFirstTimes
array of flags corresponding to each entry in the XclTracerDetails table.
Definition: xltracer.hxx:83
XclTracerId
Definition: xltracer.hxx:27
void TracePivotChartExists()
Definition: xltracer.cxx:95
void TraceObjectNotPrintable()
Definition: xltracer.cxx:124
SCTAB Tab() const
Definition: address.hxx:283
void TraceInvalidRow(sal_uInt32 nRow, sal_uInt32 nMaxrow)
Definition: xltracer.cxx:50
void TraceInvalidTab(SCTAB nTab, SCTAB nMaxTab)
Definition: xltracer.cxx:56
void TraceFormulaMissingArg()
Definition: xltracer.cxx:83
bool mbEnabled
Definition: xltracer.hxx:81
void TraceChartOnlySheet()
Definition: xltracer.cxx:103
void ProcessTraceOnce(XclTracerId eProblem)
Ensure that particular traces are logged once per document.
Definition: xltracer.cxx:36
this should always be the final entry
Definition: xltracer.hxx:46
void TraceChartDataTable()
Definition: xltracer.cxx:105
void TraceChartUnKnownType()
Definition: xltracer.cxx:101
void TraceInvalidAddress(const ScAddress &rPos, const ScAddress &rMaxPos)
Definition: xltracer.cxx:44
void TracePrintRange()
Definition: xltracer.cxx:62
void TraceUnsupportedObjects()
Definition: xltracer.cxx:118
void TraceDates(sal_uInt16 nNumFmt)
Definition: xltracer.cxx:64
sal_Int16 SCTAB
Definition: types.hxx:22
bool m_bDetectedRangeSegmentation false