프로젝트

일반

사용자정보

개정판 835465ff

ID835465ff9baf6c19ce5cd8d6b0189edd1f9e1c7f
상위 c57abec2
하위 27ed4592

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

issue #000: display line color

Change-Id: I3900d870752bdb5a5f6d1ff72814453caefe9591

차이점 보기:

DTI_PID/DTI_PID/Commands/SelectAttributeCommand.py
46 46
                from EngineeringAbstractItem import QEngineeringAbstractItem
47 47
                from SymbolSvgItem import SymbolSvgItem
48 48
                from EngineeringTextItem import QEngineeringTextItem
49
                from EngineeringLineNoTextItem import QEngineeringLineNoTextItem
50
                from EngineeringRunItem import QEngineeringRunItem
49 51
                from QEngineeringTagNoTextItem import QEngineeringTagNoTextItem
50 52
                from EngineeringLineItem import QEngineeringLineItem
51 53
                from EngineeringSpecBreakItem import QEngineeringSpecBreakItem
......
66 68
                        self._item.attrs[self._attr] = str(item.uid)
67 69

  
68 70
                        self.onSuccess.emit()
71
                    elif item is not None and (type(item) is QEngineeringLineNoTextItem) and self._attr.AttributeType == 'OWNER':
72
                        if not item.runs:
73
                            item.runs.append(QEngineeringRunItem())
74

  
75
                        if 1 == len(item.runs): item.runs[0].items.append(self._item)
76

  
77
                        self._item.owner = item
78
                        self.onSuccess.emit()
69 79
                    elif item is not None and self._attr.AttributeType == QEngineeringAbstractItem.assoc_type(item):
