Przeglądaj źródła

Added place to store the text on labels

Yentl Van Tendeloo 8 lat temu
rodzic
commit
9f6558cd64
1 zmienionych plików z 12 dodań i 0 usunięć
  1. 12 0
      interface/FSA/main.py

+ 12 - 0
interface/FSA/main.py

@@ -21,6 +21,7 @@ address = "http://127.0.0.1:8001"
 username = "test"
 
 root = Tk()
+names = {}
 event_entry = StringVar()
 
 canvas = Canvas(root, width=MAX_WIDTH, height=MAX_HEIGHT, bg="white")
@@ -187,6 +188,9 @@ class InterfaceCore():
         for i in self.refs[lname]:
             canvas.delete(i)
         del self.refs[lname]
+        if lname in names:
+            self.canvas.delete(names[lname])
+            del names[lname]
         self.drawn = set([e for e in self.drawn if e[4] != lname])
 
     def clicked(self, event):
@@ -212,6 +216,14 @@ class InterfaceCore():
                     print("Got unknown type: " + str(t))
                 self.mv.set_attribute(lname, attr, new_value)
 
+                if attr == "name":
+                    if lname in names:
+                        self.canvas.delete(names[lname])
+                        del names[lname]
+                    entry = [x for x in self.drawn if x[4] == lname]
+                    xc, xy = avg(entry[0], entry[2]), avg(entry[1], entry[3])
+                    names[lname] = self.canvas.create_text(xc, xy, text=new_value)
+
         else:
             global name
             x = event.x