[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