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( const OUString& rDocUrl )
29  : mbEnabled(false)
30  , maFirstTimes(eTraceLength,true)
31 {
32  Sequence< PropertyValue > aConfigData( 1 );
33  aConfigData[ 0 ].Name = "DocumentURL";
34  aConfigData[ 0 ].Value <<= rDocUrl;
35 }
36 
38 {
39 }
40 
42 {
43  if( mbEnabled && maFirstTimes[eProblem])
44  {
45  maFirstTimes[eProblem] = false;
46  }
47 }
48 
49 void XclTracer::TraceInvalidAddress( const ScAddress& rPos, const ScAddress& rMaxPos )
50 {
51  TraceInvalidRow(rPos.Row(), rMaxPos.Row());
52  TraceInvalidTab(rPos.Tab(), rMaxPos.Tab());
53 }
54 
55 void XclTracer::TraceInvalidRow( sal_uInt32 nRow, sal_uInt32 nMaxRow )
56 {
57  if(nRow > nMaxRow)
59 }
60 
61 void XclTracer::TraceInvalidTab( SCTAB nTab, SCTAB nMaxTab )
62 {
63  if(nTab > nMaxTab)
65 }
66 
68 {
70 }
71 
72 void XclTracer::TraceDates( sal_uInt16 nNumFmt)
73 {
74  // Short Date = 14 and Short Date+Time = 22
75  if(nNumFmt == 14 || nNumFmt == 22)
77 }
78 
79 void XclTracer::TraceBorderLineStyle( bool bBorderLineStyle)
80 {
81  if(bBorderLineStyle)
83 }
84 
85 void XclTracer::TraceFillPattern( bool bFillPattern)
86 {
87  if(bFillPattern)
89 }
90 
92 {
93  // missing parameter in Formula record
95 }
96 
97 void XclTracer::TracePivotDataSource( bool bExternal)
98 {
99  if(bExternal)
101 }
102 
104 {
105  // Pivot Charts not currently displayed.
107 }
108 
110 {
112 }
113 
115 {
117 }
118 
120 {
121  // Data table is not supported.
123 }
124 
126 {
127  // If position is set to "not docked or inside the plot area" then
128  // we cannot guarantee the legend position.
130 }
131 
133 {
134  // Called from Excel 5.0 - limited Graphical object support.
136 }
137 
139 {
141 }
142 
143 void XclTracer::TraceDVType( bool bType)
144 {
145  // Custom types work if 'Data->validity dialog' is not OKed.
146  if(bType)
148 }
149 
150 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
void TraceBorderLineStyle(bool bBorderLineStyle)
Definition: xltracer.cxx:79
SCROW Row() const
Definition: address.hxx:262
void TraceFillPattern(bool bFillPattern)
Definition: xltracer.cxx:85
XclTracer(const OUString &rDocUrl)
Definition: xltracer.cxx:28
unused but allows us to set the correct index
Definition: xltracer.hxx:31
~XclTracer()
Definition: xltracer.cxx:37
void TracePivotDataSource(bool bExternal)
Definition: xltracer.cxx:97
void TraceChartLegendPosition()
Definition: xltracer.cxx:125
void TraceDVType(bool bType)
Definition: xltracer.cxx:143
std::vector< bool > maFirstTimes
array of flags corresponding to each entry in the XclTracerDetails table.
Definition: xltracer.hxx:84
XclTracerId
Definition: xltracer.hxx:28
void TracePivotChartExists()
Definition: xltracer.cxx:103
void TraceObjectNotPrintable()
Definition: xltracer.cxx:138
SCTAB Tab() const
Definition: address.hxx:271
void TraceInvalidRow(sal_uInt32 nRow, sal_uInt32 nMaxrow)
Definition: xltracer.cxx:55
void TraceInvalidTab(SCTAB nTab, SCTAB nMaxTab)
Definition: xltracer.cxx:61
void TraceFormulaMissingArg()
Definition: xltracer.cxx:91
bool mbEnabled
Definition: xltracer.hxx:82
void TraceChartOnlySheet()
Definition: xltracer.cxx:114
void ProcessTraceOnce(XclTracerId eProblem)
Ensure that particular traces are logged once per document.
Definition: xltracer.cxx:41
this should always be the final entry
Definition: xltracer.hxx:47
void TraceChartDataTable()
Definition: xltracer.cxx:119
void TraceChartUnKnownType()
Definition: xltracer.cxx:109
void TraceInvalidAddress(const ScAddress &rPos, const ScAddress &rMaxPos)
Definition: xltracer.cxx:49
void TracePrintRange()
Definition: xltracer.cxx:67
void TraceUnsupportedObjects()
Definition: xltracer.cxx:132
void TraceDates(sal_uInt16 nNumFmt)
Definition: xltracer.cxx:72
sal_Int16 SCTAB
Definition: types.hxx:23