- Added construction lines switching
- Moved callbacks into sketchwidget from main. - Changed reset on right click
This commit is contained in:
		
							
								
								
									
										31
									
								
								Gui.py
									
									
									
									
									
								
							
							
						
						
									
										31
									
								
								Gui.py
									
									
									
									
									
								
							@@ -419,6 +419,7 @@ class Ui_fluencyCAD(object):
 | 
			
		||||
        self.pb_con_perp = QPushButton(self.groupBox_3)
 | 
			
		||||
        self.pb_con_perp.setObjectName(u"pb_con_perp")
 | 
			
		||||
        self.pb_con_perp.setCheckable(True)
 | 
			
		||||
        self.pb_con_perp.setAutoExclusive(False)
 | 
			
		||||
 | 
			
		||||
        self.gridLayout_4.addWidget(self.pb_con_perp, 1, 1, 1, 1)
 | 
			
		||||
 | 
			
		||||
@@ -454,6 +455,7 @@ class Ui_fluencyCAD(object):
 | 
			
		||||
        self.pb_con_mid = QPushButton(self.groupBox_3)
 | 
			
		||||
        self.pb_con_mid.setObjectName(u"pb_con_mid")
 | 
			
		||||
        self.pb_con_mid.setCheckable(True)
 | 
			
		||||
        self.pb_con_mid.setAutoExclusive(False)
 | 
			
		||||
 | 
			
		||||
        self.gridLayout_4.addWidget(self.pb_con_mid, 1, 0, 1, 1)
 | 
			
		||||
 | 
			
		||||
@@ -469,11 +471,11 @@ class Ui_fluencyCAD(object):
 | 
			
		||||
        self.tabWidget.setSizePolicy(sizePolicy5)
 | 
			
		||||
        self.tabWidget.setMaximumSize(QSize(200, 16777215))
 | 
			
		||||
        self.tabWidget.setTabPosition(QTabWidget.South)
 | 
			
		||||
        self.widget = QWidget()
 | 
			
		||||
        self.widget.setObjectName(u"widget")
 | 
			
		||||
        self.verticalLayout_3 = QVBoxLayout(self.widget)
 | 
			
		||||
        self.snaps = QWidget()
 | 
			
		||||
        self.snaps.setObjectName(u"snaps")
 | 
			
		||||
        self.verticalLayout_3 = QVBoxLayout(self.snaps)
 | 
			
		||||
        self.verticalLayout_3.setObjectName(u"verticalLayout_3")
 | 
			
		||||
        self.groupBox_5 = QGroupBox(self.widget)
 | 
			
		||||
        self.groupBox_5 = QGroupBox(self.snaps)
 | 
			
		||||
        self.groupBox_5.setObjectName(u"groupBox_5")
 | 
			
		||||
        sizePolicy6 = QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Preferred)
 | 
			
		||||
        sizePolicy6.setHorizontalStretch(0)
 | 
			
		||||
@@ -491,6 +493,7 @@ class Ui_fluencyCAD(object):
 | 
			
		||||
        self.pb_snap_vert = QPushButton(self.groupBox_5)
 | 
			
		||||
        self.pb_snap_vert.setObjectName(u"pb_snap_vert")
 | 
			
		||||
        self.pb_snap_vert.setCheckable(True)
 | 
			
		||||
        self.pb_snap_vert.setAutoExclusive(False)
 | 
			
		||||
 | 
			
		||||
        self.gridLayout_11.addWidget(self.pb_snap_vert, 2, 1, 1, 1)
 | 
			
		||||
 | 
			
		||||
