프로젝트

일반

사용자정보

개정판 afd3a6da

IDafd3a6daa8c4c8f46b1b94bead6d070a1338b041
상위 c222472b
하위 128db2c5, ead666f0

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

issue #567: fixed a problem to get color of missing object

Change-Id: I9364e744bf1fb9038900ef7dd34e5c7332551958

차이점 보기:

DTI_PID/DTI_PID/ItemPropertyTableWidget.py
331 331
                    value_item.setFlags(Qt.ItemIsEnabled|Qt.ItemIsSelectable)
332 332
                    self.setItem(row, 1, value_item)
333 333
                else:
334
                    value_item = QTableWidgetItem(value if value else '')
335
                    if prop.AttributeType == "String":
336
                        icon = QtGui.QIcon()
337
                        icon.addPixmap(QtGui.QPixmap(":/newPrefix/type.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
338
                        value_item.setIcon(icon)
339
                    value_item.setFlags(Qt.ItemIsEnabled|Qt.ItemIsSelectable|Qt.ItemIsEditable)
340
                    self.setItem(row, 1, value_item)
334
                    if prop.AttributeType == 'Boolean':
335
                        self.freeze_state_cell = QCheckBox()
336
                        self.freeze_state_cell.setChecked(True if value and value == True else False)
337
                        self.freeze_state_cell.stateChanged.connect(self.freeze_state_changed)
338
                        self.setCellWidget(row, 1, self.freeze_state_cell)
339
                    else:
340
                        value_item = QTableWidgetItem(value if value else '')
341
                        if prop.AttributeType == "String":
342
                            icon = QtGui.QIcon()
343
                            icon.addPixmap(QtGui.QPixmap(":/newPrefix/type.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
344
                            value_item.setIcon(icon)
345
                        
346
                        value_item.setFlags(Qt.ItemIsEnabled|Qt.ItemIsSelectable|Qt.ItemIsEditable)
347
                        self.setItem(row, 1, value_item)
341 348
                row = row + 1
342 349
        
343 350
    def show_item_attributes(self, item):
......
528 535
                self._item.attrs.append(('Down Stream', text))
529 536

  
530 537
    '''
531
        @brief      find text item using uid
532
        @author     kyouho
533
        @date       ?
534
    '''
535
    def findTextItemFromUID(self, uid):
536
        items = [item for item in self.mainWindow.graphicsView.scene.items() if issubclass(type(item), QEngineeringTextItem)]
537
        for item in items:
538
            if item.uid == uid:
539
                return item
540
        return None
541

  
542
    '''
543 538
        @brief      Initialize Note Contents Cell
544 539
        @author     Jeongwoo
545 540
        @date       18.04.27
......
705 700
            text = self.item(rows[-1], columns[-1]).text()
706 701
            QApplication.clipboard().setText(text)
707 702

  
703
    def freeze_state_changed(self, state):
704
        """ update freeze value of line """
705
        for row in range(self.rowCount()):
706
            widget = self.cellWidget(row, 1)
707
            if widget is None and widget != self.freeze_state_cell: continue
708
            cell = self.item(row, 0)
709
            if cell:
710
                data = cell.data(Qt.UserRole)
711
                if data is not None:
712
                    if self._item: self._item.properties[data] = self.freeze_state_cell.isChecked()
713

  
708 714
    '''
709 715
        @brief      int cell check
710 716
        @author     kyouho
DTI_PID/DTI_PID/Shapes/EngineeringAbstractItem.py
175 175
            if at is None:
176 176
                self._associations[_type].append(item)
177 177
            else:
178
                self._associations[_type][at] = item
179
            #item.owner = self
178
                self._associations[_type][at] = item
DTI_PID/DTI_PID/Shapes/EngineeringLineNoTextItem.py
34 34

  
35 35
        QEngineeringTextItem.__init__(self, uid, parent)
36 36

  
37
        self._properties = {SymbolProp(None, 'From', 'Comp Item'):None, SymbolProp(None, 'To', 'Comp Item'):None}
37
        self._properties = {SymbolProp(None, 'From', 'Comp Item'):None, SymbolProp(None, 'To', 'Comp Item'):None, SymbolProp(None, 'Freeze', 'Boolean'):None}
38 38
        self._runs = []
39 39

  
40 40
    @property
......
240 240
                    matches = [prop for prop in item._properties.keys() if prop.Attribute == prop_node.attrib['Attribute']]
241 241
                    if matches:
242 242
                        matches[0].parse_xml(prop_node)
243
                        item._properties[matches[0]] = uuid.UUID(prop_node.text, version=4) if prop_node.text and matches[0].is_selectable else prop_node.text if prop_node.text else ''
243
                        item._properties[matches[0]] = matches[0].parse_value(prop_node.text)
244 244
                    
245 245
                for attr_node in node.iter('ATTRIBUTE'):
246 246
                    attr = SymbolAttr.fromXml(attr_node)
DTI_PID/DTI_PID/Shapes/SymbolSvgItem.py
1046 1046
        """
1047 1047
        return hover color if mouse is over otherwise reutrn owner's color if owner exist else this color
1048 1048
        """
1049
        return SymbolSvgItem.HOVER_COLOR if self.hover else (self.owner._color if self._owner else self._color)
1049
        return SymbolSvgItem.HOVER_COLOR if self.hover else (self.owner._color if self._owner and hasattr(self._owner, '_color') else self._color)
1050 1050

  
1051 1051
    '''
1052 1052
        @brief  get attributes from svg file
DTI_PID/DTI_PID/SymbolAttr.py
48 48
        self.Expression = node.attrib['Expression']
49 49
        self.Length = node.attrib['Length']
50 50

  
51
    def parse_value(self, text):
52
        """ parse value of property """
53
        import uuid
54

  
55
        if self.AttributeType == 'Boolean':
56
            return True if text and text == 'True' else False
57
        else:
58
            return uuid.UUID(text, version=4) if text and self.is_selectable else text if text else ''
59

  
51 60
    def toXml(self):
52 61
        """ generate xml code for symbol property """
53 62
        from xml.etree.ElementTree import Element, SubElement, dump, ElementTree

내보내기 Unified diff

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