- 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()
|
||||
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.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)
|
||||
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.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.setup_db_ui()
|
||||
|
||||
def on_list_selection_change(self, current):
|
||||
return
|
||||
for idx in current.indexes():
|
||||
print(idx.data())
|
||||
def on_list_selection_change(self, current, previous):
|
||||
# for idx in current.indexes():
|
||||
# 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
|
||||
self.table_widget.item(row, 1).setText(item.text(1))
|
||||
|
||||
|
|
|
@ -154,7 +154,7 @@ class RadioSet(QtWidgets.QWidget):
|
|||
|
||||
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)
|
||||
|
||||
self.setColumnCount(columns)
|
||||
|
@ -165,6 +165,20 @@ class FCTree(QtWidgets.QTreeWidget):
|
|||
if extended_sel:
|
||||
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):
|
||||
item = QtWidgets.QTreeWidgetItem(parent, [title])
|
||||
item.setChildIndicatorPolicy(QtWidgets.QTreeWidgetItem.ShowIndicator)
|
||||
|
|
Loading…
Reference in New Issue