@@ -516,12 +519,14 @@ class Ui_fluencyCAD(object):
 | 
			
		||||
        self.pushButton_7 = QPushButton(self.groupBox_5)
 | 
			
		||||
        self.pushButton_7.setObjectName(u"pushButton_7")
 | 
			
		||||
        self.pushButton_7.setCheckable(True)
 | 
			
		||||
        self.pushButton_7.setAutoExclusive(False)
 | 
			
		||||
 | 
			
		||||
        self.gridLayout_11.addWidget(self.pushButton_7, 3, 0, 1, 1)
 | 
			
		||||
 | 
			
		||||
        self.pb_snap_horiz = QPushButton(self.groupBox_5)
 | 
			
		||||
        self.pb_snap_horiz.setObjectName(u"pb_snap_horiz")
 | 
			
		||||
        self.pb_snap_horiz.setCheckable(True)
 | 
			
		||||
        self.pb_snap_horiz.setAutoExclusive(False)
 | 
			
		||||
 | 
			
		||||
        self.gridLayout_11.addWidget(self.pb_snap_horiz, 2, 0, 1, 1)
 | 
			
		||||
 | 
			
		||||
@@ -534,28 +539,32 @@ class Ui_fluencyCAD(object):
 | 
			
		||||
 | 
			
		||||
        self.pushButton_8 = QPushButton(self.groupBox_5)
 | 
			
		||||
        self.pushButton_8.setObjectName(u"pushButton_8")
 | 
			
		||||
        self.pushButton_8.setCheckable(True)
 | 
			
		||||
        self.pushButton_8.setAutoExclusive(False)
 | 
			
		||||
 | 
			
		||||
        self.gridLayout_11.addWidget(self.pushButton_8, 0, 0, 1, 1)
 | 
			
		||||
 | 
			
		||||
        self.pb_snap_midp = QPushButton(self.groupBox_5)
 | 
			
		||||
        self.pb_snap_midp.setObjectName(u"pb_snap_midp")
 | 
			
		||||
        self.pb_snap_midp.setCheckable(True)
 | 
			
		||||
        self.pb_snap_midp.setAutoExclusive(False)
 | 
			
		||||
 | 
			
		||||
        self.gridLayout_11.addWidget(self.pb_snap_midp, 0, 1, 1, 1)
 | 
			
		||||
 | 
			
		||||
        self.pb_snap_angle = QPushButton(self.groupBox_5)
 | 
			
		||||
        self.pb_snap_angle.setObjectName(u"pb_snap_angle")
 | 
			
		||||
        self.pb_snap_angle.setCheckable(True)
 | 
			
		||||
        self.pb_snap_angle.setAutoExclusive(False)
 | 
			
		||||
 | 
			
		||||
        self.gridLayout_11.addWidget(self.pb_snap_angle, 3, 1, 1, 1)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        self.verticalLayout_3.addWidget(self.groupBox_5)
 | 
			
		||||
 | 
			
		||||
        self.tabWidget.addTab(self.widget, "")
 | 
			
		||||
        self.widget1 = QWidget()
 | 
			
		||||
        self.widget1.setObjectName(u"widget1")
 | 
			
		||||
        self.tabWidget.addTab(self.widget1, "")
 | 
			
		||||
        self.tabWidget.addTab(self.snaps, "")
 | 
			
		||||
        self.settings = QWidget()
 | 
			
		||||
        self.settings.setObjectName(u"settings")
 | 
			
		||||
        self.tabWidget.addTab(self.settings, "")
 | 
			
		||||
 | 
			
		||||
        self.gridLayout.addWidget(self.tabWidget, 3, 0, 1, 1)
 | 
			
		||||
 | 
			
		||||
@@ -582,7 +591,7 @@ class Ui_fluencyCAD(object):
 | 
			
		||||
        self.retranslateUi(fluencyCAD)
 | 
			
		||||
 | 
			
		||||
        self.InputTab.setCurrentIndex(0)
 | 
			
		||||
        self.tabWidget.setCurrentIndex(1)
 | 
			
		||||
        self.tabWidget.setCurrentIndex(0)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        QMetaObject.connectSlotsByName(fluencyCAD)
 | 
			
		||||
