- wip on the new tools database
This commit is contained in:
parent
70d3895799
commit
77e01825c2
|
@ -1422,9 +1422,16 @@ class ToolsDB2(QtWidgets.QWidget):
|
||||||
tree_layout = QtWidgets.QVBoxLayout()
|
tree_layout = QtWidgets.QVBoxLayout()
|
||||||
grid_layout.addLayout(tree_layout, 0, 0)
|
grid_layout.addLayout(tree_layout, 0, 0)
|
||||||
|
|
||||||
self.tree_widget = FCTree(columns=2, header_hidden=False)
|
self.tree_widget = FCTree(columns=2, header_hidden=False, protected_column=[0])
|
||||||
self.tree_widget.setHeaderLabels(["ID", "Tool Name"])
|
self.tree_widget.setHeaderLabels(["ID", "Tool Name"])
|
||||||
self.tree_widget.setIndentation(0)
|
self.tree_widget.setIndentation(0)
|
||||||
|
|
||||||
|
# set alternating colors
|
||||||
|
# self.tree_widget.setAlternatingRowColors(True)
|
||||||
|
# p = QtGui.QPalette()
|
||||||
|
# p.setColor(QtGui.QPalette.AlternateBase, QtGui.QColor(226, 237, 253) )
|
||||||
|
# self.tree_widget.setPalette(p)
|
||||||
|
|
||||||
self.tree_widget.setSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.MinimumExpanding)
|
self.tree_widget.setSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.MinimumExpanding)
|
||||||
tree_layout.addWidget(self.tree_widget)
|
tree_layout.addWidget(self.tree_widget)
|
||||||
|
|
||||||
|
@ -1516,16 +1523,21 @@ class ToolsDB2(QtWidgets.QWidget):
|
||||||
self.add_tool_from_db.clicked.connect(self.on_tool_requested_from_app)
|
self.add_tool_from_db.clicked.connect(self.on_tool_requested_from_app)
|
||||||
self.cancel_tool_from_db.clicked.connect(self.on_cancel_tool)
|
self.cancel_tool_from_db.clicked.connect(self.on_cancel_tool)
|
||||||
|
|
||||||
self.tree_widget.selectionModel().selectionChanged.connect(self.on_list_selection_change)
|
# self.tree_widget.selectionModel().selectionChanged.connect(self.on_list_selection_change)
|
||||||
|
self.tree_widget.currentItemChanged.connect(self.on_list_selection_change)
|
||||||
self.tree_widget.itemChanged.connect(self.on_list_item_edited)
|
self.tree_widget.itemChanged.connect(self.on_list_item_edited)
|
||||||
|
|
||||||
self.setup_db_ui()
|
self.setup_db_ui()
|
||||||
|
|
||||||
def on_list_selection_change(self, current):
|
def on_list_selection_change(self, current, previous):
|
||||||
return
|
# for idx in current.indexes():
|
||||||
for idx in current.indexes():
|
# print(idx.data())
|
||||||
print(idx.data())
|
print(current.text(0))
|
||||||
|
self.table_widget.selectRow(int(current.text(0))-1)
|
||||||
|
|
||||||
def on_list_item_edited(self, item, idx):
|
def on_list_item_edited(self, item, column):
|
||||||
|
if column == 0:
|
||||||
|
return
|
||||||
row = int(item.text(0)) - 1
|
row = int(item.text(0)) - 1
|
||||||
self.table_widget.item(row, 1).setText(item.text(1))
|
self.table_widget.item(row, 1).setText(item.text(1))
|
||||||
|
|
||||||
|
|
|
@ -154,7 +154,7 @@ class RadioSet(QtWidgets.QWidget):
|
||||||
|
|
||||||
class FCTree(QtWidgets.QTreeWidget):
|
class FCTree(QtWidgets.QTreeWidget):
|
||||||
|
|
||||||
def __init__(self, parent=None, columns=2, header_hidden=True, extended_sel=False):
|
def __init__(self, parent=None, columns=2, header_hidden=True, extended_sel=False, protected_column=None):
|
||||||
super(FCTree, self).__init__(parent)
|
super(FCTree, self).__init__(parent)
|
||||||
|
|
||||||
self.setColumnCount(columns)
|
self.setColumnCount(columns)
|
||||||
|
@ -165,6 +165,20 @@ class FCTree(QtWidgets.QTreeWidget):
|
||||||
if extended_sel:
|
if extended_sel:
|
||||||
self.setSelectionMode(QtWidgets.QAbstractItemView.ExtendedSelection)
|
self.setSelectionMode(QtWidgets.QAbstractItemView.ExtendedSelection)
|
||||||
|
|
||||||
|
self.protected_column = protected_column
|
||||||
|
self.itemDoubleClicked.connect(self.on_double_click)
|
||||||
|
|
||||||
|
def on_double_click(self, item, column):
|
||||||
|
# from here: https://stackoverflow.com/questions/2801959/making-only-one-column-of-a-qtreewidgetitem-editable
|
||||||
|
tmp_flags = item.flags()
|
||||||
|
if self.is_editable(column):
|
||||||
|
item.setFlags(tmp_flags | QtCore.Qt.ItemIsEditable)
|
||||||
|
elif tmp_flags & QtCore.Qt.ItemIsEditable:
|
||||||
|
item.setFlags(tmp_flags ^ QtCore.Qt.ItemIsEditable)
|
||||||
|
|
||||||
|
def is_editable(self, tested_col):
|
||||||
|
return False if tested_col in self.protected_column else True
|
||||||
|
|
||||||
def addParent(self, parent, title, expanded=False, color=None, font=None):
|
def addParent(self, parent, title, expanded=False, color=None, font=None):
|
||||||
item = QtWidgets.QTreeWidgetItem(parent, [title])
|
item = QtWidgets.QTreeWidgetItem(parent, [title])
|
||||||
item.setChildIndicatorPolicy(QtWidgets.QTreeWidgetItem.ShowIndicator)
|
item.setChildIndicatorPolicy(QtWidgets.QTreeWidgetItem.ShowIndicator)
|
||||||
|
|
Loading…
Reference in New Issue