개정판 fdd067da
issue #000: hmb on going
Change-Id: Ib9634adbc61d548a51b4b12339e618c235dc4c32
DTI_PID/DTI_PID/ItemDataExportDialog.py | ||
---|---|---|
342 | 342 |
special_item_types = SpecialItemTypes.instance() |
343 | 343 |
self.lineColumnListAll = ['UID', 'Drawing Name', 'Stream No', 'FROM', 'TO'] |
344 | 344 |
self.lineColumnListAll.extend([prop.Attribute for prop in app_doc_data.getLineProperties()]) |
345 |
self.lineColumnListAll = self.add_hmb_header(self.lineColumnListAll)
|
|
345 |
self.lineColumnListAll = QItemDataExportDialog.add_hmb_header(self.lineColumnListAll)
|
|
346 | 346 |
self.equipColumnListAll = ['UID', 'ITEM_NO'] |
347 | 347 |
self.equipColumnListAll.extend([prop.Attribute for prop in app_doc_data.get_equipment_attributes()]) |
348 | 348 |
self.equipColumnListAll.append('Drawing Name') |
... | ... | |
351 | 351 |
self.valveColumnListAll.append('Drawing Name') |
352 | 352 |
self.instColumnListAll = ['UID', 'ITEM_NO'] |
353 | 353 |
self.instColumnListAll.extend([prop.Attribute for prop in app_doc_data.get_instrument_attributes()]) |
354 |
self.instColumnListAll = self.add_hmb_header(self.instColumnListAll)
|
|
354 |
self.instColumnListAll = QItemDataExportDialog.add_hmb_header(self.instColumnListAll)
|
|
355 | 355 |
self.instColumnListAll.append('Drawing Name') |
356 | 356 |
self.noteColumnListAll = ['UID', 'ITEM_NO'] |
357 | 357 |
self.noteColumnListAll.extend([prop.Attribute for prop in app_doc_data.get_note_attributes()]) |
... | ... | |
480 | 480 |
sys.exc_info()[-1].tb_lineno) |
481 | 481 |
App.mainWnd().addMessage.emit(MessageType.Error, message) |
482 | 482 |
|
483 |
def add_hmb_header(self, header_list): |
|
483 |
@staticmethod |
|
484 |
def add_hmb_header(header_list): |
|
484 | 485 |
''' add hmb data header ''' |
485 | 486 |
app_doc_data = AppDocData.instance() |
486 | 487 |
hmb_datas = app_doc_data.get_hmb_data(None) |
DTI_PID/DTI_PID/SymbolAttrEditorDialog.py | ||
---|---|---|
45 | 45 |
|
46 | 46 |
SYMBOL_ATTR_DATA_TYPES = {'Symbol Item': -1, 'Size Text Item': -1, 'Text Item': -1, 'Tag No': -1, |
47 | 47 |
'Line Item': -1, 'Comp Item': -1, 'EQ Item': -1, 'Int': 1, |
48 |
'String': 1, 'Combined': 1, 'HMB': -1, 'Reference': 1} # 'Valve Oper Code': -1,
|
|
48 |
'String': 1, 'Combined': 1, 'HMB': 1, 'Reference': 1} # 'Valve Oper Code': -1, |
|
49 | 49 |
LINE_NO_ATTR_TYPES = ['Code Table', 'Int', 'String', 'Symbol'] |
50 | 50 |
|
51 | 51 |
def __init__(self, parent, symbolType = None): |
... | ... | |
106 | 106 |
|
107 | 107 |
def changeType(self, text): |
108 | 108 |
""" make combobox for hmb type """ |
109 |
from ItemDataExportDialog import QItemDataExportDialog |
|
110 |
|
|
109 | 111 |
row = self.ui.tableWidgetAttr.indexAt(self.sender().pos()).row() |
110 | 112 |
col = self.ui.tableWidgetAttr.indexAt(self.sender().pos()).column() |
111 | 113 |
|
112 | 114 |
if text == 'HMB': |
113 | 115 |
hmb = QComboBox() |
114 |
hmb.addItems(['aaa', 'bbb']) |
|
116 |
names = [] |
|
117 |
QItemDataExportDialog.add_hmb_header(names) |
|
118 |
hmb.addItems(names) |
|
115 | 119 |
self.ui.tableWidgetAttr.takeItem(row, 1) |
116 | 120 |
self.ui.tableWidgetAttr.setCellWidget(row, 1, hmb) |
117 | 121 |
else: |
... | ... | |
119 | 123 |
self.ui.tableWidgetAttr.removeCellWidget(row, 1) |
120 | 124 |
self.ui.tableWidgetAttr.setItem(row, 1, QTableWidgetItem()) |
121 | 125 |
|
122 |
|
|
123 | 126 |
def cell_double_clicked(self, row, column): |
124 | 127 |
if self._symbolType is None or not (column is 6 or column is 7): return |
125 | 128 |
if hasattr(self.ui.tableWidgetAttr.item(row, 0), 'tag') and \ |
... | ... | |
282 | 285 |
|
283 | 286 |
for index in range(table.rowCount()): |
284 | 287 |
attr = [] |
285 |
attr.append(table.item(index, 0).text() if table.item(index, 0) is not None else '') |
|
286 |
attr.append(table.item(index, 1).text() if table.item(index, 1) is not None else '') |
|
287 |
attr.append(table.item(index, 2).text() if table.item(index, 2) is not None else '') |
|
288 |
attr.append(table.item(index, 0).text() if table.item(index, 0) else '') |
|
289 |
|
|
290 |
attr_name = table.item(index, 1).text() if table.item(index, 1) else \ |
|
291 |
(table.cellWidget(index, 1).currentText() if table.cellWidget(index, 1) else '') |
|
292 |
attr.append(attr_name) |
|
293 |
|
|
294 |
attr_display_name = table.item(index, 2).text() if table.item(index, 2) else attr_name |
|
295 |
attr.append(attr_display_name) |
|
296 |
|
|
297 |
if not attr_name or not attr_display_name: |
|
298 |
QMessageBox.information(self, 'Information', f"'Name' must be set") |
|
299 |
return False |
|
288 | 300 |
|
289 | 301 |
attr_data_type = table.cellWidget(index, 3).currentText() if table.cellWidget(index, 3) else \ |
290 | 302 |
table.item(index, 3).text() |
291 | 303 |
attr.append(attr_data_type) |
292 | 304 |
|
293 |
attr_at = table.item(index, 4).text() if table.item(index, 4) is not None else ''
|
|
294 |
if attr_data_type in ['Text Item', 'Symbol Item'] and not attr_at:
|
|
305 |
attr_at = table.item(index, 4).text() if table.item(index, 4) else '' |
|
306 |
if attr_data_type in [items[0] for items in QSymbolAttrEditorDialog.SYMBOL_ATTR_DATA_TYPES.items() if items[1] == -1] and not attr_at:
|
|
295 | 307 |
QMessageBox.information(self, 'Information', f"'Attr At' must be set for {attr_data_type}") |
296 | 308 |
return False |
297 | 309 |
|
298 | 310 |
attr.append(attr_at) # Attribute At |
299 | 311 |
|
300 |
attr.append(table.item(index, 5).text() if table.item(index, 5) is not None else '') # Expression |
|
301 |
attr.append(table.item(index, 6).data(Qt.UserRole) if table.item(index, 6).data(Qt.UserRole) is not None |
|
302 |
else 'ALL') # Target |
|
312 |
attr.append(table.item(index, 5).text() if table.item(index, 5) else '') # Expression |
|
313 |
attr.append(table.item(index, 6).data(Qt.UserRole) if table.item(index, 6).data(Qt.UserRole) else 'ALL') # Target |
|
303 | 314 |
attr.append(index) |
304 | 315 |
attr.append(table.item(index, 0).data(Qt.UserRole).IsProp) if table.item(index, 0).data(Qt.UserRole) else \ |
305 | 316 |
attr.append(0) |
내보내기 Unified diff