@@ -710,8 +719,8 @@ class Ui_fluencyCAD(object):
 | 
			
		||||
        self.pushButton_8.setText(QCoreApplication.translate("fluencyCAD", u"Pnt", None))
 | 
			
		||||
        self.pb_snap_midp.setText(QCoreApplication.translate("fluencyCAD", u"MidP", None))
 | 
			
		||||
        self.pb_snap_angle.setText(QCoreApplication.translate("fluencyCAD", u"Angles", None))
 | 
			
		||||
        self.tabWidget.setTabText(self.tabWidget.indexOf(self.widget), QCoreApplication.translate("fluencyCAD", u"Setg 1", None))
 | 
			
		||||
        self.tabWidget.setTabText(self.tabWidget.indexOf(self.widget1), QCoreApplication.translate("fluencyCAD", u"Setg 2", None))
 | 
			
		||||
        self.tabWidget.setTabText(self.tabWidget.indexOf(self.snaps), QCoreApplication.translate("fluencyCAD", u"Setg 1", None))
 | 
			
		||||
        self.tabWidget.setTabText(self.tabWidget.indexOf(self.settings), QCoreApplication.translate("fluencyCAD", u"Setg 2", None))
 | 
			
		||||
        self.menuFile.setTitle(QCoreApplication.translate("fluencyCAD", u"File", None))
 | 
			
		||||
        self.menuSettings.setTitle(QCoreApplication.translate("fluencyCAD", u"Settings", None))
 | 
			
		||||
    # retranslateUi
 | 
			
		||||
 
 | 
			
		||||
@@ -24,15 +24,48 @@ class SketchWidget(QWidget):
 | 
			
		||||
        self.hovered_point = None
 | 
			
		||||
        self.selected_line = None
 | 
			
		||||
 | 
			
		||||
        ### Display Settings
 | 
			
		||||
        self.snapping_range = 20  # Range in pixels for snapping
 | 
			
		||||
        self.zoom = 1
 | 
			
		||||
 | 
			
		||||
        # Mouse Input
 | 
			
		||||
        self.setMouseTracking(True)
 | 
			
		||||
        self.mouse_mode = False
 | 
			
		||||
        self.is_construct = False
 | 
			
		||||
 | 
			
		||||
        # Solver
 | 
			
		||||
        self.solv = SolverSystem()
 | 
			
		||||
 | 
			
		||||
        self.sketch = Sketch2d()
 | 
			
		||||
 | 
			
		||||
    def act_line_mode(self, checked):
 | 
			
		||||
        if checked:
 | 
			
		||||
            self.mouse_mode = 'line'
 | 
			
		||||
            print(self.mouse_mode)
 | 
			
		||||
        else:
 | 
			
		||||
            self.mouse_mode = None
 | 
			
		||||
 | 
			
		||||
    def act_constrain_pt_pt_mode(self):
 | 
			
		||||
        self.mouse_mode = 'pt_pt'
 | 
			
		||||
 | 
			
		||||
    def act_constrain_pt_line_mode(self):
 | 
			
		||||
        self.mouse_mode = 'pt_line'
 | 
			
		||||
 | 
			
		||||
    def act_constrain_horiz_line_mode(self):
 | 
			
		||||
        self.mouse_mode = 'horiz'
 | 
			
		||||
 | 
			
		||||
    def act_constrain_vert_line_mode(self):
 | 
			
		||||
        self.mouse_mode = 'vert'
 | 
			
		||||
 | 
			
		||||
    def act_constrain_distance_mode(self):
 | 
			
		||||
        self.mouse_mode = 'distance'
 | 
			
		||||
 | 
			
		||||
    def act_constrain_mid_point_mode(self):
 | 
			
		||||
       self.sketchWidget.mouse_mode = 'pb_con_mid'
 | 
			
		||||
 | 
			
		||||
    def on_construct_change(self, checked):
 | 
			
		||||
        self.is_construct = checked
 | 
			
		||||
 | 
			
		||||
    def create_sketch(self, sketch_in ):
 | 
			
		||||
        self.sketch = Sketch2d()
 | 
			
		||||
        self.sketch.id = sketch_in.id
 | 
			
		||||
