瀏覽代碼

wxGUI/modeler: close loop

git-svn-id: https://svn.osgeo.org/grass/grass/trunk@42696 15284696-431f-4ddb-bdfa-cd5b030d7da7
Martin Landa 15 年之前
父節點
當前提交
9d1a68cf36
共有 1 個文件被更改,包括 13 次插入2 次删除
  1. 13 2
      gui/wxpython/gui_modules/gmodeler.py

+ 13 - 2
gui/wxpython/gui_modules/gmodeler.py

@@ -1353,9 +1353,20 @@ if __name__ == "__main__":
         
         
         # close loop
         # close loop
         rel = ModelRelation(action, loop)
         rel = ModelRelation(action, loop)
-        print action.GetPosition()
         self.AddLine(rel)
         self.AddLine(rel)
-        
+        dx = loop.GetWidth() / 2 + 50
+        dy = action.GetHeight() / 2 + 50
+        rel.MakeLineControlPoints(0)
+        rel.InsertLineControlPoint(point = wx.RealPoint(loop.GetX() - loop.GetWidth() / 2,
+                                                        loop.GetY()))
+        rel.InsertLineControlPoint(point = wx.RealPoint(action.GetX(),
+                                                        action.GetY() + action.GetHeight() / 2))
+        rel.InsertLineControlPoint(point = wx.RealPoint(action.GetX(),
+                                                        action.GetY() + dy))
+        rel.InsertLineControlPoint(point = wx.RealPoint(action.GetX() - dx,
+                                                        action.GetY() + dy))
+        rel.InsertLineControlPoint(point = wx.RealPoint(action.GetX() - dx,
+                                                        loop.GetY()))
         self.canvas.Refresh()
         self.canvas.Refresh()
         
         
 class ModelCanvas(ogl.ShapeCanvas):
 class ModelCanvas(ogl.ShapeCanvas):