프로젝트

일반

사용자정보

개정판 79d085a3

ID79d085a3da6ed57d36ea909df2805caa62cf3772
상위 35bbca8a
하위 414cc2e6, 67a46a0c, ea0c60bd

백흠경이(가) 약 6년 전에 추가함

issue #000: fixed loading run from xml file

Change-Id: Ic24ebf37992c69fe137cb8a87795e472577fdb7d

차이점 보기:

DTI_PID/DTI_PID/ItemTreeWidget.py
1 1
# coding: utf-8
2
""" This is item tree widget module """
2 3

  
3 4
import os
4 5
import re
......
43 44
        super(CustomTreeWidgetItem, self).setData(column, role, value)
44 45

  
45 46
class QItemTreeWidget(QTreeWidget):
47
    """ This is item tree widget """
46 48
    TREE_DATA_ROLE = Qt.UserRole
47 49

  
48 50
    #Add Signal
......
71 73
        @brief      delete selected symbol
72 74
        @author     humkyung
73 75
        @date       2018.07.20
74
        
75 76
    '''
76 77
    def keyPressEvent(self, event):
77 78
        try:
......
137 138
                pickColorAction = QAction(self.tr("Select Line Color"))
138 139
                pickColorAction.triggered.connect(lambda : self.pickColorClickEvent(item))
139 140
                menu.addAction(pickColorAction)
141
                explode_action = QAction(self.tr("Explode"))
142
                explode_action.triggered.connect(lambda : self.explode_line_no(item))
143
                menu.addAction(explode_action)
140 144
                menu.exec_(self.viewport().mapToGlobal(position))
141 145
            elif len(indexes) > 0 and data is not None and issubclass(type(data), QEngineeringRunItem):
142 146
                index = indexes[0]
......
168 172
                        connectedItem.setColor(color.name())
169 173
                    self.changeTreeWidgetItemColorRecursively(lineNoTreeWidgetItem, color)
170 174

  
175
    def explode_line_no(self, lineNoTreeWidgetItem):
176
        """ explode line no """
177
        pass
178

  
171 179
    '''
172 180
        @brief      pick line type
173 181
        @author     humkyung 
......
204 212
        self.root.setIcon(0, QIcon(':newPrefix/objects.png'))
205 213
        self.root.setData(0, self.TREE_DATA_ROLE, appDocData.activeDrawing)
206 214
        child = self.root.addChild(QTreeWidgetItem(['LINE NO']))
215
        self.root.child(self.root.childCount() - 1).setFlags(self.root.flags() | Qt.ItemIsTristate | Qt.ItemIsUserCheckable)
216
        self.root.child(self.root.childCount() - 1).setCheckState(0, Qt.Checked)
207 217
        self.LineNoTreeItem = self.root.child(self.root.childCount() - 1)
208 218
        self.root.addChild(QTreeWidgetItem(['EQUIPMENTS']))
209 219
        self.EqpTreeItem = self.root.child(self.root.childCount() - 1)
DTI_PID/DTI_PID/LineNoTracer.py
274 274
                updateProgress.emit(maxValue)
275 275

  
276 276
            ### make trim lines
277
            """
277 278
            updateProgress.emit(-1) # reset progressbar
278 279
            displayMessage.emit('Unknown line Topology Construction')
279 280
            orphanLines = [line for line in self._lines if line.owner is None] 
......
299 300
                            updateProgress.emit(maxValue)
300 301

  
301 302
                    docData.tracerLineNos.append(trimLineNo)
303
            """
302 304
            
303 305
            updateProgress.emit(maxValue)
304 306
        except Exception as ex:
DTI_PID/DTI_PID/MainWindow.py
2412 2412
                if item is not None:
2413 2413
                    item.transfer.onRemoved.connect(self.itemRemoved)
2414 2414
                    self.addTextItemToScene(item)
2415
                    treeItem = self.itemTreeWidget.addTreeItem(self.itemTreeWidget.root, item)
2415 2416

  
2416 2417
                connLine = line_no.find('CONNLINE')
2417 2418
                if connLine is not None:
......
2420 2421
                    if connLine is not None:
2421 2422
                        item.conns.append(connLine)
2422 2423

  
2423
                run = line_no.find('RUN')
2424
                if run is not None:
2425
                    lineRunItem = QEngineeringRunItem()
2426
                    for child in run:
2427
                        uidElement = child.find('UID')
2428
                        if uidElement is not None:
2429
                            uid = uidElement.text
2430
                            runItem = self.graphicsView.findItemByUid(uid)
2431
                            if runItem is not None:
2432
                                runItem._owner = item
2433
                                lineRunItem.items.append(runItem)
2424
                runs = line_no.findall('RUN')
2425
                if runs is not None:
2426
                    for run in runs:
2427
                        line_run = QEngineeringRunItem()
2428
                        for child in run:
2429
                            uidElement = child.find('UID')
2430
                            if uidElement is not None:
2431
                                uid = uidElement.text
2432
                                run_item = self.graphicsView.findItemByUid(uid)
2433
                                if run_item is not None:
2434
                                    run_item._owner = item
2435
                                    line_run.items.append(run_item)
2436
                        item.runs.append(line_run)
2437

  
2438
                        for connectedItem in line_run.items:
2439
                            if issubclass(type(connectedItem), SymbolSvgItem): self.itemTreeWidget.addTreeItem(treeItem, connectedItem)
2434 2440

  
2435
                    item.runs.append(lineRunItem)
2436
                    treeItem = self.itemTreeWidget.addTreeItem(self.itemTreeWidget.root, item)
2437
                    for connectedItem in lineRunItem.items:
2438
                        if issubclass(type(connectedItem), SymbolSvgItem): self.itemTreeWidget.addTreeItem(treeItem, connectedItem)
2439 2441
                    docData.tracerLineNos.append(item)
2440 2442

  
2441 2443
                self.progress.setValue(self.progress.value() + 1)
......
2691 2693
    except Exception as ex:
2692 2694
        print('error occured({}) in {}:{}'.format(ex, sys.exc_info()[-1].tb_frame.f_code.co_filename, sys.exc_info()[-1].tb_lineno))
2693 2695
    finally:
2694
        pass
2695
        
2696
        pass

내보내기 Unified diff

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