@@ -46,6 +79,7 @@ class SketchWidget(QWidget):
 | 
			
		||||
        return self.sketch
 | 
			
		||||
 | 
			
		||||
    def reset_buffers(self):
 | 
			
		||||
        self.mouse_mode = None
 | 
			
		||||
        self.line_draw_buffer = [None, None]
 | 
			
		||||
        self.drag_buffer = [None, None]
 | 
			
		||||
        self.main_buffer = [None, None]
 | 
			
		||||
@@ -315,6 +349,7 @@ class SketchWidget(QWidget):
 | 
			
		||||
            self.drag_buffer[0] = self.get_handle_from_ui_point(self.hovered_point)
 | 
			
		||||
 | 
			
		||||
        if event.button() == Qt.RightButton and self.mouse_mode:
 | 
			
		||||
            self.constrain_done.emit()
 | 
			
		||||
            self.reset_buffers()
 | 
			
		||||
 | 
			
		||||
        if event.button() == Qt.LeftButton and self.mouse_mode == "line":
 | 
			
		||||
@@ -329,6 +364,10 @@ class SketchWidget(QWidget):
 | 
			
		||||
                v = clicked_pos.y()
 | 
			
		||||
 | 
			
		||||
                point = Point2D(u,v)
 | 
			
		||||
                print("construct", self.is_construct )
 | 
			
		||||
                # Construction mode
 | 
			
		||||
                point.is_helper = self.is_construct
 | 
			
		||||
 | 
			
		||||
                self.sketch.add_point(point)
 | 
			
		||||
 | 
			
		||||
                self.line_draw_buffer[0] = point
 | 
			
		||||
@@ -337,8 +376,12 @@ class SketchWidget(QWidget):
 | 
			
		||||
 | 
			
		||||
                u = clicked_pos.x()
 | 
			
		||||
                v = clicked_pos.y()
 | 
			
		||||
 | 
			
		||||
                print("construct", self.is_construct)
 | 
			
		||||
                point = Point2D(u, v)
 | 
			
		||||
 | 
			
		||||
                # Construction mode
 | 
			
		||||
                point.is_helper = self.is_construct
 | 
			
		||||
 | 
			
		||||
                self.sketch.add_point(point)
 | 
			
		||||
 | 
			
		||||
                self.line_draw_buffer[1] = point
 | 
			
		||||
@@ -348,6 +391,10 @@ class SketchWidget(QWidget):
 | 
			
		||||
            if self.line_draw_buffer[0] and self.line_draw_buffer[1]:
 | 
			
		||||
 | 
			
		||||
                line = Line2D(self.line_draw_buffer[0], self.line_draw_buffer[1])
 | 
			
		||||
 | 
			
		||||
                # Construction mode
 | 
			
		||||
                line.is_helper = self.is_construct
 | 
			
		||||
 | 
			
		||||
                self.sketch.add_line(line)
 | 
			
		||||
 | 
			
		||||
                # Reset the buffer for the next line segment
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										31
									
								
								gui.ui
									
									
									
									
									
								
							
							
						
						
									
										31
									
								
								gui.ui
									
									
									
									
									
								
							@@ -733,6 +733,9 @@
 | 
			
		||||
         <property name="checkable">
 | 
			
		||||
          <bool>true</bool>
 | 
			
		||||
         </property>
 | 
			
		||||
         <property name="autoExclusive">
 | 
			
		||||
          <bool>false</bool>
 | 
			
		||||
         </property>
 | 
			
		||||
        </widget>
 | 
			
		||||
       </item>
 | 
			
		||||
       <item row="2" column="0">
 | 
			
		||||
