LibreOffice Module sc (master) 1
xltracer.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 <vector>
24
25// As Trace features become implemented, we can safely delete the enum entry as
26// we use the member mnID to keep track of the actual trace tag ID value.
28{
47};
48
50class XclTracer final
51{
52public:
53 explicit XclTracer( std::u16string_view rDocUrl );
54 ~XclTracer();
55
57 bool IsEnabled() const { return mbEnabled; }
58
60 void ProcessTraceOnce(XclTracerId eProblem);
61
62 void TraceInvalidAddress(const ScAddress& rPos, const ScAddress& rMaxPos);
63 void TraceInvalidRow( sal_uInt32 nRow, sal_uInt32 nMaxrow );
64 void TraceInvalidTab( SCTAB nTab, SCTAB nMaxTab);
65 void TracePrintRange();
66 void TraceDates(sal_uInt16 nNumFmt);
67 void TraceBorderLineStyle(bool bBorderLineStyle);
68 void TraceFillPattern(bool bFillPattern);
70 void TracePivotDataSource(bool bExternal);
78 void TraceDVType(bool bType);
79
80private:
83 std::vector<bool> maFirstTimes;
84};
85
86/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
This class wraps an MSFilterTracer to create trace logs for import/export filters.
Definition: xltracer.hxx:51
void TracePrintRange()
Definition: xltracer.cxx:59
void TraceChartOnlySheet()
Definition: xltracer.cxx:100
void TraceFormulaMissingArg()
Definition: xltracer.cxx:80
void TraceChartLegendPosition()
Definition: xltracer.cxx:108
void TraceUnsupportedObjects()
Definition: xltracer.cxx:115
bool mbEnabled
Definition: xltracer.hxx:81
void TraceInvalidTab(SCTAB nTab, SCTAB nMaxTab)
Definition: xltracer.cxx:53
void TraceObjectNotPrintable()
Definition: xltracer.cxx:121
void TraceDVType(bool bType)
Definition: xltracer.cxx:123
void TraceChartDataTable()
Definition: xltracer.cxx:102
void TraceInvalidAddress(const ScAddress &rPos, const ScAddress &rMaxPos)
Definition: xltracer.cxx:41
bool IsEnabled() const
Returns true, if tracing is enabled.
Definition: xltracer.hxx:57
void TraceFillPattern(bool bFillPattern)
Definition: xltracer.cxx:74
void TraceChartUnKnownType()
Definition: xltracer.cxx:98
void TracePivotDataSource(bool bExternal)
Definition: xltracer.cxx:86
void TracePivotChartExists()
Definition: xltracer.cxx:92
void TraceDates(sal_uInt16 nNumFmt)
Definition: xltracer.cxx:61
~XclTracer()
Definition: xltracer.cxx:31
XclTracer(std::u16string_view rDocUrl)
Definition: xltracer.cxx:25
void ProcessTraceOnce(XclTracerId eProblem)
Ensure that particular traces are logged once per document.
Definition: xltracer.cxx:33
void TraceBorderLineStyle(bool bBorderLineStyle)
Definition: xltracer.cxx:68
std::vector< bool > maFirstTimes
array of flags corresponding to each entry in the XclTracerDetails table.
Definition: xltracer.hxx:83
void TraceInvalidRow(sal_uInt32 nRow, sal_uInt32 nMaxrow)
Definition: xltracer.cxx:47
sal_Int16 SCTAB
Definition: types.hxx:22
XclTracerId
Definition: xltracer.hxx:28
@ eUnsupportedObject
Definition: xltracer.hxx:43
@ eChartDataTable
Definition: xltracer.hxx:41
@ eDVType
Definition: xltracer.hxx:45
@ eBorderLineStyle
Definition: xltracer.hxx:34
@ eChartUnKnownType
Definition: xltracer.hxx:39
@ eChartLegendPosition
Definition: xltracer.hxx:42
@ eUnKnown
Definition: xltracer.hxx:29
@ eTraceLength
this should always be the final entry
Definition: xltracer.hxx:46
@ eFormulaMissingArg
Definition: xltracer.hxx:36
@ eChartOnlySheet
Definition: xltracer.hxx:40
@ ePrintRange
Definition: xltracer.hxx:32
@ eRowLimitExceeded
unused but allows us to set the correct index
Definition: xltracer.hxx:30
@ eObjectNotPrintable
Definition: xltracer.hxx:44
@ ePivotDataSource
Definition: xltracer.hxx:37
@ eTabLimitExceeded
Definition: xltracer.hxx:31
@ eShortDate
Definition: xltracer.hxx:33
@ ePivotChartExists
Definition: xltracer.hxx:38
@ eFillPattern
Definition: xltracer.hxx:35