[kgraphviewer-devel] extragear/graphics/kgraphviewer/src/part
Sandro Andrade
sandro.andrade at gmail.com
Sat Jun 5 05:39:10 CEST 2010
SVN commit 1134721 by sandroandrade:
Reverting slotLoatLibrary (graph_t *) implementation.
M +64 -0 dotgraphview.cpp
M +1 -0 dotgraphview.h
M +9 -0 kgraphviewer_part.cpp
M +2 -0 kgraphviewer_part.h
--- trunk/extragear/graphics/kgraphviewer/src/part/dotgraphview.cpp #1134720:1134721
@@ -232,6 +232,70 @@
return true;
}
+bool DotGraphView::slotLoadLibrary(graph_t* graph)
+{
+ kDebug() << "graph_t";
+ m_birdEyeView->setScene(0);
+
+ if (m_canvas)
+ {
+ m_canvas->deleteLater();
+ m_canvas = 0;
+ }
+
+ QString layoutCommand = (m_graph!=0?m_graph->layoutCommand():"");
+ if (m_graph != 0)
+ delete m_graph;
+
+ if (layoutCommand.isEmpty())
+ layoutCommand = "dot";
+
+ kDebug() << "layoutCommand:" << layoutCommand;
+ m_graph = new DotGraph(layoutCommand,"");
+ m_graph->setUseLibrary(true);
+
+ connect(m_graph,SIGNAL(readyToDisplay()),this,SLOT(displayGraph()));
+ connect(this, SIGNAL(removeEdge(const QString&)), m_graph, SLOT(removeEdge(const QString&)));
+ connect(this, SIGNAL(removeNodeNamed(const QString&)), m_graph, SLOT(removeNodeNamed(const QString&)));
+ connect(this, SIGNAL(removeElement(const QString&)), m_graph, SLOT(removeElement(const QString&)));
+
+ if (m_readWrite)
+ {
+ m_graph->setReadWrite();
+ }
+
+ if (layoutCommand.isEmpty())
+ {
+ layoutCommand = m_graph->chooseLayoutProgramForFile(m_graph->dotFileName());
+ }
+ m_graph->layoutCommand(layoutCommand);
+
+ GVC_t* gvc = gvContext();
+ gvLayout(gvc, graph, layoutCommand.toUtf8().data());
+ gvRender (gvc, graph, "xdot", NULL);
+
+ m_xMargin = 50;
+ m_yMargin = 50;
+
+ QGraphicsScene* newCanvas = new QGraphicsScene();
+ kDebug() << "Created canvas " << newCanvas;
+
+ m_birdEyeView->setScene(newCanvas);
+ // std::cerr << "After m_birdEyeView set canvas" << std::endl;
+
+ setScene(newCanvas);
+ connect(newCanvas,SIGNAL(selectionChanged ()),this,SLOT(slotSelectionChanged()));
+ m_canvas = newCanvas;
+
+ m_cvZoom = 0;
+
+ m_graph->updateWithGraph(graph);
+
+ gvFreeLayout(gvc, graph);
+ gvFreeContext(gvc);
+ return true;
+}
+
bool DotGraphView::loadDot(const QString& dotFileName)
{
kDebug() << "'" << dotFileName << "'";
--- trunk/extragear/graphics/kgraphviewer/src/part/dotgraphview.h #1134720:1134721
@@ -188,6 +188,7 @@
void zoomRectMovedTo(QPointF newZoomPos);
void zoomRectMoveFinished();
bool initEmpty();
+ bool slotLoadLibrary(graph_t* graph);
bool reload();
void dirty(const QString& dotFileName);
void pageSetup();
--- trunk/extragear/graphics/kgraphviewer/src/part/kgraphviewer_part.cpp #1134720:1134721
@@ -176,6 +176,15 @@
return d->m_widget->initEmpty();
}
+bool KGraphViewerPart::slotLoadLibrary(graph_t* graph)
+{
+ kDebug();
+ bool res = d->m_widget->slotLoadLibrary(graph);
+ if (res)
+ d->m_widget->show();
+ return res;
+}
+
KGraphViewerPart::~KGraphViewerPart()
{
delete d;
--- trunk/extragear/graphics/kgraphviewer/src/part/kgraphviewer_part.h #1134720:1134721
@@ -22,6 +22,7 @@
#include <kparts/part.h>
#include <kparts/genericfactory.h>
+#include <graphviz/gvc.h>
#include "kgraphviewer_interface.h"
class KComponentData;
@@ -131,6 +132,7 @@
void slotSetCursor(const QCursor& cursor);
void slotUnsetCursor();
virtual bool closeUrl();
+ bool slotLoadLibrary(graph_t* graph);
void slotSetLayoutMethod(LayoutMethod method);
void slotRenameNode(const QString& oldNodeName, const QString& newNodeName);
More information about the kgraphviewer-devel
mailing list