@@ -813,6 +816,9 @@
 | 
			
		||||
         <property name="checkable">
 | 
			
		||||
          <bool>true</bool>
 | 
			
		||||
         </property>
 | 
			
		||||
         <property name="autoExclusive">
 | 
			
		||||
          <bool>false</bool>
 | 
			
		||||
         </property>
 | 
			
		||||
        </widget>
 | 
			
		||||
       </item>
 | 
			
		||||
      </layout>
 | 
			
		||||
@@ -838,7 +844,7 @@
 | 
			
		||||
      <property name="currentIndex">
 | 
			
		||||
       <number>0</number>
 | 
			
		||||
      </property>
 | 
			
		||||
      <widget class="QWidget" name="">
 | 
			
		||||
      <widget class="QWidget" name="snaps">
 | 
			
		||||
       <attribute name="title">
 | 
			
		||||
        <string>Setg 1</string>
 | 
			
		||||
       </attribute>
 | 
			
		||||
@@ -882,6 +888,9 @@
 | 
			
		||||
             <property name="checkable">
 | 
			
		||||
              <bool>true</bool>
 | 
			
		||||
             </property>
 | 
			
		||||
             <property name="autoExclusive">
 | 
			
		||||
              <bool>false</bool>
 | 
			
		||||
             </property>
 | 
			
		||||
            </widget>
 | 
			
		||||
           </item>
 | 
			
		||||
           <item row="4" column="0" colspan="2">
 | 
			
		||||
@@ -919,6 +928,9 @@
 | 
			
		||||
             <property name="checkable">
 | 
			
		||||
              <bool>true</bool>
 | 
			
		||||
             </property>
 | 
			
		||||
             <property name="autoExclusive">
 | 
			
		||||
              <bool>false</bool>
 | 
			
		||||
             </property>
 | 
			
		||||
            </widget>
 | 
			
		||||
           </item>
 | 
			
		||||
           <item row="2" column="0">
 | 
			
		||||
@@ -929,6 +941,9 @@
 | 
			
		||||
             <property name="checkable">
 | 
			
		||||
              <bool>true</bool>
 | 
			
		||||
             </property>
 | 
			
		||||
             <property name="autoExclusive">
 | 
			
		||||
              <bool>false</bool>
 | 
			
		||||
             </property>
 | 
			
		||||
            </widget>
 | 
			
		||||
           </item>
 | 
			
		||||
           <item row="6" column="1">
 | 
			
		||||
@@ -949,6 +964,12 @@
 | 
			
		||||
             <property name="text">
 | 
			
		||||
              <string>Pnt</string>
 | 
			
		||||
             </property>
 | 
			
		||||
             <property name="checkable">
 | 
			
		||||
              <bool>true</bool>
 | 
			
		||||
             </property>
 | 
			
		||||
             <property name="autoExclusive">
 | 
			
		||||
              <bool>false</bool>
 | 
			
		||||
             </property>
 | 
			
		||||
            </widget>
 | 
			
		||||
           </item>
 | 
			
		||||
           <item row="0" column="1">
 | 
			
		||||
@@ -959,6 +980,9 @@
 | 
			
		||||
             <property name="checkable">
 | 
			
		||||
              <bool>true</bool>
 | 
			
		||||
             </property>
 | 
			
		||||
             <property name="autoExclusive">
 | 
			
		||||
              <bool>false</bool>
 | 
			
		||||
             </property>
 | 
			
		||||
            </widget>
 | 
			
		||||
           </item>
 | 
			
		||||
           <item row="3" column="1">
 | 
			
		||||
@@ -969,6 +993,9 @@
 | 
			
		||||
             <property name="checkable">
 | 
			
		||||
              <bool>true</bool>
 | 
			
		||||
             </property>
 | 
			
		||||
             <property name="autoExclusive">
 | 
			
		||||
              <bool>false</bool>
 | 
			
		||||
             </property>
 | 
			
		||||
            </widget>
 | 
			
		||||
           </item>
 | 
			
		||||
          </layout>
 | 
			
		||||
