Преглед изворни кода

Merged in marius_stanciu/flatcam_mpl/auto_select_line_entry_content (pull request #86)

Auto select line entry content
Marius Stanciu пре 7 година
родитељ
комит
9b519798f8
2 измењених фајлова са 69 додато и 3 уклоњено
  1. 9 3
      FlatCAMDraw.py
  2. 60 0
      GUIElements.py

+ 9 - 3
FlatCAMDraw.py

@@ -28,6 +28,8 @@ from numpy.linalg import solve
 
 from rtree import index as rtindex
 
+from GUIElements import FCEntry
+
 
 class BufferSelectionTool(FlatCAMTool):
     """
@@ -717,19 +719,23 @@ class FlatCAMDraw(QtCore.QObject):
         self.delete_btn = self.drawing_toolbar.addAction(QtGui.QIcon('share/deleteshape32.png'), "Delete Shape '-'")
 
         ### Snap Toolbar ###
+
         self.snap_toolbar = QtGui.QToolBar("Grid Toolbar")
         self.grid_snap_btn = self.snap_toolbar.addAction(QtGui.QIcon('share/grid32.png'), 'Snap to grid')
-        self.grid_gap_x_entry = QtGui.QLineEdit()
+        self.grid_gap_x_entry = FCEntry()
+
         self.grid_gap_x_entry.setMaximumWidth(70)
         self.grid_gap_x_entry.setToolTip("Grid X distance")
         self.snap_toolbar.addWidget(self.grid_gap_x_entry)
-        self.grid_gap_y_entry = QtGui.QLineEdit()
+        self.grid_gap_y_entry = FCEntry()
         self.grid_gap_y_entry.setMaximumWidth(70)
         self.grid_gap_y_entry.setToolTip("Grid Y distante")
         self.snap_toolbar.addWidget(self.grid_gap_y_entry)
 
+
         self.corner_snap_btn = self.snap_toolbar.addAction(QtGui.QIcon('share/corner32.png'), 'Snap to corner')
-        self.snap_max_dist_entry = QtGui.QLineEdit()
+        self.snap_max_dist_entry = FCEntry()
+
         self.snap_max_dist_entry.setMaximumWidth(70)
         self.snap_max_dist_entry.setToolTip("Max. magnet distance")
         self.snap_toolbar.addWidget(self.snap_max_dist_entry)

+ 60 - 0
GUIElements.py

@@ -77,6 +77,18 @@ class LengthEntry(QtGui.QLineEdit):
             'MM': {'IN': 25.4,
                    'MM': 1.0}
         }
+        self.readyToEdit = True
+
+    def mousePressEvent(self, e, Parent=None):
+        super(LengthEntry, self).mousePressEvent(e)  # required to deselect on 2e click
+        if self.readyToEdit:
+            self.selectAll()
+            self.readyToEdit = False
+
+    def focusOutEvent(self, e):
+        super(LengthEntry, self).focusOutEvent(e)  # required to remove cursor on focusOut
+        self.deselect()
+        self.readyToEdit = True
 
     def returnPressed(self, *args, **kwargs):
         val = self.get_value()
@@ -111,6 +123,18 @@ class LengthEntry(QtGui.QLineEdit):
 class FloatEntry(QtGui.QLineEdit):
     def __init__(self, parent=None):
         super(FloatEntry, self).__init__(parent)
+        self.readyToEdit = True
+
+    def mousePressEvent(self, e, Parent=None):
+        super(FloatEntry, self).mousePressEvent(e)  # required to deselect on 2e click
+        if self.readyToEdit:
+            self.selectAll()
+            self.readyToEdit = False
+
+    def focusOutEvent(self, e):
+        super(FloatEntry, self).focusOutEvent(e)  # required to remove cursor on focusOut
+        self.deselect()
+        self.readyToEdit = True
 
     def returnPressed(self, *args, **kwargs):
         val = self.get_value()
@@ -139,6 +163,18 @@ class IntEntry(QtGui.QLineEdit):
         super(IntEntry, self).__init__(parent)
         self.allow_empty = allow_empty
         self.empty_val = empty_val
+        self.readyToEdit = True
+
+    def mousePressEvent(self, e, Parent=None):
+        super(IntEntry, self).mousePressEvent(e)  # required to deselect on 2e click
+        if self.readyToEdit:
+            self.selectAll()
+            self.readyToEdit = False
+
+    def focusOutEvent(self, e):
+        super(IntEntry, self).focusOutEvent(e)  # required to remove cursor on focusOut
+        self.deselect()
+        self.readyToEdit = True
 
     def get_value(self):
 
@@ -160,6 +196,18 @@ class IntEntry(QtGui.QLineEdit):
 class FCEntry(QtGui.QLineEdit):
     def __init__(self, parent=None):
         super(FCEntry, self).__init__(parent)
+        self.readyToEdit = True
+
+    def mousePressEvent(self, e, Parent=None):
+        super(FCEntry, self).mousePressEvent(e)  # required to deselect on 2e click
+        if self.readyToEdit:
+            self.selectAll()
+            self.readyToEdit = False
+
+    def focusOutEvent(self, e):
+        super(FCEntry, self).focusOutEvent(e)  # required to remove cursor on focusOut
+        self.deselect()
+        self.readyToEdit = True
 
     def get_value(self):
         return str(self.text())
@@ -171,6 +219,18 @@ class FCEntry(QtGui.QLineEdit):
 class EvalEntry(QtGui.QLineEdit):
     def __init__(self, parent=None):
         super(EvalEntry, self).__init__(parent)
+        self.readyToEdit = True
+
+    def mousePressEvent(self, e, Parent=None):
+        super(EvalEntry, self).mousePressEvent(e)  # required to deselect on 2e click
+        if self.readyToEdit:
+            self.selectAll()
+            self.readyToEdit = False
+
+    def focusOutEvent(self, e):
+        super(EvalEntry, self).focusOutEvent(e)  # required to remove cursor on focusOut
+        self.deselect()
+        self.readyToEdit = True
 
     def returnPressed(self, *args, **kwargs):
         val = self.get_value()