70 80
                        """
71 81
                        self._item.removeSelfAttr(self._attr.UID)
DTI_PID/DTI_PID/ItemPropertyTableWidget.py
65 65
            if type(item) is QEngineeringLineItem:
66 66
                self.initTitleCell(item)
67 67
                self.setItem(0, 1, QTableWidgetItem(str(item.uid)))
68

  
69
                owner_item = QTableWidgetItem('{}'.format('None' if item.owner is None else item.owner.uid))
70
                icon = QtGui.QIcon()
71
                icon.addPixmap(QtGui.QPixmap(":/newPrefix/doubleclick.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
72
                owner_item.setIcon(icon)
73
                self.setItem(1, 1, owner_item)
74

  
68 75
                pt = item.startPoint()
69
                self.setItem(2, 1, QTableWidgetItem('({},{})'.format(pt[0], pt[1])))
70
                pt = item.endPoint()
71 76
                self.setItem(3, 1, QTableWidgetItem('({},{})'.format(pt[0], pt[1])))
77
                pt = item.endPoint()
78
                self.setItem(4, 1, QTableWidgetItem('({},{})'.format(pt[0], pt[1])))
72 79
                connItem = QTableWidgetItem('{}'.format('None' if item.connectors[0].connectedItem is None else item.connectors[0].connectedItem.uid))
73 80
                icon = QtGui.QIcon()
74 81
                icon.addPixmap(QtGui.QPixmap(":/newPrefix/doubleclick.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
75 82
                connItem.setIcon(icon)
76
                self.setItem(4, 1, connItem)
83
                self.setItem(5, 1, connItem)
77 84
                connItem = QTableWidgetItem('{}'.format('None' if item.connectors[1].connectedItem is None else item.connectors[1].connectedItem.uid))
78 85
                icon = QtGui.QIcon()
79 86
                icon.addPixmap(QtGui.QPixmap(":/newPrefix/doubleclick.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
80 87
                connItem.setIcon(icon)
81
                self.setItem(5, 1, connItem)
88
                self.setItem(6, 1, connItem)
82 89
            elif issubclass(type(item), SymbolSvgItem):
83 90
                self.onSymbolClicked(item)
84 91
            elif type(item) is QEngineeringLineNoTextItem:
......
232 239
                self.setRowCount(1)
233 240
                self.setItem(0, 0, QTableWidgetItem("UID"))
234 241
            elif type(item) is QEngineeringLineItem:
235
                self.setRowCount(6)
242
                self.setRowCount(7)
236 243

  
237 244
                self.setItem(0, 0, QTableWidgetItem('UID'))
245
                self.setItem(1, 0, QTableWidgetItem('OWNER'))
238 246
                widgetItem = QTableWidgetItem("타입")
239 247
                widgetItem.setData(Qt.UserRole, item)
240
                self.setItem(1, 0, widgetItem)
248
                self.setItem(2, 0, widgetItem)
241 249
                self._lineTypeComboBox = QComboBox(self)
242 250
                self._lineTypeComboBox.tag = widgetItem
243 251
                appDocData = AppDocData.instance()
244 252
                lineTypes = appDocData.getLineTypes()
245 253
                for lineType in lineTypes:
246 254
                    self._lineTypeComboBox.addItem(lineType)
247
                self.setCellWidget(1, 1, self._lineTypeComboBox)
255
                self.setCellWidget(2, 1, self._lineTypeComboBox)
248 256
                self._lineTypeComboBox.setCurrentText(item.lineType)
249 257
                self._lineTypeComboBox.currentIndexChanged.connect(self.onLineTypeChanged)
250 258

  
251
                self.setItem(2, 0, QTableWidgetItem("시작점"))
252
                self.setItem(3, 0, QTableWidgetItem("끝점"))
253
                self.setItem(4, 0, QTableWidgetItem("CONN1"))
254
                self.setItem(5, 0, QTableWidgetItem("CONN2"))
259
                self.setItem(3, 0, QTableWidgetItem("시작점"))
260
                self.setItem(4, 0, QTableWidgetItem("끝점"))
261
                self.setItem(5, 0, QTableWidgetItem("CONN1"))
262
                self.setItem(6, 0, QTableWidgetItem("CONN2"))
255 263

  
256 264
            for index in range(self.rowCount()):
257 265
                item = self.item(index, 0)
......
259 267
                    item.setFlags(Qt.ItemIsEnabled)
260 268
                    item.setBackground(QColor(220, 220, 220))
261 269
        except Exception as ex:
262
            print('error occured({}) in {}:{}'.format(ex, sys.exc_info()[-1].tb_frame.f_code.co_filename, sys.exc_info()[-1].tb_lineno))
270
            from App import App 
271

  
272
            message = 'error occured({}) in {}:{}'.format(ex, sys.exc_info()[-1].tb_frame.f_code.co_filename, sys.exc_info()[-1].tb_lineno)
273
            App.mainWnd().addMessage.emit(MessageType.Error, message)
274

  
263 275
    '''
264 276
        @brief  change selected lines' type by selected line type
265 277
        @author humkyung
......
294 306
                self.setItem(2, 1, QTableWidgetItem(self.symData.type))
295 307
                self.setItem(3, 1, QTableWidgetItem(str(round(math.degrees(self.symData.angle)))))
296 308
                self.setItem(4, 1, QTableWidgetItem(str(self.symData.origin)))
297
                self.setItem(5, 1, QTableWidgetItem('{}'.format(self.symData.owner)))
309
                owner_item = QTableWidgetItem('{}'.format(self.symData.owner))
310
                icon = QtGui.QIcon()
311
                icon.addPixmap(QtGui.QPixmap(":/newPrefix/doubleclick.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
312
                owner_item.setIcon(icon)
313
                self.setItem(5, 1, owner_item)
314

  
298 315
                if type(self.symData) is QEngineeringSpecBreakItem:
299 316
                    setSpecsItem = QTableWidgetItem('Open')
300 317
                    icon = QtGui.QIcon()
......
661 678
                cmd = SelectAttributeCommand.SelectAttributeCommand(items[0], attr, self.mainWindow.graphicsView)
662 679
                cmd.onSuccess.connect(self.onSuccessSelectAttribute)
663 680
                self.mainWindow.graphicsView.command = cmd
681
            elif keyCell.text() == 'OWNER' and (type(items[0]) is QEngineeringLineItem) or (issubclass(type(items[0]), SymbolSvgItem)):
682
                from SymbolAttr import SymbolAttr
683
                attr = SymbolAttr()
684
                attr.AttributeType = "OWNER"
685
                cmd = SelectAttributeCommand.SelectAttributeCommand(items[0], attr, self.mainWindow.graphicsView)
686
                cmd.onSuccess.connect(self.onSuccessSelectAttribute)
687
                self.mainWindow.graphicsView.command = cmd
664 688
            elif type(items[0]) is QEngineeringSpecBreakItem:
665 689
                if keyCell.text() == 'UpStream' or keyCell.text() == 'DownStream':
666 690
                    attr = keyCell.tag
DTI_PID/DTI_PID/MainWindow.py
106 106

  
107 107
        self.toolBar.insertWidget(self.actionOCR, self.lineComboBox)
108 108
        self.toolBar.insertSeparator(self.actionOCR)
109
        self._display_widget = QWidget()
110
        layout = QVBoxLayout()
111
        self._by_line_no = QRadioButton()
112
        self._by_line_no.setChecked(True)
113
        self._by_line_no.setText('By Line No')
114
        layout.addWidget(self._by_line_no)
115
        self._by_line_type = QRadioButton()
116
        self._by_line_type.setText('By Line Type')
117
        layout.addWidget(self._by_line_type)
118
        self._display_widget.setLayout(layout)
119
        self.EditToolbar.insertWidget(self.actionOCR, self._display_widget)
120

  
109 121
        self.graphicsView = QtImageViewer.QtImageViewer(self)
110 122
        self.graphicsView.setParent(self.centralwidget)
111 123
        self.graphicsView.useDefaultCommand() ##### USE DEFAULT COMMAND
......
2256 2268
                item.transfer.onRemoved.connect(self.itemRemoved)
2257 2269
                if item: self.addLineItemToScene(item)
2258 2270

  
2259
                #errors = item.validate()
2260
                #for error in errors: self.graphicsView.scene.addItem(error)
2261

  
2262 2271
                self.progress.setValue(self.progress.value() + 1)
2263 2272
                
2264 2273
            QApplication.processEvents()
......
2296 2305
                            uid = uidElement.text
2297 2306
                            runItem = self.graphicsView.findItemByUid(uid)
2298 2307
                            if runItem is not None:
2308
                                runItem._owner = item
2299 2309
                                lineRunItem.items.append(runItem)
2300 2310

  
2301 2311
                    item.runs.append(lineRunItem)
......
2320 2330
                            uid = uidElement.text
2321 2331
                            runItem = self.graphicsView.findItemByUid(uid)
2322 2332
                            if runItem is not None:
2333
                                runItem.owner = item
2323 2334
                                lineRunItem.items.append(runItem)
2324 2335

  
2325 2336
                    item.runs.append(lineRunItem)
......
2557 2568
        print('error occured({}) in {}:{}'.format(ex, sys.exc_info()[-1].tb_frame.f_code.co_filename, sys.exc_info()[-1].tb_lineno))
2558 2569
    finally:
2559 2570
        pass
2560
        
2571
        
DTI_PID/DTI_PID/QtImageViewer.py
292 292
                self.command.execute(['mouseMoveEvent', event, scenePos])
293 293
                if self.command.name == "SelectAttribute":
294 294
                    QGraphicsView.mouseMoveEvent(self, event)
295
                    #attrType = self.command._type
296
                    #item = self.scene.itemAt(scenePos, QTransform())
297
                    #if item is not None and attrType == 'Text Item' and type(item) is QEngineeringTextItem:
298
                    #    QGraphicsView.mouseMoveEvent(self, event)
299
                    #elif item is not None and attrType == 'Symbol Item' and issubclass(type(item), SymbolSvgItem):
300
                    #    QGraphicsView.mouseMoveEvent(self, event)
301
                    #elif item is not None and attrType == 'Line Item' and type(item) is QEngineeringLineItem:
302
                    #    QGraphicsView.mouseMoveEvent(self, event)
303

  
304 295
                if self.command.isTreated == True: return
305 296
        except Exception as ex:
306 297
            print('error occured({}) in {}:{}'.format(ex, sys.exc_info()[-1].tb_frame.f_code.co_filename, sys.exc_info()[-1].tb_lineno))
DTI_PID/DTI_PID/Shapes/EngineeringLineNoTextItem.py
276 276
                                for connector in it.connectors:
277 277
                                    if (connector.connectedItem is not None) and (connector.connectedItem not in visited): pool.append(connector.connectedItem)
278 278
        except Exception as ex:
279
            print('error occured({}) in {}:{}'.format(ex, sys.exc_info()[-1].tb_frame.f_code.co_filename, sys.exc_info()[-1].tb_lineno))
279
            from App import App
280
            from AppDocData import MessageType
281

  
282
            message = 'error occured({}) in {}:{}'.format(ex, sys.exc_info()[-1].tb_frame.f_code.co_filename, sys.exc_info()[-1].tb_lineno)
283
            App.mainWnd().addMessage.emit(MessageType.Error, message)
280 284

  
281 285
        return visited
282 286

  
DTI_PID/DTI_PID/TextItemFactory.py
103 103
                        if configs:
104 104
                            data = configs[0].value
105 105
                            rgb = data.split(',')
106
                            item.setColor(QColor(int(rgb[0]), int(rgb[1]), int(rgb[2])).name())
106
                            item.change_color(QColor(int(rgb[0]), int(rgb[1]), int(rgb[2])).name())
107 107
                    # up to here
108 108
            else:
109 109
                item = self.create_note_no_text(textInfo)

내보내기 Unified diff