@@ -976,7 +1003,7 @@
 | 
			
		||||
        </item>
 | 
			
		||||
       </layout>
 | 
			
		||||
      </widget>
 | 
			
		||||
      <widget class="QWidget" name="">
 | 
			
		||||
      <widget class="QWidget" name="settings">
 | 
			
		||||
       <attribute name="title">
 | 
			
		||||
        <string>Setg 2</string>
 | 
			
		||||
       </attribute>
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										63
									
								
								main.py
									
									
									
									
									
								
							
							
						
						
									
										63
									
								
								main.py
									
									
									
									
									
								
							@@ -120,13 +120,13 @@ class MainWindow(QMainWindow):
 | 
			
		||||
        self.ui.pb_flip_face.pressed.connect(self.on_flip_face)
 | 
			
		||||
 | 
			
		||||
        ###Modes
 | 
			
		||||
        self.ui.pb_linetool.pressed.connect(self.act_line_mode)
 | 
			
		||||
        self.ui.pb_con_ptpt.pressed.connect(self.act_constrain_pt_pt_mode)
 | 
			
		||||
        self.ui.pb_con_line.pressed.connect(self.act_constrain_pt_line_mode)
 | 
			
		||||
        self.ui.pb_con_horiz.pressed.connect(self.act_constrain_horiz_line_mode)
 | 
			
		||||
        self.ui.pb_con_vert.pressed.connect(self.act_constrain_vert_line_mode)
 | 
			
		||||
        self.ui.pb_con_dist.pressed.connect(self.act_constrain_distance_mode)
 | 
			
		||||
        self.ui.pb_con_mid.pressed.connect(self.act_constrain_mid_point_mode)
 | 
			
		||||
        self.ui.pb_linetool.clicked.connect(self.sketchWidget.act_line_mode)
 | 
			
		||||
        self.ui.pb_con_ptpt.clicked.connect(self.sketchWidget.act_constrain_pt_pt_mode)
 | 
			
		||||
        self.ui.pb_con_line.clicked.connect(self.sketchWidget.act_constrain_pt_line_mode)
 | 
			
		||||
        self.ui.pb_con_horiz.clicked.connect(self.sketchWidget.act_constrain_horiz_line_mode)
 | 
			
		||||
        self.ui.pb_con_vert.clicked.connect(self.sketchWidget.act_constrain_vert_line_mode)
 | 
			
		||||
        self.ui.pb_con_dist.clicked.connect(self.sketchWidget.act_constrain_distance_mode)
 | 
			
		||||
        self.ui.pb_con_mid.clicked.connect(self.sketchWidget.act_constrain_mid_point_mode)
 | 
			
		||||
 | 
			
		||||
        ### Operations
 | 
			
		||||
        self.ui.pb_extrdop.pressed.connect(self.send_extrude)
 | 
			
		||||
@@ -137,9 +137,8 @@ class MainWindow(QMainWindow):
 | 
			
		||||
        self.setFocusPolicy(Qt.StrongFocus)
 | 
			
		||||
 | 
			
		||||
        self.send_command.connect(self.custom_3D_Widget.on_receive_command)
 | 
			
		||||
 | 
			
		||||
        self.ui.actionNew_Project.triggered.connect(self.new_project)
 | 
			
		||||
 | 
			
		||||
        self.ui.pb_enable_construct.clicked.connect(self.sketchWidget.on_construct_change)
 | 
			
		||||
        self.project = Project()
 | 
			
		||||
        self.new_project()
 | 
			
		||||
 | 
			
		||||
