From 75273272e130d2d9dccc65a49c96b02c29c475b3 Mon Sep 17 00:00:00 2001 From: Marius Stanciu Date: Tue, 19 Nov 2019 00:41:41 +0200 Subject: [PATCH] - working on the Calibrate Excellon Tool - remade the UI --- README.md | 1 + flatcamTools/ToolCalibrateExcellon.py | 263 ++++++++++++++++++++------ 2 files changed, 203 insertions(+), 61 deletions(-) diff --git a/README.md b/README.md index b8a1498e..1ed9745e 100644 --- a/README.md +++ b/README.md @@ -15,6 +15,7 @@ CAD program, and create G-Code for Isolation routing. - working on the Lines option in Copper Thieving Tool - finished the Lines option in the Copper Thieving Tool; still have to add threading to maximize performance - finished Copper Thieving Tool improvements +- working on the Calibrate Excellon Tool - remade the UI 17.11.2019 diff --git a/flatcamTools/ToolCalibrateExcellon.py b/flatcamTools/ToolCalibrateExcellon.py index ad31b46b..b59749bb 100644 --- a/flatcamTools/ToolCalibrateExcellon.py +++ b/flatcamTools/ToolCalibrateExcellon.py @@ -8,7 +8,7 @@ from PyQt5 import QtWidgets, QtCore from FlatCAMTool import FlatCAMTool -from flatcamGUI.GUIElements import FCDoubleSpinner, EvalEntry, FCCheckBox, OptionalInputSection +from flatcamGUI.GUIElements import FCDoubleSpinner, EvalEntry, FCCheckBox, OptionalInputSection, FCTable from shapely.geometry import Point from shapely.geometry.base import * @@ -145,108 +145,249 @@ class ToolCalibrateExcellon(FlatCAMTool): _("Contain the expected calibration points and the\n" "ones measured.") ) - grid_lay.addWidget(self.points_table_label, 2, 0, 1, 3) + grid_lay.addWidget(self.points_table_label, 1, 0, 1, 3) + + self.points_table = FCTable() + self.points_table.setSelectionBehavior(QtWidgets.QAbstractItemView.SelectRows) + # self.points_table.setSizeAdjustPolicy(QtWidgets.QAbstractScrollArea.AdjustToContents) + grid_lay.addWidget(self.points_table, 2, 0, 9, 3) + + self.points_table.setColumnCount(4) + self.points_table.setHorizontalHeaderLabels( + [ + '#', + _("Name"), + _("Target"), + _("Found Delta") + ] + ) + self.points_table.setRowCount(8) + row = 0 # BOTTOM LEFT - self.bottom_left_lbl = QtWidgets.QLabel('%s' % _('Bottom Left')) - grid_lay.addWidget(self.bottom_left_lbl, 3, 0) - self.bottom_left_tgt_lbl = QtWidgets.QLabel('%s' % _('Target')) - grid_lay.addWidget(self.bottom_left_tgt_lbl, 3, 1) - self.bottom_left_found_lbl = QtWidgets.QLabel('%s' % _('Cal. Origin')) - grid_lay.addWidget(self.bottom_left_found_lbl, 3, 2) + id_item_1 = QtWidgets.QTableWidgetItem('%d' % 1) + flags = QtCore.Qt.ItemIsEnabled + id_item_1.setFlags(flags) + self.points_table.setItem(row, 0, id_item_1) # Tool name/id - self.bottom_left_coordx_lbl = QtWidgets.QLabel('%s' % _('X')) - grid_lay.addWidget(self.bottom_left_coordx_lbl, 4, 0) + self.bottom_left_coordx_lbl = QtWidgets.QLabel('%s' % _('Bot Left X')) + self.points_table.setCellWidget(row, 1, self.bottom_left_coordx_lbl) self.bottom_left_coordx_tgt = EvalEntry() + self.points_table.setCellWidget(row, 2, self.bottom_left_coordx_tgt) self.bottom_left_coordx_tgt.setReadOnly(True) - grid_lay.addWidget(self.bottom_left_coordx_tgt, 4, 1) self.bottom_left_coordx_found = EvalEntry() - grid_lay.addWidget(self.bottom_left_coordx_found, 4, 2) + self.points_table.setCellWidget(row, 3, self.bottom_left_coordx_found) + row += 1 - self.bottom_left_coordy_lbl = QtWidgets.QLabel('%s' % _('Y')) - grid_lay.addWidget(self.bottom_left_coordy_lbl, 5, 0) + self.bottom_left_coordy_lbl = QtWidgets.QLabel('%s' % _('Bot Left Y')) + self.points_table.setCellWidget(row, 1, self.bottom_left_coordy_lbl) self.bottom_left_coordy_tgt = EvalEntry() + self.points_table.setCellWidget(row, 2, self.bottom_left_coordy_tgt) self.bottom_left_coordy_tgt.setReadOnly(True) - grid_lay.addWidget(self.bottom_left_coordy_tgt, 5, 1) self.bottom_left_coordy_found = EvalEntry() - grid_lay.addWidget(self.bottom_left_coordy_found, 5, 2) + self.points_table.setCellWidget(row, 3, self.bottom_left_coordy_found) - self.bottom_left_coordx_found.set_value(_('Set Origin')) - self.bottom_left_coordy_found.set_value(_('Set Origin')) + self.bottom_left_coordx_found.set_value(_("Origin")) + self.bottom_left_coordy_found.set_value(_("Origin")) self.bottom_left_coordx_found.setDisabled(True) self.bottom_left_coordy_found.setDisabled(True) + row += 1 # BOTTOM RIGHT - self.bottom_right_lbl = QtWidgets.QLabel('%s' % _('Bottom Right')) - grid_lay.addWidget(self.bottom_right_lbl, 6, 0) - self.bottom_right_tgt_lbl = QtWidgets.QLabel('%s' % _('Target')) - grid_lay.addWidget(self.bottom_right_tgt_lbl, 6, 1) - self.bottom_right_found_lbl = QtWidgets.QLabel('%s' % _('Found Delta')) - grid_lay.addWidget(self.bottom_right_found_lbl, 6, 2) + id_item_2 = QtWidgets.QTableWidgetItem('%d' % 2) + flags = QtCore.Qt.ItemIsEnabled + id_item_2.setFlags(flags) + self.points_table.setItem(row, 0, id_item_2) # Tool name/id - self.bottom_right_coordx_lbl = QtWidgets.QLabel('%s' % _('X')) - grid_lay.addWidget(self.bottom_right_coordx_lbl, 7, 0) + self.bottom_right_coordx_lbl = QtWidgets.QLabel('%s' % _('Bot Right X')) + self.points_table.setCellWidget(row, 1, self.bottom_right_coordx_lbl) self.bottom_right_coordx_tgt = EvalEntry() + self.points_table.setCellWidget(row, 2, self.bottom_right_coordx_tgt) self.bottom_right_coordx_tgt.setReadOnly(True) - grid_lay.addWidget(self.bottom_right_coordx_tgt, 7, 1) self.bottom_right_coordx_found = EvalEntry() - grid_lay.addWidget(self.bottom_right_coordx_found, 7, 2) + self.points_table.setCellWidget(row, 3, self.bottom_right_coordx_found) - self.bottom_right_coordy_lbl = QtWidgets.QLabel('%s' % _('Y')) - grid_lay.addWidget(self.bottom_right_coordy_lbl, 8, 0) + row += 1 + + self.bottom_right_coordy_lbl = QtWidgets.QLabel('%s' % _('Bot Right Y')) + self.points_table.setCellWidget(row, 1, self.bottom_right_coordy_lbl) self.bottom_right_coordy_tgt = EvalEntry() + self.points_table.setCellWidget(row, 2, self.bottom_right_coordy_tgt) self.bottom_right_coordy_tgt.setReadOnly(True) - grid_lay.addWidget(self.bottom_right_coordy_tgt, 8, 1) self.bottom_right_coordy_found = EvalEntry() - grid_lay.addWidget(self.bottom_right_coordy_found, 8, 2) + self.points_table.setCellWidget(row, 3, self.bottom_right_coordy_found) + row += 1 # TOP LEFT - self.top_left_lbl = QtWidgets.QLabel('%s' % _('Top Left')) - grid_lay.addWidget(self.top_left_lbl, 9, 0) - self.top_left_tgt_lbl = QtWidgets.QLabel('%s' % _('Target')) - grid_lay.addWidget(self.top_left_tgt_lbl, 9, 1) - self.top_left_found_lbl = QtWidgets.QLabel('%s' % _('Found Delta')) - grid_lay.addWidget(self.top_left_found_lbl, 9, 2) + id_item_3 = QtWidgets.QTableWidgetItem('%d' % 3) + flags = QtCore.Qt.ItemIsEnabled + id_item_3.setFlags(flags) + self.points_table.setItem(row, 0, id_item_3) # Tool name/id - self.top_left_coordx_lbl = QtWidgets.QLabel('%s' % _('X')) - grid_lay.addWidget(self.top_left_coordx_lbl, 10, 0) + self.top_left_coordx_lbl = QtWidgets.QLabel('%s' % _('Top Left X')) + self.points_table.setCellWidget(row, 1, self.top_left_coordx_lbl) self.top_left_coordx_tgt = EvalEntry() + self.points_table.setCellWidget(row, 2, self.top_left_coordx_tgt) self.top_left_coordx_tgt.setReadOnly(True) - grid_lay.addWidget(self.top_left_coordx_tgt, 10, 1) self.top_left_coordx_found = EvalEntry() - grid_lay.addWidget(self.top_left_coordx_found, 10, 2) + self.points_table.setCellWidget(row, 3, self.top_left_coordx_found) + row += 1 - self.top_left_coordy_lbl = QtWidgets.QLabel('%s' % _('Y')) - grid_lay.addWidget(self.top_left_coordy_lbl, 11, 0) + self.top_left_coordy_lbl = QtWidgets.QLabel('%s' % _('Top Left Y')) + self.points_table.setCellWidget(row, 1, self.top_left_coordy_lbl) self.top_left_coordy_tgt = EvalEntry() + self.points_table.setCellWidget(row, 2, self.top_left_coordy_tgt) self.top_left_coordy_tgt.setReadOnly(True) - grid_lay.addWidget(self.top_left_coordy_tgt, 11, 1) self.top_left_coordy_found = EvalEntry() - grid_lay.addWidget(self.top_left_coordy_found, 11, 2) + self.points_table.setCellWidget(row, 3, self.top_left_coordy_found) + row += 1 # TOP RIGHT - self.top_right_lbl = QtWidgets.QLabel('%s' % _('Top Right')) - grid_lay.addWidget(self.top_right_lbl, 12, 0) - self.top_right_tgt_lbl = QtWidgets.QLabel('%s' % _('Target')) - grid_lay.addWidget(self.top_right_tgt_lbl, 12, 1) - self.top_right_found_lbl = QtWidgets.QLabel('%s' % _('Found Delta')) - grid_lay.addWidget(self.top_right_found_lbl, 12, 2) + id_item_4 = QtWidgets.QTableWidgetItem('%d' % 4) + flags = QtCore.Qt.ItemIsEnabled + id_item_4.setFlags(flags) + self.points_table.setItem(row, 0, id_item_4) # Tool name/id - self.top_right_coordx_lbl = QtWidgets.QLabel('%s' % _('X')) - grid_lay.addWidget(self.top_right_coordx_lbl, 13, 0) + self.top_right_coordx_lbl = QtWidgets.QLabel('%s' % _('Top Right X')) + self.points_table.setCellWidget(row, 1, self.top_right_coordx_lbl) self.top_right_coordx_tgt = EvalEntry() + self.points_table.setCellWidget(row, 2, self.top_right_coordx_tgt) self.top_right_coordx_tgt.setReadOnly(True) - grid_lay.addWidget(self.top_right_coordx_tgt, 13, 1) self.top_right_coordx_found = EvalEntry() - grid_lay.addWidget(self.top_right_coordx_found, 13, 2) + self.points_table.setCellWidget(row, 3, self.top_right_coordx_found) + row += 1 - self.top_right_coordy_lbl = QtWidgets.QLabel('%s' % _('Y')) - grid_lay.addWidget(self.top_right_coordy_lbl, 14, 0) + self.top_right_coordy_lbl = QtWidgets.QLabel('%s' % _('Top Right Y')) + self.points_table.setCellWidget(row, 1, self.top_right_coordy_lbl) self.top_right_coordy_tgt = EvalEntry() + self.points_table.setCellWidget(row, 2, self.top_right_coordy_tgt) self.top_right_coordy_tgt.setReadOnly(True) - grid_lay.addWidget(self.top_right_coordy_tgt, 14, 1) self.top_right_coordy_found = EvalEntry() - grid_lay.addWidget(self.top_right_coordy_found, 14, 2) + self.points_table.setCellWidget(row, 3, self.top_right_coordy_found) + + vertical_header = self.points_table.verticalHeader() + vertical_header.hide() + self.points_table.setVerticalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff) + + horizontal_header = self.points_table.horizontalHeader() + horizontal_header.setMinimumSectionSize(10) + horizontal_header.setDefaultSectionSize(70) + + self.points_table.setSizeAdjustPolicy(QtWidgets.QAbstractScrollArea.AdjustToContents) + # for x in range(4): + # self.points_table.resizeColumnToContents(x) + self.points_table.resizeColumnsToContents() + self.points_table.resizeRowsToContents() + + horizontal_header.setSectionResizeMode(0, QtWidgets.QHeaderView.Fixed) + horizontal_header.resizeSection(0, 20) + horizontal_header.setSectionResizeMode(1, QtWidgets.QHeaderView.Fixed) + horizontal_header.setSectionResizeMode(2, QtWidgets.QHeaderView.Stretch) + horizontal_header.setSectionResizeMode(3, QtWidgets.QHeaderView.Stretch) + + self.points_table.setMinimumHeight(self.points_table.getHeight() + 2) + self.points_table.setMaximumHeight(self.points_table.getHeight() + 3) + + # # BOTTOM LEFT + # self.bottom_left_lbl = QtWidgets.QLabel('%s' % _('Bottom Left')) + # grid_lay.addWidget(self.bottom_left_lbl, 3, 0) + # self.bottom_left_tgt_lbl = QtWidgets.QLabel('%s' % _('Target')) + # grid_lay.addWidget(self.bottom_left_tgt_lbl, 3, 1) + # self.bottom_left_found_lbl = QtWidgets.QLabel('%s' % _('Cal. Origin')) + # grid_lay.addWidget(self.bottom_left_found_lbl, 3, 2) + # + # self.bottom_left_coordx_lbl = QtWidgets.QLabel('%s' % _('X')) + # grid_lay.addWidget(self.bottom_left_coordx_lbl, 4, 0) + # self.bottom_left_coordx_tgt = EvalEntry() + # self.bottom_left_coordx_tgt.setReadOnly(True) + # grid_lay.addWidget(self.bottom_left_coordx_tgt, 4, 1) + # self.bottom_left_coordx_found = EvalEntry() + # grid_lay.addWidget(self.bottom_left_coordx_found, 4, 2) + # + # self.bottom_left_coordy_lbl = QtWidgets.QLabel('%s' % _('Y')) + # grid_lay.addWidget(self.bottom_left_coordy_lbl, 5, 0) + # self.bottom_left_coordy_tgt = EvalEntry() + # self.bottom_left_coordy_tgt.setReadOnly(True) + # grid_lay.addWidget(self.bottom_left_coordy_tgt, 5, 1) + # self.bottom_left_coordy_found = EvalEntry() + # grid_lay.addWidget(self.bottom_left_coordy_found, 5, 2) + # + # self.bottom_left_coordx_found.set_value(_('Set Origin')) + # self.bottom_left_coordy_found.set_value(_('Set Origin')) + # self.bottom_left_coordx_found.setDisabled(True) + # self.bottom_left_coordy_found.setDisabled(True) + # + # # BOTTOM RIGHT + # self.bottom_right_lbl = QtWidgets.QLabel('%s' % _('Bottom Right')) + # grid_lay.addWidget(self.bottom_right_lbl, 6, 0) + # self.bottom_right_tgt_lbl = QtWidgets.QLabel('%s' % _('Target')) + # grid_lay.addWidget(self.bottom_right_tgt_lbl, 6, 1) + # self.bottom_right_found_lbl = QtWidgets.QLabel('%s' % _('Found Delta')) + # grid_lay.addWidget(self.bottom_right_found_lbl, 6, 2) + # + # self.bottom_right_coordx_lbl = QtWidgets.QLabel('%s' % _('X')) + # grid_lay.addWidget(self.bottom_right_coordx_lbl, 7, 0) + # self.bottom_right_coordx_tgt = EvalEntry() + # self.bottom_right_coordx_tgt.setReadOnly(True) + # grid_lay.addWidget(self.bottom_right_coordx_tgt, 7, 1) + # self.bottom_right_coordx_found = EvalEntry() + # grid_lay.addWidget(self.bottom_right_coordx_found, 7, 2) + # + # self.bottom_right_coordy_lbl = QtWidgets.QLabel('%s' % _('Y')) + # grid_lay.addWidget(self.bottom_right_coordy_lbl, 8, 0) + # self.bottom_right_coordy_tgt = EvalEntry() + # self.bottom_right_coordy_tgt.setReadOnly(True) + # grid_lay.addWidget(self.bottom_right_coordy_tgt, 8, 1) + # self.bottom_right_coordy_found = EvalEntry() + # grid_lay.addWidget(self.bottom_right_coordy_found, 8, 2) + # + # # TOP LEFT + # self.top_left_lbl = QtWidgets.QLabel('%s' % _('Top Left')) + # grid_lay.addWidget(self.top_left_lbl, 9, 0) + # self.top_left_tgt_lbl = QtWidgets.QLabel('%s' % _('Target')) + # grid_lay.addWidget(self.top_left_tgt_lbl, 9, 1) + # self.top_left_found_lbl = QtWidgets.QLabel('%s' % _('Found Delta')) + # grid_lay.addWidget(self.top_left_found_lbl, 9, 2) + # + # self.top_left_coordx_lbl = QtWidgets.QLabel('%s' % _('X')) + # grid_lay.addWidget(self.top_left_coordx_lbl, 10, 0) + # self.top_left_coordx_tgt = EvalEntry() + # self.top_left_coordx_tgt.setReadOnly(True) + # grid_lay.addWidget(self.top_left_coordx_tgt, 10, 1) + # self.top_left_coordx_found = EvalEntry() + # grid_lay.addWidget(self.top_left_coordx_found, 10, 2) + # + # self.top_left_coordy_lbl = QtWidgets.QLabel('%s' % _('Y')) + # grid_lay.addWidget(self.top_left_coordy_lbl, 11, 0) + # self.top_left_coordy_tgt = EvalEntry() + # self.top_left_coordy_tgt.setReadOnly(True) + # grid_lay.addWidget(self.top_left_coordy_tgt, 11, 1) + # self.top_left_coordy_found = EvalEntry() + # grid_lay.addWidget(self.top_left_coordy_found, 11, 2) + # + # # TOP RIGHT + # self.top_right_lbl = QtWidgets.QLabel('%s' % _('Top Right')) + # grid_lay.addWidget(self.top_right_lbl, 12, 0) + # self.top_right_tgt_lbl = QtWidgets.QLabel('%s' % _('Target')) + # grid_lay.addWidget(self.top_right_tgt_lbl, 12, 1) + # self.top_right_found_lbl = QtWidgets.QLabel('%s' % _('Found Delta')) + # grid_lay.addWidget(self.top_right_found_lbl, 12, 2) + # + # self.top_right_coordx_lbl = QtWidgets.QLabel('%s' % _('X')) + # grid_lay.addWidget(self.top_right_coordx_lbl, 13, 0) + # self.top_right_coordx_tgt = EvalEntry() + # self.top_right_coordx_tgt.setReadOnly(True) + # grid_lay.addWidget(self.top_right_coordx_tgt, 13, 1) + # self.top_right_coordx_found = EvalEntry() + # grid_lay.addWidget(self.top_right_coordx_found, 13, 2) + # + # self.top_right_coordy_lbl = QtWidgets.QLabel('%s' % _('Y')) + # grid_lay.addWidget(self.top_right_coordy_lbl, 14, 0) + # self.top_right_coordy_tgt = EvalEntry() + # self.top_right_coordy_tgt.setReadOnly(True) + # grid_lay.addWidget(self.top_right_coordy_tgt, 14, 1) + # self.top_right_coordy_found = EvalEntry() + # grid_lay.addWidget(self.top_right_coordy_found, 14, 2) # STEP 1 # step_1 = QtWidgets.QLabel('%s' % _("STEP 1")) @@ -503,7 +644,7 @@ class ToolCalibrateExcellon(FlatCAMTool): model_index = self.app.collection.index(selection_index, 0, self.exc_object_combo.rootModelIndex()) try: self.exc_obj = model_index.internalPointer().obj - except Exception as e: + except Exception: self.app.inform.emit('[WARNING_NOTCL] %s' % _("There is no Excellon object loaded ...")) return