summaryrefslogtreecommitdiffstats
path: root/tdecachegrind/tdecachegrind/configuration.h
diff options
context:
space:
mode:
Diffstat (limited to 'tdecachegrind/tdecachegrind/configuration.h')
-rw-r--r--tdecachegrind/tdecachegrind/configuration.h101
1 files changed, 101 insertions, 0 deletions
diff --git a/tdecachegrind/tdecachegrind/configuration.h b/tdecachegrind/tdecachegrind/configuration.h
new file mode 100644
index 00000000..478f6176
--- /dev/null
+++ b/tdecachegrind/tdecachegrind/configuration.h
@@ -0,0 +1,101 @@
+/* This file is part of KCachegrind.
+ Copyright (C) 2002, 2003 Josef Weidendorfer <Josef.Weidendorfer@gmx.de>
+
+ KCachegrind is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public
+ License as published by the Free Software Foundation, version 2.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; see the file COPYING. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+/*
+ * Configuration for KCachegrind
+ */
+
+#ifndef CONFIGURATION_H
+#define CONFIGURATION_H
+
+#include <tqcolor.h>
+#include <tqstringlist.h>
+#include <tqdict.h>
+
+#include "tracedata.h"
+
+class KConfig;
+
+class Configuration
+{
+ friend class ConfigDlg;
+
+public:
+ Configuration();
+
+ static Configuration* config();
+
+ static void saveOptions(KConfig*);
+ static void readOptions(KConfig*);
+
+ // color for visualisation of an object
+ static TQColor functionColor(TraceItem::CostType gt, TraceFunction*);
+ static TQColor groupColor(TraceItem*);
+ static TQColor costTypeColor(TraceCostType*);
+ static TQStringList sourceDirs(TraceData*, TraceObject* o = 0);
+ static bool showPercentage();
+ static bool showExpanded();
+ static bool showCycles();
+
+ // lower percentage limit of cost items filled into lists
+ static int percentPrecision();
+ // max symbol lengths/count in tooltip/popup
+ static int maxSymbolLength();
+ // strip a symbol name according to <maxSymbolLength>
+ static TQString shortenSymbol(TQString);
+ static int maxSymbolCount();
+ // max. number of items in lists
+ static int maxListCount();
+
+ // how many lines of context to show before/after annotated source/assembler
+ static int context();
+ // how many lines without cost are still regarded as inside a function
+ static int noCostInside();
+
+ static void setShowPercentage(bool);
+ static void setShowExpanded(bool);
+
+ static void setShowCycles(bool);
+ // upper limit for cutting of a call in cycle detection
+ static double cycleCut();
+
+private:
+ struct ColorSetting {
+ TQString name;
+ TQColor color;
+ bool automatic;
+ };
+
+ static ColorSetting* color(TQString, bool createNew = true);
+
+ TQDict<ColorSetting> _colors;
+
+ TQStringList _generalSourceDirs;
+ TQDict<TQStringList> _objectSourceDirs;
+
+ bool _showPercentage, _showExpanded, _showCycles;
+ double _cycleCut;
+ int _percentPrecision;
+ int _maxSymbolLength, _maxSymbolCount, _maxListCount;
+ int _context, _noCostInside;
+
+ static Configuration* _config;
+};
+
+
+#endif