@@ -156,7 +155,6 @@ class MainWindow(QMainWindow):
 | 
			
		||||
        self.project.timeline = timeline
 | 
			
		||||
        self.new_component()
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    def new_component(self):
 | 
			
		||||
        print("Creating a new component...")
 | 
			
		||||
 | 
			
		||||
@@ -270,7 +268,7 @@ class MainWindow(QMainWindow):
 | 
			
		||||
        sketch.original_sketch = sketch_from_widget
 | 
			
		||||
 | 
			
		||||
        #Get parameters
 | 
			
		||||
        points = sketch_from_widget.points
 | 
			
		||||
        points = [point for point in sketch_from_widget.points if hasattr(point, 'is_helper') and not point.is_helper]
 | 
			
		||||
 | 
			
		||||
        sketch.convert_points_for_sdf(points)
 | 
			
		||||
        sketch.id = sketch_from_widget.id
 | 
			
		||||
@@ -353,49 +351,6 @@ class MainWindow(QMainWindow):
 | 
			
		||||
    def on_flip_face(self):
 | 
			
		||||
        self.send_command.emit("flip")
 | 
			
		||||
 | 
			
		||||
    def act_line_mode(self):
 | 
			
		||||
        if not self.ui.pb_linetool.isChecked():
 | 
			
		||||
            self.sketchWidget.mouse_mode = 'line'
 | 
			
		||||
        else:
 | 
			
		||||
            self.sketchWidget.mouse_mode = None
 | 
			
		||||
            self.sketchWidget.line_draw_buffer = [None, None]
 | 
			
		||||
 | 
			
		||||
    def act_constrain_pt_pt_mode(self):
 | 
			
		||||
        if not self.ui.pb_con_ptpt.isChecked():
 | 
			
		||||
            self.sketchWidget.mouse_mode = 'pt_pt'
 | 
			
		||||
        else:
 | 
			
		||||
            self.sketchWidget.mouse_mode = None
 | 
			
		||||
 | 
			
		||||
    def act_constrain_pt_line_mode(self):
 | 
			
		||||
        if not self.ui.pb_con_line.isChecked():
 | 
			
		||||
            self.sketchWidget.mouse_mode = 'pt_line'
 | 
			
		||||
        else:
 | 
			
		||||
            self.sketchWidget.mouse_mode = None
 | 
			
		||||
 | 
			
		||||
    def act_constrain_horiz_line_mode(self):
 | 
			
		||||
        if not self.ui.pb_con_horiz.isChecked():
 | 
			
		||||
            self.sketchWidget.mouse_mode = 'horiz'
 | 
			
		||||
        else:
 | 
			
		||||
            self.sketchWidget.mouse_mode = None
 | 
			
		||||
 | 
			
		||||
    def act_constrain_vert_line_mode(self):
 | 
			
		||||
        if not self.ui.pb_con_vert.isChecked():
 | 
			
		||||
            self.sketchWidget.mouse_mode = 'vert'
 | 
			
		||||
        else:
 | 
			
		||||
            self.sketchWidget.mouse_mode = None
 | 
			
		||||
 | 
			
		||||
    def act_constrain_distance_mode(self):
 | 
			
		||||
        if not self.ui.pb_con_dist.isChecked():
 | 
			
		||||
            self.sketchWidget.mouse_mode = 'distance'
 | 
			
		||||
        else:
 | 
			
		||||
            self.sketchWidget.mouse_mode = None
 | 
			
		||||
 | 
			
		||||
    def act_constrain_mid_point_mode(self):
 | 
			
		||||
        if not self.ui.pb_con_mid.isChecked():
 | 
			
		||||
            self.sketchWidget.mouse_mode = 'pb_con_mid'
 | 
			
		||||
        else:
 | 
			
		||||
            self.sketchWidget.mouse_mode = None
 | 
			
		||||
 | 
			
		||||
    def draw_op_complete(self):
 | 
			
		||||
        # safely disable the line modes
 | 
			
		||||
        self.ui.pb_linetool.setChecked(False)
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user