ソースを参照

after coping a shape , it addes it to the list

Hussein 13 年 前
コミット
f31efaac1a
3 ファイル変更13 行追加7 行削除
  1. 4 1
      canvas.py
  2. 7 5
      labelme.py
  3. 2 1
      shape.py

+ 4 - 1
canvas.py

@@ -33,7 +33,8 @@ class Canvas(QWidget):
         # Set widget options.
         self.setMouseTracking(True)
         self.setFocusPolicy(Qt.WheelFocus)
-
+        
+    
     def editing(self):
         return self.mode == self.EDIT
 
@@ -122,6 +123,7 @@ class Canvas(QWidget):
             # with shapes created the normal way.
             self.current.addPoint(self.current[0])
             self.finalise(ev)
+       
         
 
     def selectShape(self, point):
@@ -299,6 +301,7 @@ class Canvas(QWidget):
             self.shapes[-1].selected=True
             self.selectedShape=self.shapes[-1]
             self.repaint()
+            return self.selectedShape.label
             
     def deleteLastShape(self):
         assert self.shapes

+ 7 - 5
labelme.py

@@ -114,9 +114,9 @@ class MainWindow(QMainWindow, WindowMixin):
         # Popup Menu
         self.popMenu = QMenu(self )
         self.popMenu.addAction( label )
-        self.popMenu.addAction( delete )
         self.popMenu.addAction(copy)
-        
+        self.popMenu.addAction( delete )
+
         labels = self.dock.toggleViewAction()
         labels.setShortcut('Ctrl+L')
 
@@ -183,7 +183,7 @@ class MainWindow(QMainWindow, WindowMixin):
         
 
     def on_context_menu(self, point):
-         self.popMenu.exec_( self.canvas.mapToGlobal(point) )
+         self.popMenu.exec_( self.canvas.mapToGlobal(point))
          
     def addLabel(self, label, shape):
         item = QListWidgetItem(label)
@@ -191,8 +191,10 @@ class MainWindow(QMainWindow, WindowMixin):
         self.labelList.addItem(item)
         
     def copySelectedShape(self):
-        print "copy me"
-        self.canvas.copySelectedShape()
+        #shape=self.canvas.selectedShape()
+        label="copy"
+        label=self.canvas.copySelectedShape()
+        self.addLabel(label,self.canvas.shapes[-1])
         
     def highlightLabel(self, item):
         if self.highlighted:

+ 2 - 1
shape.py

@@ -29,7 +29,8 @@ class Shape(object):
             # with an object attribute. Currently this
             # is used for drawing the pending line a different color.
             self.line_color = line_color
-
+   
+        
     def addPoint(self, point):
         self.points.append(point)