개정판 33d113ad
issue #665: order can be sorted by user
DTI_PID/DTI_PID/ItemDataExportDialog.py | ||
---|---|---|
341 | 341 |
for reverse in range(len(self.columnOrder[index]) - 1, 0, -1): |
342 | 342 |
targetCol = self.columnOrder[index][reverse] |
343 | 343 |
currentCol = [] |
344 |
for i in range(len(self.columnOrder[index])): |
|
345 |
currentCol.append(self.viewTables[index].horizontalHeaderItem(i).text()) |
|
344 |
for i in range(len(self.columnListAll[index])): |
|
345 |
currentCol.append(self.viewTables[index].horizontalHeader().visualIndex(i)) |
|
346 |
#currentCol.append(self.viewTables[index].horizontalHeaderItem(i).text()) |
|
346 | 347 |
|
347 | 348 |
for columnNum in range(len(self.columnListAll[index])): |
348 | 349 |
if targetCol == self.columnListAll[index][columnNum]: |
349 |
self.viewTables[index].horizontalHeader().moveSection(columnNum, 1)
|
|
350 |
self.viewTables[index].horizontalHeader().moveSection(currentCol[columnNum], 1)
|
|
350 | 351 |
break |
351 | 352 |
|
352 | 353 |
# hidecolumn 하기 |
... | ... | |
703 | 704 |
|
704 | 705 |
item_data_format_dialog = QItemDataFormatDialog(self, self.columnListAll, self.columnOrder) |
705 | 706 |
item_data_format_dialog.exec_() |
707 |
self.sortListOrder() |
|
706 | 708 |
|
707 | 709 |
''' |
708 | 710 |
@brief doc name change event |
DTI_PID/DTI_PID/ItemDataFormatDialog.py | ||
---|---|---|
52 | 52 |
# tableWidget setting |
53 | 53 |
for index in range(len(self.tableWidgets)): |
54 | 54 |
self.tableWidgets[index].horizontalHeader().setSectionsMovable(True) |
55 |
self.tableWidgets[index].setSelectionMode(QAbstractItemView.SingleSelection) |
|
56 |
self.tableWidgets[index].setEditTriggers(QAbstractItemView.NoEditTriggers) |
|
57 |
self.tableWidgets[index].horizontalHeader().setSectionsClickable(True) |
|
58 |
self.tableWidgets[index].horizontalHeader().setHighlightSections(True) |
|
55 | 59 |
self.tableWidgets[index].setColumnCount(len(self.columnOrder[index])) |
56 | 60 |
self.tableWidgets[index].setHorizontalHeaderLabels(self.columnOrder[index]) |
61 |
self.tableWidgets[index].horizontalHeader().sectionClicked.connect(self.sectionClicked) |
|
57 | 62 |
for listIndex in range(len(self.columnOrder[index])): |
58 | 63 |
self.tableWidgets[index].horizontalHeaderItem(listIndex).setSizeHint(QSize(25, 25)) |
59 |
self.tableWidgets[index].setColumnWidth(listIndex, len(self.columnListAll[index][listIndex]) * 8 + 10)
|
|
64 |
self.tableWidgets[index].setColumnWidth(listIndex, len(self.columnOrder[index][listIndex]) * 8 + 10)
|
|
60 | 65 |
self.tableWidgets[index].hideColumn(0) |
61 | 66 |
|
62 | 67 |
self.ui.pushButtonApply.clicked.connect(self.pushButtonApplyClicked) |
68 |
self.ui.pushButtonClose.clicked.connect(self.pushButtonCloseClicked) |
|
63 | 69 |
|
64 | 70 |
def pushButtonApplyClicked(self): |
65 | 71 |
docData = AppDocData.instance() |
66 | 72 |
configs = [] |
67 | 73 |
for index in range(len(self.tableWidgets)): |
68 | 74 |
headerCount = self.tableWidgets[index].columnCount() |
75 |
currentCol = [] |
|
76 |
for i in range(len(self.columnListAll[index])): |
|
77 |
currentCol.append(self.tableWidgets[index].horizontalHeader().logicalIndex(i)) |
|
78 |
|
|
69 | 79 |
value = '' |
70 |
for header in range(headerCount):
|
|
71 |
value += self.tableWidgets[index].horizontalHeaderItem(header).text() + self.delimiter
|
|
80 |
for header in currentCol:
|
|
81 |
value += self.columnOrder[index][header] + self.delimiter
|
|
72 | 82 |
value = value[:-len(self.delimiter)] |
73 | 83 |
configs.append(Config(dbListOrderName[index], str(index), value)) |
74 | 84 |
|
75 |
docData.saveConfigs(configs) |
|
85 |
docData.saveConfigs(configs) |
|
86 |
|
|
87 |
def pushButtonCloseClicked(self): |
|
88 |
QDialog.reject(self) |
|
89 |
|
|
90 |
def sectionClicked(self, logicalIndex): |
|
91 |
print(logicalIndex) |
DTI_PID/DTI_PID/ItemDataFormat_UI.py | ||
---|---|---|
28 | 28 |
self.pushButtonApply.setMaximumSize(QtCore.QSize(68, 16777215)) |
29 | 29 |
self.pushButtonApply.setObjectName("pushButtonApply") |
30 | 30 |
self.horizontalLayout.addWidget(self.pushButtonApply) |
31 |
self.pushButtonCancel = QtWidgets.QPushButton(ItemDataFormatDialog)
|
|
32 |
self.pushButtonCancel.setMaximumSize(QtCore.QSize(68, 16777215))
|
|
33 |
self.pushButtonCancel.setObjectName("pushButtonCancel")
|
|
34 |
self.horizontalLayout.addWidget(self.pushButtonCancel)
|
|
31 |
self.pushButtonClose = QtWidgets.QPushButton(ItemDataFormatDialog)
|
|
32 |
self.pushButtonClose.setMaximumSize(QtCore.QSize(68, 16777215))
|
|
33 |
self.pushButtonClose.setObjectName("pushButtonClose")
|
|
34 |
self.horizontalLayout.addWidget(self.pushButtonClose)
|
|
35 | 35 |
self.gridLayout.addLayout(self.horizontalLayout, 2, 0, 1, 1) |
36 | 36 |
self.tabWidget = QtWidgets.QTabWidget(ItemDataFormatDialog) |
37 | 37 |
self.tabWidget.setTabPosition(QtWidgets.QTabWidget.North) |
... | ... | |
65 | 65 |
self.horizontalLayout_2.addWidget(self.pushButton) |
66 | 66 |
self.verticalLayout.addLayout(self.horizontalLayout_2) |
67 | 67 |
self.tableWidgetLine = QtWidgets.QTableWidget(self.verticalLayoutWidget) |
68 |
self.tableWidgetLine.setRowCount(0)
|
|
68 |
self.tableWidgetLine.setRowCount(1)
|
|
69 | 69 |
self.tableWidgetLine.setObjectName("tableWidgetLine") |
70 | 70 |
self.tableWidgetLine.setColumnCount(0) |
71 | 71 |
self.tableWidgetLine.verticalHeader().setVisible(False) |
... | ... | |
226 | 226 |
_translate = QtCore.QCoreApplication.translate |
227 | 227 |
ItemDataFormatDialog.setWindowTitle(_translate("ItemDataFormatDialog", "리스트 양식 설정")) |
228 | 228 |
self.pushButtonApply.setText(_translate("ItemDataFormatDialog", "Apply")) |
229 |
self.pushButtonCancel.setText(_translate("ItemDataFormatDialog", "Cancel"))
|
|
229 |
self.pushButtonClose.setText(_translate("ItemDataFormatDialog", "Close"))
|
|
230 | 230 |
self.pushButton_2.setText(_translate("ItemDataFormatDialog", "+")) |
231 | 231 |
self.pushButton.setText(_translate("ItemDataFormatDialog", "-")) |
232 | 232 |
self.tabWidget.setTabText(self.tabWidget.indexOf(self.tabLineList), _translate("ItemDataFormatDialog", "라인 리스트")) |
DTI_PID/DTI_PID/UI/ItemDataFormat.ui | ||
---|---|---|
53 | 53 |
</widget> |
54 | 54 |
</item> |
55 | 55 |
<item> |
56 |
<widget class="QPushButton" name="pushButtonCancel">
|
|
56 |
<widget class="QPushButton" name="pushButtonClose">
|
|
57 | 57 |
<property name="maximumSize"> |
58 | 58 |
<size> |
59 | 59 |
<width>68</width> |
... | ... | |
61 | 61 |
</size> |
62 | 62 |
</property> |
63 | 63 |
<property name="text"> |
64 |
<string>Cancel</string>
|
|
64 |
<string>Close</string>
|
|
65 | 65 |
</property> |
66 | 66 |
</widget> |
67 | 67 |
</item> |
... | ... | |
141 | 141 |
<item> |
142 | 142 |
<widget class="QTableWidget" name="tableWidgetLine"> |
143 | 143 |
<property name="rowCount"> |
144 |
<number>0</number>
|
|
144 |
<number>1</number>
|
|
145 | 145 |
</property> |
146 | 146 |
<attribute name="verticalHeaderVisible"> |
147 | 147 |
<bool>false</bool> |
148 | 148 |
</attribute> |
149 |
<row/> |
|
149 | 150 |
</widget> |
150 | 151 |
</item> |
151 | 152 |
</layout> |
내보내기 Unified diff