프로젝트

일반

사용자정보

개정판 fdd067da

IDfdd067dae40ecc10564db0d1323567bacd607e69
상위 6a7ae25d
하위 8d42ad21, 2ab951b4

함의성이(가) 약 4년 전에 추가함

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

클립보드 이미지 추가 (최대 크기: 500 MB)