File indexing completed on 2024-05-19 15:27:49

0001 /* This file is part of KGraphViewer.
0002    Copyright (C) 2005-2007 Gael de Chalendar <kleag@free.fr>
0003 
0004    KGraphViewer is free software; you can redistribute it and/or
0005    modify it under the terms of the GNU General Public
0006    License as published by the Free Software Foundation, version 2.
0007 
0008    This program is distributed in the hope that it will be useful,
0009    but WITHOUT ANY WARRANTY; without even the implied warranty of
0010    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
0011    General Public License for more details.
0012 
0013    You should have received a copy of the GNU General Public License
0014    along with this program; if not, write to the Free Software
0015    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
0016    02110-1301, USA
0017 */
0018 
0019 /* This file was callgraphview.h, part of KCachegrind.
0020    Copyright (C) 2003 Josef Weidendorfer <Josef.Weidendorfer@gmx.de>
0021 
0022    KCachegrind is free software; you can redistribute it and/or
0023    modify it under the terms of the GNU General Public
0024    License as published by the Free Software Foundation, version 2.
0025 */
0026 
0027 /*
0028  * Graph Exporter
0029  */
0030 
0031 #ifndef GRAPH_EXPORTER_H
0032 #define GRAPH_EXPORTER_H
0033 
0034 #include <QString>
0035 
0036 #include <graphviz/gvc.h>
0037 
0038 namespace KGraphViewer
0039 {
0040 class DotGraph;
0041 
0042 /**
0043  * GraphExporter
0044  *
0045  * Generates a graph file for "dot"
0046  */
0047 class GraphExporter
0048 {
0049 public:
0050     GraphExporter();
0051     ~GraphExporter();
0052 
0053     QString writeDot(const DotGraph *graph, const QString &fileName = QString());
0054     graph_t *exportToGraphviz(const DotGraph *graph);
0055 };
0056 
0057 }
0058 
0059 #endif