프로젝트

일반

사용자정보

개정판 03d1b1d2

ID03d1b1d281b02675216008e3c81ef4845cf7ddcc
상위 93af79e0
하위 552ff79e

백흠경이(가) 4년 이상 전에 추가함

AutoCAD 파일에서 Text뿐 아니라 Line도 가져오도록 개선

Change-Id: I52c99d732e7008f5f01975d0338f7aee19371b88

차이점 보기:

DTI_PID/DTI_PID/ConfigurationAreaDialog.py
48 48
        self.ui.tableWidgetTitleBlockArea.hideColumn(0)
49 49
        self.isAccepted = False
50 50
        self._cmd = FenceCommand.FenceCommand(self.parent().graphicsView)
51
        self._cmd.onSuccess.connect(self.onAreaCreated)
51
        self._cmd.onSuccess.connect(self.on_area_created)
52 52

  
53 53
        docData = AppDocData.instance()
54 54
        areas = docData.getAreaList()
55 55

  
56 56
        # load area of drawing
57
        matches = [x for x in areas if x.name == 'Size']
58
        self.ui.lineEditSize.tag = QGraphicsBoundingBoxItem(matches[0].x, matches[0].y, matches[0].width,
59
                                                            matches[0].height) if len(matches) == 1 else None
60
        if self.ui.lineEditSize.tag is not None:
61
            self.ui.lineEditSize.tag.transfer.onSizeChanged.connect(self.onBoundingBoxChanged)
62
            self.ui.lineEditSize.setText(
63
                f"({round(matches[0].x)},{round(matches[0].y)}),({round(matches[0].width)},{round(matches[0].height)})")
64
            self.ui.lineEditSize.tag.setPen(QPen(Qt.gray, THICKNESS, Qt.SolidLine))
65
            self.parent().graphicsView.scene().addItem(self.ui.lineEditSize.tag)
66
        self.ui.pushButtonSizeArea.setStyleSheet('background-color: gray')
67

  
57 68
        matches = [x for x in areas if x.name == 'Drawing']
58 69
        self.ui.lineEditDrawing.tag = QGraphicsBoundingBoxItem(matches[0].x, matches[0].y, matches[0].width,
59 70
                                                               matches[0].height) if len(matches) == 1 else None
......
214 225
        if self.ui.tableWidgetTypicalArea.rowCount() is not 0:
215 226
            self.ui.tableWidgetTypicalArea.resizeColumnsToContents()
216 227

  
228
        self.ui.pushButtonSizeArea.clicked.connect(self.on_select_size_area)
229
        self.ui.toolButtonDelSizeArea.clicked.connect(self.on_delete_area)
217 230
        self.ui.pushButtonDrawingArea.clicked.connect(self.selectDrawingArea)
218 231
        self.ui.pushButtonNoteArea.clicked.connect(self.selectNoteArea)
219 232
        self.ui.pushButtonHistoryDataArea.clicked.connect(self.selectHistoryDataArea)
220 233
        self.ui.pushButtonDrawingNoArea.clicked.connect(self.selectDrawingNoArea)
221 234
        self.ui.pushButtonRevNoArea.clicked.connect(self.selectRevNoArea)
222 235
        self.ui.pushButtonUnitArea.clicked.connect(self.onSelectUnitArea)
223
        self.ui.pushButtonDelDrawingArea.clicked.connect(self.deleteArea)
224
        self.ui.pushButtonDelNoteArea.clicked.connect(self.deleteArea)
225
        self.ui.pushButtonDelHistoryDataArea.clicked.connect(self.deleteArea)
226
        self.ui.pushButtonDelRevNoArea.clicked.connect(self.deleteArea)
227
        self.ui.pushButtonDelDrawingNoArea.clicked.connect(self.deleteArea)
228
        self.ui.pushButtonDelUnitArea.clicked.connect(self.deleteArea)
236
        self.ui.pushButtonDelDrawingArea.clicked.connect(self.on_delete_area)
237
        self.ui.pushButtonDelNoteArea.clicked.connect(self.on_delete_area)
238
        self.ui.pushButtonDelHistoryDataArea.clicked.connect(self.on_delete_area)
239
        self.ui.pushButtonDelRevNoArea.clicked.connect(self.on_delete_area)
240
        self.ui.pushButtonDelDrawingNoArea.clicked.connect(self.on_delete_area)
241
        self.ui.pushButtonDelUnitArea.clicked.connect(self.on_delete_area)
229 242

  
230 243
        self.ui.pushButtonAddTitleBlockProp.clicked.connect(self.onSelectTitleBlockArea)
231 244
        self.ui.pushButtonDelTitleBlockProp.clicked.connect(self.onDeleteTitleBlockArea)
......
234 247
        self.ui.pushButtonAddTypicalArea.clicked.connect(self.onSelectTypicalArea)
235 248
        self.ui.pushButtonDelTypicalArea.clicked.connect(self.onDeleteTypicalArea)
236 249

  
237
    def deleteArea(self, event):
238
        '''
239
            @brief  delete area by minus button clicked
240
            @author euisung
241
            @date   2018.11.20
242
        '''
250
    def on_delete_area(self, event):
251
        """delete area by clicking minus button"""
252

  
243 253
        sender = self.sender()
244 254
        # remove text and tag
245 255
        '''
......
275 285
                self.ui.lineEditUnitArea.tag = None
276 286
        '''
277 287
        # set text and tag (0,0),(0,0)
278
        if sender is self.ui.pushButtonDelDrawingArea:
288
        if sender is self.ui.toolButtonDelSizeArea:
289
            if self.ui.lineEditSize.tag is not None:
290
                self.ui.lineEditSize.setText('(0,0),(0,0)')
291
                self.ui.lineEditSize.tag.setRect(0, 0, 0, 0)
292
        elif sender is self.ui.pushButtonDelDrawingArea:
279 293
            if self.ui.lineEditDrawing.tag is not None:
280 294
                self.ui.lineEditDrawing.setText('(0,0),(0,0)')
281 295
                self.ui.lineEditDrawing.tag.setRect(0, 0, 0, 0)
......
300 314
                self.ui.lineEditUnitArea.setText('(0,0),(0,0)')
301 315
                self.ui.lineEditUnitArea.tag.setRect(0, 0, 0, 0)
302 316

  
317
    def on_select_size_area(self):
318
        self._cmd.tag = self.ui.lineEditSize
319
        self.parent().graphicsView.command = self._cmd
320

  
303 321
    def selectDrawingArea(self):
304 322
        self._cmd.tag = self.ui.lineEditDrawing
305 323
        self.parent().graphicsView.command = self._cmd
......
429 447
                                                           sys.exc_info()[-1].tb_lineno)
430 448
            App.mainWnd().addMessage.emit(MessageType.Error, message)
431 449

  
432
    '''
433
        @brief      called when area is created
434
        @history    humkyung 2018.06.29 add equipment desc. area
435
    '''
436

  
437
    def onAreaCreated(self, x, y, width, height):
450
    def on_area_created(self, x, y, width, height):
451
        """called when area is created"""
438 452
        import uuid
439 453
        THICKNESS = 5
440 454

  
441
        if self._cmd.tag is self.ui.lineEditDrawing:
455
        if self._cmd.tag is self.ui.lineEditSize:
456
            if self.ui.lineEditSize.tag is None:
457
                item = QGraphicsBoundingBoxItem(x, y, width, height)
458
                item.setPen(QPen(Qt.gray, THICKNESS, Qt.SolidLine))
459
                self.parent().graphicsView.scene().addItem(item)
460

  
461
                self.ui.lineEditSize.tag = item
462
            else:
463
                self.ui.lineEditSize.tag.setRect(x, y, width, height)
464

  
465
            self.ui.lineEditSize.setText(f"({round(x)},{round(y)}),({round(width)},{round(height)})")
466
        elif self._cmd.tag is self.ui.lineEditDrawing:
442 467
            if self.ui.lineEditDrawing.tag is None:
443 468
                item = QGraphicsBoundingBoxItem(x, y, width, height)
444 469
                item.setPen(QPen(Qt.red, THICKNESS, Qt.SolidLine))
......
598 623
        y = boundingBox.rect().top()
599 624
        width = boundingBox.rect().width()
600 625
        height = boundingBox.rect().height()
601
        if boundingBox is self.ui.lineEditDrawing.tag:
626

  
627
        if boundingBox is self.ui.lineEditSize.tag:
628
            self.ui.lineEditSize.setText('({},{}),({},{})'.format(round(x), round(y), round(width), round(height)))
629
        elif boundingBox is self.ui.lineEditDrawing.tag:
602 630
            self.ui.lineEditDrawing.setText('({},{}),({},{})'.format(round(x), round(y), round(width), round(height)))
603 631
        elif boundingBox is self.ui.lineEditNote.tag:
604 632
            self.ui.lineEditNote.setText('({},{}),({},{})'.format(round(x), round(y), round(width), round(height)))
......
639 667
        try:
640 668
            areas = []
641 669

  
670
            if self.ui.lineEditSize.tag is not None:
671
                area = Area('Size')
672
                rect = self.ui.lineEditSize.tag.rect()
673
                area.x, area.y = rect.left(), rect.top()
674
                area.width, area.height = rect.width(), rect.height()
675
                areas.append(area)
676
                self.parent().graphicsView.scene().removeItem(self.ui.lineEditSize.tag)
677

  
642 678
            if self.ui.lineEditDrawing.tag is not None:
643 679
                area = Area('Drawing')
644 680
                area.x = self.ui.lineEditDrawing.tag.rect().left()
......
755 791
    '''
756 792

  
757 793
    def reject(self):
794
        if self.ui.lineEditSize.tag is not None:
795
            self.parent().graphicsView.scene().removeItem(self.ui.lineEditSize.tag)
796

  
758 797
        if self.ui.lineEditDrawing.tag is not None:
759 798
            self.parent().graphicsView.scene().removeItem(self.ui.lineEditDrawing.tag)
760 799

  
DTI_PID/DTI_PID/Configuration_Area_UI.py
1 1
# -*- coding: utf-8 -*-
2 2

  
3
# Form implementation generated from reading ui file './UI/Configuration_Area.ui'
3
# Form implementation generated from reading ui file '.\UI\Configuration_Area.ui'
4 4
#
5
# Created by: PyQt5 UI code generator 5.11.3
5
# Created by: PyQt5 UI code generator 5.13.1
6 6
#
7 7
# WARNING! All changes made in this file will be lost!
8 8

  
9

  
9 10
from PyQt5 import QtCore, QtGui, QtWidgets
10 11

  
12

  
11 13
class Ui_AreaDialog(object):
12 14
    def setupUi(self, AreaDialog):
13 15
        AreaDialog.setObjectName("AreaDialog")
......
24 26
        self.groupBox.setObjectName("groupBox")
25 27
        self.gridLayout_2 = QtWidgets.QGridLayout(self.groupBox)
26 28
        self.gridLayout_2.setObjectName("gridLayout_2")
27
        self.label_3 = QtWidgets.QLabel(self.groupBox)
28
        self.label_3.setObjectName("label_3")
29
        self.gridLayout_2.addWidget(self.label_3, 3, 0, 1, 1)
30
        self.pushButtonUnitArea = QtWidgets.QPushButton(self.groupBox)
31
        self.pushButtonUnitArea.setMaximumSize(QtCore.QSize(24, 16777215))
32
        self.pushButtonUnitArea.setObjectName("pushButtonUnitArea")
33
        self.gridLayout_2.addWidget(self.pushButtonUnitArea, 5, 4, 1, 1)
34
        self.lineEditRevNo = QtWidgets.QLineEdit(self.groupBox)
35
        self.lineEditRevNo.setReadOnly(True)
36
        self.lineEditRevNo.setObjectName("lineEditRevNo")
37
        self.gridLayout_2.addWidget(self.lineEditRevNo, 3, 1, 1, 1)
29
        self.gridLayout_6 = QtWidgets.QGridLayout()
30
        self.gridLayout_6.setObjectName("gridLayout_6")
31
        self.pushButtonDelDrawingArea = QtWidgets.QToolButton(self.groupBox)
32
        self.pushButtonDelDrawingArea.setText("")
33
        icon1 = QtGui.QIcon()
34
        icon1.addPixmap(QtGui.QPixmap(":/newPrefix/Remove.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
35
        self.pushButtonDelDrawingArea.setIcon(icon1)
36
        self.pushButtonDelDrawingArea.setObjectName("pushButtonDelDrawingArea")
37
        self.gridLayout_6.addWidget(self.pushButtonDelDrawingArea, 1, 3, 1, 1)
38
        self.pushButtonNoteArea = QtWidgets.QPushButton(self.groupBox)
39
        self.pushButtonNoteArea.setMinimumSize(QtCore.QSize(20, 0))
40
        self.pushButtonNoteArea.setMaximumSize(QtCore.QSize(24, 16777215))
41
        self.pushButtonNoteArea.setObjectName("pushButtonNoteArea")
42
        self.gridLayout_6.addWidget(self.pushButtonNoteArea, 2, 2, 1, 1)
43
        self.label_4 = QtWidgets.QLabel(self.groupBox)
44
        self.label_4.setObjectName("label_4")
45
        self.gridLayout_6.addWidget(self.label_4, 5, 0, 1, 1)
46
        self.pushButtonRevNoArea = QtWidgets.QPushButton(self.groupBox)
47
        self.pushButtonRevNoArea.setMaximumSize(QtCore.QSize(24, 16777215))
48
        self.pushButtonRevNoArea.setObjectName("pushButtonRevNoArea")
49
        self.gridLayout_6.addWidget(self.pushButtonRevNoArea, 4, 2, 1, 1)
50
        self.lineEditHistoryData = QtWidgets.QLineEdit(self.groupBox)
51
        self.lineEditHistoryData.setReadOnly(True)
52
        self.lineEditHistoryData.setObjectName("lineEditHistoryData")
53
        self.gridLayout_6.addWidget(self.lineEditHistoryData, 3, 1, 1, 1)
38 54
        self.pushButtonHistoryDataArea = QtWidgets.QPushButton(self.groupBox)
39 55
        self.pushButtonHistoryDataArea.setMaximumSize(QtCore.QSize(24, 16777215))
40 56
        self.pushButtonHistoryDataArea.setObjectName("pushButtonHistoryDataArea")
41
        self.gridLayout_2.addWidget(self.pushButtonHistoryDataArea, 2, 4, 1, 1)
57
        self.gridLayout_6.addWidget(self.pushButtonHistoryDataArea, 3, 2, 1, 1)
58
        self.lineEditRevNo = QtWidgets.QLineEdit(self.groupBox)
59
        self.lineEditRevNo.setReadOnly(True)
60
        self.lineEditRevNo.setObjectName("lineEditRevNo")
61
        self.gridLayout_6.addWidget(self.lineEditRevNo, 4, 1, 1, 1)
62
        self.label_3 = QtWidgets.QLabel(self.groupBox)
63
        self.label_3.setObjectName("label_3")
64
        self.gridLayout_6.addWidget(self.label_3, 4, 0, 1, 1)
65
        self.lineEditDrawingNo = QtWidgets.QLineEdit(self.groupBox)
66
        self.lineEditDrawingNo.setReadOnly(True)
67
        self.lineEditDrawingNo.setObjectName("lineEditDrawingNo")
68
        self.gridLayout_6.addWidget(self.lineEditDrawingNo, 5, 1, 1, 1)
69
        self.label_2 = QtWidgets.QLabel(self.groupBox)
70
        self.label_2.setObjectName("label_2")
71
        self.gridLayout_6.addWidget(self.label_2, 3, 0, 1, 1)
72
        self.pushButtonDrawingArea = QtWidgets.QPushButton(self.groupBox)
73
        self.pushButtonDrawingArea.setMaximumSize(QtCore.QSize(24, 16777215))
74
        self.pushButtonDrawingArea.setObjectName("pushButtonDrawingArea")
75
        self.gridLayout_6.addWidget(self.pushButtonDrawingArea, 1, 2, 1, 1)
76
        self.lineEditDrawing = QtWidgets.QLineEdit(self.groupBox)
77
        self.lineEditDrawing.setReadOnly(True)
78
        self.lineEditDrawing.setObjectName("lineEditDrawing")
79
        self.gridLayout_6.addWidget(self.lineEditDrawing, 1, 1, 1, 1)
80
        self.label = QtWidgets.QLabel(self.groupBox)
81
        self.label.setObjectName("label")
82
        self.gridLayout_6.addWidget(self.label, 2, 0, 1, 1)
42 83
        self.lineEditNote = QtWidgets.QLineEdit(self.groupBox)
43 84
        self.lineEditNote.setReadOnly(True)
44 85
        self.lineEditNote.setObjectName("lineEditNote")
45
        self.gridLayout_2.addWidget(self.lineEditNote, 1, 1, 1, 1)
46
        self.lineEditHistoryData = QtWidgets.QLineEdit(self.groupBox)
47
        self.lineEditHistoryData.setReadOnly(True)
48
        self.lineEditHistoryData.setObjectName("lineEditHistoryData")
49
        self.gridLayout_2.addWidget(self.lineEditHistoryData, 2, 1, 1, 1)
50
        self.pushButtonRevNoArea = QtWidgets.QPushButton(self.groupBox)
51
        self.pushButtonRevNoArea.setMaximumSize(QtCore.QSize(24, 16777215))
52
        self.pushButtonRevNoArea.setObjectName("pushButtonRevNoArea")
53
        self.gridLayout_2.addWidget(self.pushButtonRevNoArea, 3, 4, 1, 1)
86
        self.gridLayout_6.addWidget(self.lineEditNote, 2, 1, 1, 1)
54 87
        self.label_6 = QtWidgets.QLabel(self.groupBox)
55 88
        font = QtGui.QFont()
56 89
        font.setBold(False)
57 90
        font.setWeight(50)
58 91
        self.label_6.setFont(font)
59 92
        self.label_6.setObjectName("label_6")
60
        self.gridLayout_2.addWidget(self.label_6, 0, 0, 1, 1)
61
        self.lineEditDrawing = QtWidgets.QLineEdit(self.groupBox)
62
        self.lineEditDrawing.setReadOnly(True)
63
        self.lineEditDrawing.setObjectName("lineEditDrawing")
64
        self.gridLayout_2.addWidget(self.lineEditDrawing, 0, 1, 1, 1)
65
        self.label_7 = QtWidgets.QLabel(self.groupBox)
66
        self.label_7.setObjectName("label_7")
67
        self.gridLayout_2.addWidget(self.label_7, 5, 0, 1, 1)
68
        self.label_4 = QtWidgets.QLabel(self.groupBox)
69
        self.label_4.setObjectName("label_4")
70
        self.gridLayout_2.addWidget(self.label_4, 4, 0, 1, 1)
71
        self.pushButtonNoteArea = QtWidgets.QPushButton(self.groupBox)
72
        self.pushButtonNoteArea.setMinimumSize(QtCore.QSize(20, 0))
73
        self.pushButtonNoteArea.setMaximumSize(QtCore.QSize(24, 16777215))
74
        self.pushButtonNoteArea.setObjectName("pushButtonNoteArea")
75
        self.gridLayout_2.addWidget(self.pushButtonNoteArea, 1, 4, 1, 1)
76
        self.label_2 = QtWidgets.QLabel(self.groupBox)
77
        self.label_2.setObjectName("label_2")
78
        self.gridLayout_2.addWidget(self.label_2, 2, 0, 1, 1)
93
        self.gridLayout_6.addWidget(self.label_6, 1, 0, 1, 1)
94
        self.pushButtonDelDrawingNoArea = QtWidgets.QToolButton(self.groupBox)
95
        self.pushButtonDelDrawingNoArea.setText("")
96
        self.pushButtonDelDrawingNoArea.setIcon(icon1)
97
        self.pushButtonDelDrawingNoArea.setObjectName("pushButtonDelDrawingNoArea")
98
        self.gridLayout_6.addWidget(self.pushButtonDelDrawingNoArea, 5, 3, 1, 1)
79 99
        self.lineEditUnitArea = QtWidgets.QLineEdit(self.groupBox)
80 100
        self.lineEditUnitArea.setReadOnly(True)
81 101
        self.lineEditUnitArea.setObjectName("lineEditUnitArea")
82
        self.gridLayout_2.addWidget(self.lineEditUnitArea, 5, 1, 1, 1)
83
        self.label = QtWidgets.QLabel(self.groupBox)
84
        self.label.setObjectName("label")
85
        self.gridLayout_2.addWidget(self.label, 1, 0, 1, 1)
86
        self.lineEditDrawingNo = QtWidgets.QLineEdit(self.groupBox)
87
        self.lineEditDrawingNo.setReadOnly(True)
88
        self.lineEditDrawingNo.setObjectName("lineEditDrawingNo")
89
        self.gridLayout_2.addWidget(self.lineEditDrawingNo, 4, 1, 1, 1)
102
        self.gridLayout_6.addWidget(self.lineEditUnitArea, 6, 1, 1, 1)
103
        self.pushButtonUnitArea = QtWidgets.QPushButton(self.groupBox)
104
        self.pushButtonUnitArea.setMaximumSize(QtCore.QSize(24, 16777215))
105
        self.pushButtonUnitArea.setObjectName("pushButtonUnitArea")
106
        self.gridLayout_6.addWidget(self.pushButtonUnitArea, 6, 2, 1, 1)
90 107
        self.pushButtonDrawingNoArea = QtWidgets.QPushButton(self.groupBox)
91 108
        self.pushButtonDrawingNoArea.setMaximumSize(QtCore.QSize(24, 16777215))
92 109
        self.pushButtonDrawingNoArea.setObjectName("pushButtonDrawingNoArea")
93
        self.gridLayout_2.addWidget(self.pushButtonDrawingNoArea, 4, 4, 1, 1)
94
        self.pushButtonDrawingArea = QtWidgets.QPushButton(self.groupBox)
95
        self.pushButtonDrawingArea.setMaximumSize(QtCore.QSize(24, 16777215))
96
        self.pushButtonDrawingArea.setObjectName("pushButtonDrawingArea")
97
        self.gridLayout_2.addWidget(self.pushButtonDrawingArea, 0, 4, 1, 1)
98
        self.pushButtonDelDrawingArea = QtWidgets.QPushButton(self.groupBox)
99
        self.pushButtonDelDrawingArea.setMaximumSize(QtCore.QSize(24, 16777215))
100
        self.pushButtonDelDrawingArea.setObjectName("pushButtonDelDrawingArea")
101
        self.gridLayout_2.addWidget(self.pushButtonDelDrawingArea, 0, 5, 1, 1)
102
        self.pushButtonDelNoteArea = QtWidgets.QPushButton(self.groupBox)
103
        self.pushButtonDelNoteArea.setMaximumSize(QtCore.QSize(24, 16777215))
104
        self.pushButtonDelNoteArea.setObjectName("pushButtonDelNoteArea")
105
        self.gridLayout_2.addWidget(self.pushButtonDelNoteArea, 1, 5, 1, 1)
106
        self.pushButtonDelHistoryDataArea = QtWidgets.QPushButton(self.groupBox)
107
        self.pushButtonDelHistoryDataArea.setMaximumSize(QtCore.QSize(24, 16777215))
108
        self.pushButtonDelHistoryDataArea.setObjectName("pushButtonDelHistoryDataArea")
109
        self.gridLayout_2.addWidget(self.pushButtonDelHistoryDataArea, 2, 5, 1, 1)
110
        self.pushButtonDelRevNoArea = QtWidgets.QPushButton(self.groupBox)
111
        self.pushButtonDelRevNoArea.setMaximumSize(QtCore.QSize(24, 16777215))
112
        self.pushButtonDelRevNoArea.setObjectName("pushButtonDelRevNoArea")
113
        self.gridLayout_2.addWidget(self.pushButtonDelRevNoArea, 3, 5, 1, 1)
114
        self.pushButtonDelDrawingNoArea = QtWidgets.QPushButton(self.groupBox)
115
        self.pushButtonDelDrawingNoArea.setMaximumSize(QtCore.QSize(25, 16777215))
116
        self.pushButtonDelDrawingNoArea.setObjectName("pushButtonDelDrawingNoArea")
117
        self.gridLayout_2.addWidget(self.pushButtonDelDrawingNoArea, 4, 5, 1, 1)
118
        self.pushButtonDelUnitArea = QtWidgets.QPushButton(self.groupBox)
119
        self.pushButtonDelUnitArea.setMaximumSize(QtCore.QSize(24, 16777215))
110
        self.gridLayout_6.addWidget(self.pushButtonDrawingNoArea, 5, 2, 1, 1)
111
        self.pushButtonDelUnitArea = QtWidgets.QToolButton(self.groupBox)
112
        self.pushButtonDelUnitArea.setText("")
113
        self.pushButtonDelUnitArea.setIcon(icon1)
120 114
        self.pushButtonDelUnitArea.setObjectName("pushButtonDelUnitArea")
121
        self.gridLayout_2.addWidget(self.pushButtonDelUnitArea, 5, 5, 1, 1)
115
        self.gridLayout_6.addWidget(self.pushButtonDelUnitArea, 6, 3, 1, 1)
116
        self.label_7 = QtWidgets.QLabel(self.groupBox)
117
        self.label_7.setObjectName("label_7")
118
        self.gridLayout_6.addWidget(self.label_7, 6, 0, 1, 1)
119
        self.pushButtonDelRevNoArea = QtWidgets.QToolButton(self.groupBox)
120
        self.pushButtonDelRevNoArea.setText("")
121
        self.pushButtonDelRevNoArea.setIcon(icon1)
122
        self.pushButtonDelRevNoArea.setObjectName("pushButtonDelRevNoArea")
123
        self.gridLayout_6.addWidget(self.pushButtonDelRevNoArea, 4, 3, 1, 1)
124
        self.pushButtonDelHistoryDataArea = QtWidgets.QToolButton(self.groupBox)
125
        self.pushButtonDelHistoryDataArea.setText("")
126
        self.pushButtonDelHistoryDataArea.setIcon(icon1)
127
        self.pushButtonDelHistoryDataArea.setObjectName("pushButtonDelHistoryDataArea")
128
        self.gridLayout_6.addWidget(self.pushButtonDelHistoryDataArea, 3, 3, 1, 1)
129
        self.pushButtonDelNoteArea = QtWidgets.QToolButton(self.groupBox)
130
        self.pushButtonDelNoteArea.setText("")
131
        self.pushButtonDelNoteArea.setIcon(icon1)
132
        self.pushButtonDelNoteArea.setObjectName("pushButtonDelNoteArea")
133
        self.gridLayout_6.addWidget(self.pushButtonDelNoteArea, 2, 3, 1, 1)
134
        self.label_5 = QtWidgets.QLabel(self.groupBox)
135
        self.label_5.setObjectName("label_5")
136
        self.gridLayout_6.addWidget(self.label_5, 0, 0, 1, 1)
137
        self.lineEditSize = QtWidgets.QLineEdit(self.groupBox)
138
        self.lineEditSize.setObjectName("lineEditSize")
139
        self.gridLayout_6.addWidget(self.lineEditSize, 0, 1, 1, 1)
140
        self.pushButtonSizeArea = QtWidgets.QPushButton(self.groupBox)
141
        self.pushButtonSizeArea.setMaximumSize(QtCore.QSize(24, 16777215))
142
        self.pushButtonSizeArea.setObjectName("pushButtonSizeArea")
143
        self.gridLayout_6.addWidget(self.pushButtonSizeArea, 0, 2, 1, 1)
144
        self.toolButtonDelSizeArea = QtWidgets.QToolButton(self.groupBox)
145
        self.toolButtonDelSizeArea.setText("")
146
        self.toolButtonDelSizeArea.setIcon(icon1)
147
        self.toolButtonDelSizeArea.setObjectName("toolButtonDelSizeArea")
148
        self.gridLayout_6.addWidget(self.toolButtonDelSizeArea, 0, 3, 1, 1)
149
        self.gridLayout_2.addLayout(self.gridLayout_6, 0, 0, 1, 1)
122 150
        self.gridLayout.addWidget(self.groupBox, 1, 0, 1, 1)
123 151
        self.groupBoxEquipmentDesc = QtWidgets.QGroupBox(AreaDialog)
124 152
        self.groupBoxEquipmentDesc.setObjectName("groupBoxEquipmentDesc")
......
131 159
        self.lineEditEquipmentDescArea = QtWidgets.QLineEdit(self.groupBoxEquipmentDesc)
132 160
        self.lineEditEquipmentDescArea.setObjectName("lineEditEquipmentDescArea")
133 161
        self.horizontalLayout.addWidget(self.lineEditEquipmentDescArea)
134
        self.pushButtonAdd = QtWidgets.QPushButton(self.groupBoxEquipmentDesc)
135
        self.pushButtonAdd.setMaximumSize(QtCore.QSize(22, 16777215))
162
        self.pushButtonAdd = QtWidgets.QToolButton(self.groupBoxEquipmentDesc)
163
        self.pushButtonAdd.setText("")
164
        icon2 = QtGui.QIcon()
165
        icon2.addPixmap(QtGui.QPixmap(":/newPrefix/Add.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
166
        self.pushButtonAdd.setIcon(icon2)
136 167
        self.pushButtonAdd.setObjectName("pushButtonAdd")
137 168
        self.horizontalLayout.addWidget(self.pushButtonAdd)
138
        self.pushButtonDel = QtWidgets.QPushButton(self.groupBoxEquipmentDesc)
139
        self.pushButtonDel.setMaximumSize(QtCore.QSize(22, 16777215))
169
        self.pushButtonDel = QtWidgets.QToolButton(self.groupBoxEquipmentDesc)
170
        self.pushButtonDel.setText("")
171
        self.pushButtonDel.setIcon(icon1)
140 172
        self.pushButtonDel.setObjectName("pushButtonDel")
141 173
        self.horizontalLayout.addWidget(self.pushButtonDel)
142 174
        self.verticalLayout.addLayout(self.horizontalLayout)
......
171 203
        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
172 204
        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
173 205
        self.horizontalLayout_3.addItem(spacerItem)
174
        self.pushButtonAddTitleBlockProp = QtWidgets.QPushButton(self.groupBoxTitleBlock)
175
        self.pushButtonAddTitleBlockProp.setMinimumSize(QtCore.QSize(22, 0))
176
        self.pushButtonAddTitleBlockProp.setMaximumSize(QtCore.QSize(22, 16777215))
206
        self.pushButtonAddTitleBlockProp = QtWidgets.QToolButton(self.groupBoxTitleBlock)
207
        self.pushButtonAddTitleBlockProp.setText("")
208
        self.pushButtonAddTitleBlockProp.setIcon(icon2)
177 209
        self.pushButtonAddTitleBlockProp.setObjectName("pushButtonAddTitleBlockProp")
178 210
        self.horizontalLayout_3.addWidget(self.pushButtonAddTitleBlockProp)
179
        self.pushButtonDelTitleBlockProp = QtWidgets.QPushButton(self.groupBoxTitleBlock)
180
        self.pushButtonDelTitleBlockProp.setMinimumSize(QtCore.QSize(22, 0))
181
        self.pushButtonDelTitleBlockProp.setMaximumSize(QtCore.QSize(22, 16777215))
211
        self.pushButtonDelTitleBlockProp = QtWidgets.QToolButton(self.groupBoxTitleBlock)
212
        self.pushButtonDelTitleBlockProp.setText("")
213
        self.pushButtonDelTitleBlockProp.setIcon(icon1)
182 214
        self.pushButtonDelTitleBlockProp.setObjectName("pushButtonDelTitleBlockProp")
183 215
        self.horizontalLayout_3.addWidget(self.pushButtonDelTitleBlockProp)
184 216
        self.gridLayout_4.addLayout(self.horizontalLayout_3, 0, 0, 1, 1)
......
199 231
        self.lineEditTypicalArea = QtWidgets.QLineEdit(self.groupBoxTypicalArea)
200 232
        self.lineEditTypicalArea.setObjectName("lineEditTypicalArea")
201 233
        self.horizontalLayout_5.addWidget(self.lineEditTypicalArea)
202
        self.pushButtonAddTypicalArea = QtWidgets.QPushButton(self.groupBoxTypicalArea)
203
        self.pushButtonAddTypicalArea.setMinimumSize(QtCore.QSize(22, 0))
204
        self.pushButtonAddTypicalArea.setMaximumSize(QtCore.QSize(22, 16777215))
234
        self.pushButtonAddTypicalArea = QtWidgets.QToolButton(self.groupBoxTypicalArea)
235
        self.pushButtonAddTypicalArea.setText("")
236
        self.pushButtonAddTypicalArea.setIcon(icon2)
205 237
        self.pushButtonAddTypicalArea.setObjectName("pushButtonAddTypicalArea")
206 238
        self.horizontalLayout_5.addWidget(self.pushButtonAddTypicalArea)
207
        self.pushButtonDelTypicalArea = QtWidgets.QPushButton(self.groupBoxTypicalArea)
208
        self.pushButtonDelTypicalArea.setMinimumSize(QtCore.QSize(22, 0))
209
        self.pushButtonDelTypicalArea.setMaximumSize(QtCore.QSize(22, 16777215))
239
        self.pushButtonDelTypicalArea = QtWidgets.QToolButton(self.groupBoxTypicalArea)
240
        self.pushButtonDelTypicalArea.setText("")
241
        self.pushButtonDelTypicalArea.setIcon(icon1)
210 242
        self.pushButtonDelTypicalArea.setObjectName("pushButtonDelTypicalArea")
211 243
        self.horizontalLayout_5.addWidget(self.pushButtonDelTypicalArea)
212 244
        self.verticalLayout_2.addLayout(self.horizontalLayout_5)
......
230 262
        _translate = QtCore.QCoreApplication.translate
231 263
        AreaDialog.setWindowTitle(_translate("AreaDialog", "Setup Area"))
232 264
        self.groupBox.setTitle(_translate("AreaDialog", "Area"))
233
        self.label_3.setText(_translate("AreaDialog", "Rev. No : "))
234
        self.pushButtonUnitArea.setText(_translate("AreaDialog", "..."))
235
        self.pushButtonHistoryDataArea.setText(_translate("AreaDialog", "..."))
236
        self.pushButtonRevNoArea.setText(_translate("AreaDialog", "..."))
237
        self.label_6.setText(_translate("AreaDialog", "Drawing : "))
238
        self.label_7.setText(_translate("AreaDialog", "Unit : "))
239
        self.label_4.setText(_translate("AreaDialog", "Drawing No : "))
240 265
        self.pushButtonNoteArea.setText(_translate("AreaDialog", "..."))
266
        self.label_4.setText(_translate("AreaDialog", "Drawing No : "))
267
        self.pushButtonRevNoArea.setText(_translate("AreaDialog", "..."))
268
        self.pushButtonHistoryDataArea.setText(_translate("AreaDialog", "..."))
269
        self.label_3.setText(_translate("AreaDialog", "Rev. No : "))
241 270
        self.label_2.setText(_translate("AreaDialog", "History Data : "))
271
        self.pushButtonDrawingArea.setText(_translate("AreaDialog", "..."))
242 272
        self.label.setText(_translate("AreaDialog", "Note : "))
273
        self.label_6.setText(_translate("AreaDialog", "Drawing : "))
274
        self.pushButtonUnitArea.setText(_translate("AreaDialog", "..."))
243 275
        self.pushButtonDrawingNoArea.setText(_translate("AreaDialog", "..."))
244
        self.pushButtonDrawingArea.setText(_translate("AreaDialog", "..."))
245
        self.pushButtonDelDrawingArea.setText(_translate("AreaDialog", "-"))
246
        self.pushButtonDelNoteArea.setText(_translate("AreaDialog", "-"))
247
        self.pushButtonDelHistoryDataArea.setText(_translate("AreaDialog", "-"))
248
        self.pushButtonDelRevNoArea.setText(_translate("AreaDialog", "-"))
249
        self.pushButtonDelDrawingNoArea.setText(_translate("AreaDialog", "-"))
250
        self.pushButtonDelUnitArea.setText(_translate("AreaDialog", "-"))
276
        self.label_7.setText(_translate("AreaDialog", "Unit : "))
277
        self.label_5.setText(_translate("AreaDialog", "Size : "))
278
        self.pushButtonSizeArea.setText(_translate("AreaDialog", "..."))
251 279
        self.groupBoxEquipmentDesc.setTitle(_translate("AreaDialog", "Equipment Desc. Area"))
252
        self.pushButtonAdd.setText(_translate("AreaDialog", "+"))
253
        self.pushButtonDel.setText(_translate("AreaDialog", "-"))
254 280
        self.groupBoxTitleBlock.setTitle(_translate("AreaDialog", "Title Block"))
255
        self.pushButtonAddTitleBlockProp.setText(_translate("AreaDialog", "+"))
256
        self.pushButtonDelTitleBlockProp.setText(_translate("AreaDialog", "-"))
257 281
        self.groupBoxTypicalArea.setTitle(_translate("AreaDialog", "Typical Area"))
258
        self.pushButtonAddTypicalArea.setText(_translate("AreaDialog", "+"))
259
        self.pushButtonDelTypicalArea.setText(_translate("AreaDialog", "-"))
260

  
261 282
import MainWindow_rc
262

  
263
if __name__ == "__main__":
264
    import sys
265
    app = QtWidgets.QApplication(sys.argv)
266
    AreaDialog = QtWidgets.QDialog()
267
    ui = Ui_AreaDialog()
268
    ui.setupUi(AreaDialog)
269
    AreaDialog.show()
270
    sys.exit(app.exec_())
271

  
DTI_PID/DTI_PID/Configuration_UI.py
1 1
# -*- coding: utf-8 -*-
2 2

  
3
# Form implementation generated from reading ui file './UI/Configuration.ui'
3
# Form implementation generated from reading ui file '.\UI\Configuration.ui'
4 4
#
5
# Created by: PyQt5 UI code generator 5.11.3
5
# Created by: PyQt5 UI code generator 5.13.1
6 6
#
7 7
# WARNING! All changes made in this file will be lost!
8 8

  
9

  
9 10
from PyQt5 import QtCore, QtGui, QtWidgets
10 11

  
12

  
11 13
class Ui_ConfigurationDialog(object):
12 14
    def setupUi(self, ConfigurationDialog):
13 15
        ConfigurationDialog.setObjectName("ConfigurationDialog")
......
287 289
        self.gridLayout_3.setObjectName("gridLayout_3")
288 290
        self.gridLayout_28 = QtWidgets.QGridLayout()
289 291
        self.gridLayout_28.setObjectName("gridLayout_28")
292
        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
293
        self.gridLayout_28.addItem(spacerItem, 0, 1, 1, 1)
290 294
        self.pushButtonLineNoAttribute = QtWidgets.QPushButton(self.groupBoxLineNo)
291 295
        self.pushButtonLineNoAttribute.setMinimumSize(QtCore.QSize(50, 24))
292 296
        self.pushButtonLineNoAttribute.setMaximumSize(QtCore.QSize(16777215, 24))
293 297
        self.pushButtonLineNoAttribute.setObjectName("pushButtonLineNoAttribute")
294 298
        self.gridLayout_28.addWidget(self.pushButtonLineNoAttribute, 0, 0, 1, 1)
295
        self.pushButtonDeleteProperty = QtWidgets.QPushButton(self.groupBoxLineNo)
296
        self.pushButtonDeleteProperty.setMinimumSize(QtCore.QSize(50, 0))
297
        self.pushButtonDeleteProperty.setMaximumSize(QtCore.QSize(50, 16777215))
298
        self.pushButtonDeleteProperty.setText("")
299
        icon1 = QtGui.QIcon()
300
        icon1.addPixmap(QtGui.QPixmap(":/newPrefix/Remove.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
301
        self.pushButtonDeleteProperty.setIcon(icon1)
302
        self.pushButtonDeleteProperty.setObjectName("pushButtonDeleteProperty")
303
        self.gridLayout_28.addWidget(self.pushButtonDeleteProperty, 0, 3, 1, 1)
304
        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
305
        self.gridLayout_28.addItem(spacerItem, 0, 1, 1, 1)
306
        self.pushButtonAddProperty = QtWidgets.QPushButton(self.groupBoxLineNo)
307
        self.pushButtonAddProperty.setMinimumSize(QtCore.QSize(50, 0))
308
        self.pushButtonAddProperty.setMaximumSize(QtCore.QSize(50, 16777215))
309
        self.pushButtonAddProperty.setText("")
310
        icon2 = QtGui.QIcon()
311
        icon2.addPixmap(QtGui.QPixmap(":/newPrefix/Add.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
312
        self.pushButtonAddProperty.setIcon(icon2)
313
        self.pushButtonAddProperty.setDefault(False)
314
        self.pushButtonAddProperty.setObjectName("pushButtonAddProperty")
315
        self.gridLayout_28.addWidget(self.pushButtonAddProperty, 0, 2, 1, 1)
316 299
        self.tableViewLineNo = QtWidgets.QTableView(self.groupBoxLineNo)
317 300
        self.tableViewLineNo.setObjectName("tableViewLineNo")
318 301
        self.gridLayout_28.addWidget(self.tableViewLineNo, 1, 0, 1, 4)
302
        self.pushButtonAddProperty = QtWidgets.QToolButton(self.groupBoxLineNo)
303
        self.pushButtonAddProperty.setText("")
304
        icon1 = QtGui.QIcon()
305
        icon1.addPixmap(QtGui.QPixmap(":/newPrefix/Add.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
306
        self.pushButtonAddProperty.setIcon(icon1)
307
        self.pushButtonAddProperty.setObjectName("pushButtonAddProperty")
308
        self.gridLayout_28.addWidget(self.pushButtonAddProperty, 0, 2, 1, 1)
309
        self.pushButtonDeleteProperty = QtWidgets.QToolButton(self.groupBoxLineNo)
310
        self.pushButtonDeleteProperty.setText("")
311
        icon2 = QtGui.QIcon()
312
        icon2.addPixmap(QtGui.QPixmap(":/newPrefix/Remove.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
313
        self.pushButtonDeleteProperty.setIcon(icon2)
314
        self.pushButtonDeleteProperty.setObjectName("pushButtonDeleteProperty")
315
        self.gridLayout_28.addWidget(self.pushButtonDeleteProperty, 0, 3, 1, 1)
319 316
        self.gridLayout_3.addLayout(self.gridLayout_28, 0, 0, 1, 1)
320 317
        self.gridLayout_21.addWidget(self.groupBoxLineNo, 2, 1, 1, 1)
321 318
        self.groupBoxEquipTag = QtWidgets.QGroupBox(self.Recognition2)
......
324 321
        self.gridLayout_34.setObjectName("gridLayout_34")
325 322
        self.gridLayout_33 = QtWidgets.QGridLayout()
326 323
        self.gridLayout_33.setObjectName("gridLayout_33")
327
        self.pushButtonDeleteTagProperty = QtWidgets.QPushButton(self.groupBoxEquipTag)
328
        self.pushButtonDeleteTagProperty.setMaximumSize(QtCore.QSize(50, 16777215))
329
        self.pushButtonDeleteTagProperty.setText("")
330
        self.pushButtonDeleteTagProperty.setIcon(icon1)
331
        self.pushButtonDeleteTagProperty.setObjectName("pushButtonDeleteTagProperty")
332
        self.gridLayout_33.addWidget(self.pushButtonDeleteTagProperty, 0, 3, 1, 1)
333
        self.pushButtonAddTagProperty = QtWidgets.QPushButton(self.groupBoxEquipTag)
334
        self.pushButtonAddTagProperty.setMaximumSize(QtCore.QSize(50, 16777215))
335
        self.pushButtonAddTagProperty.setText("")
336
        self.pushButtonAddTagProperty.setIcon(icon2)
337
        self.pushButtonAddTagProperty.setObjectName("pushButtonAddTagProperty")
338
        self.gridLayout_33.addWidget(self.pushButtonAddTagProperty, 0, 2, 1, 1)
339
        spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
340
        self.gridLayout_33.addItem(spacerItem1, 0, 1, 1, 1)
341 324
        self.pushButtonTagNoAttribute = QtWidgets.QPushButton(self.groupBoxEquipTag)
342 325
        self.pushButtonTagNoAttribute.setObjectName("pushButtonTagNoAttribute")
343 326
        self.gridLayout_33.addWidget(self.pushButtonTagNoAttribute, 0, 0, 1, 1)
327
        spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
328
        self.gridLayout_33.addItem(spacerItem1, 0, 1, 1, 1)
344 329
        self.tableViewTagNo = QtWidgets.QTableView(self.groupBoxEquipTag)
345 330
        self.tableViewTagNo.setObjectName("tableViewTagNo")
346 331
        self.gridLayout_33.addWidget(self.tableViewTagNo, 1, 0, 1, 4)
332
        self.pushButtonAddTagProperty = QtWidgets.QToolButton(self.groupBoxEquipTag)
333
        self.pushButtonAddTagProperty.setText("")
334
        self.pushButtonAddTagProperty.setIcon(icon1)
335
        self.pushButtonAddTagProperty.setObjectName("pushButtonAddTagProperty")
336
        self.gridLayout_33.addWidget(self.pushButtonAddTagProperty, 0, 2, 1, 1, QtCore.Qt.AlignHCenter)
337
        self.pushButtonDeleteTagProperty = QtWidgets.QToolButton(self.groupBoxEquipTag)
338
        self.pushButtonDeleteTagProperty.setText("")
339
        self.pushButtonDeleteTagProperty.setIcon(icon2)
340
        self.pushButtonDeleteTagProperty.setObjectName("pushButtonDeleteTagProperty")
341
        self.gridLayout_33.addWidget(self.pushButtonDeleteTagProperty, 0, 3, 1, 1, QtCore.Qt.AlignHCenter)
347 342
        self.gridLayout_34.addLayout(self.gridLayout_33, 0, 0, 1, 1)
348 343
        self.gridLayout_21.addWidget(self.groupBoxEquipTag, 4, 1, 1, 1)
349 344
        self.groupBox = QtWidgets.QGroupBox(self.Recognition2)
......
919 914
        ConfigurationDialog.setTabOrder(self.comboBoxLineType, self.radioButtonDiagonalYes)
920 915
        ConfigurationDialog.setTabOrder(self.radioButtonDiagonalYes, self.radioButtonDiagonalNo)
921 916
        ConfigurationDialog.setTabOrder(self.radioButtonDiagonalNo, self.pushButtonLineNoAttribute)
922
        ConfigurationDialog.setTabOrder(self.pushButtonLineNoAttribute, self.pushButtonAddProperty)
923
        ConfigurationDialog.setTabOrder(self.pushButtonAddProperty, self.pushButtonDeleteProperty)
924
        ConfigurationDialog.setTabOrder(self.pushButtonDeleteProperty, self.pushButtonTagNoAttribute)
925
        ConfigurationDialog.setTabOrder(self.pushButtonTagNoAttribute, self.pushButtonAddTagProperty)
926
        ConfigurationDialog.setTabOrder(self.pushButtonAddTagProperty, self.pushButtonDeleteTagProperty)
927
        ConfigurationDialog.setTabOrder(self.pushButtonDeleteTagProperty, self.checkBoxNoteNoSymbolName)
917
        ConfigurationDialog.setTabOrder(self.pushButtonLineNoAttribute, self.pushButtonTagNoAttribute)
918
        ConfigurationDialog.setTabOrder(self.pushButtonTagNoAttribute, self.checkBoxNoteNoSymbolName)
928 919
        ConfigurationDialog.setTabOrder(self.checkBoxNoteNoSymbolName, self.lineEditNoteNoSymbolName)
929 920
        ConfigurationDialog.setTabOrder(self.lineEditNoteNoSymbolName, self.lineEditNoteNoExpression)
930 921
        ConfigurationDialog.setTabOrder(self.lineEditNoteNoExpression, self.lineEditOPCFromPrefix)
......
1081 1072
        self.radioButtonOpModeGenenal.setText(_translate("ConfigurationDialog", "Genenal"))
1082 1073
        self.radioButtonOpModeInst.setText(_translate("ConfigurationDialog", "Instrument"))
1083 1074
        self.tabWidget.setTabText(self.tabWidget.indexOf(self.tabETC), _translate("ConfigurationDialog", "ETC"))
1084

  
1085 1075
import MainWindow_rc
1086

  
1087
if __name__ == "__main__":
1088
    import sys
1089
    app = QtWidgets.QApplication(sys.argv)
1090
    ConfigurationDialog = QtWidgets.QDialog()
1091
    ui = Ui_ConfigurationDialog()
1092
    ui.setupUi(ConfigurationDialog)
1093
    ConfigurationDialog.show()
1094
    sys.exit(app.exec_())
1095

  
DTI_PID/DTI_PID/ImportTextFromCADDialog.py
35 35

  
36 36
        options = QFileDialog.Options()
37 37
        options |= QFileDialog.DontUseNativeDialog
38
        files = QFileDialog.getOpenFileNames(self, self.tr('Import', "Select ID2 xml File"),
38
        files, _ = QFileDialog.getOpenFileNames(self, self.tr('Import', "Select ID2 xml File"),
39 39
                                                   project.getTempPath(), "xml files (*.xml)", options=options)
40 40
        if files:
41 41
            self.ui.lineEditID2.setText(files[0]) if len(files) == 1 else \
......
69 69
            return
70 70

  
71 71
        for index in range(len(xmlPaths)):
72
            xmlPath = xmlPaths[index]
72
            id2_xml_path = xmlPaths[index]
73 73
            dwgPath = dwgPaths[index]
74
            if os.path.exists(xmlPath) and os.path.exists(dwgPath) and scale > 0.001:
74
            if os.path.exists(id2_xml_path) and os.path.exists(dwgPath) and scale > 0.001:
75 75
                try:
76
                    executable = os.path.join('E:\Projects\OdReadExMgd\\bin\\x86\Debug', 'OdReadExMgd.exe')
77
                    command = f"'{executable}' {dwgPath} {xOffset} {yOffset} {scale}"
76
                    executable = os.path.join(os.path.dirname(os.path.realpath(__file__)), 'OdReadExMgd',
77
                                              'OdReadExMgd.exe')
78
                    """
79
                    command = f"{executable} {dwgPath} {xOffset} {yOffset} {scale}"
78 80
                    subprocess.call(command, shell=False)
79

  
80
                    textXmlPath = os.path.join(os.path.join(project.getDrawingFilePath(), 'Native'),
81
                                               dwgPath.split('/')[-1].split('.')[0] + '.xml')
82
                    textXml = parse(textXmlPath)
83
                    originXml = parse(xmlPath)
84
                    textRoot = textXml.getroot()
85
                    originRoot = originXml.getroot()
86
                    width = int(originRoot.find('SIZE').text.split(',')[0])
87
                    height = int(originRoot.find('SIZE').text.split(',')[1])
81
                    """
82
                    args = [executable, dwgPath, str(xOffset), str(yOffset), str(scale)]
83
                    CREATE_NO_WINDOW = 0x08000000
84
                    p = subprocess.Popen(
85
                        args,
86
                        stdin=subprocess.PIPE,
87
                        stdout=subprocess.PIPE,
88
                        stderr=subprocess.PIPE,
89
                        creationflags=CREATE_NO_WINDOW
90
                    )
91

  
92
                    stdout, stderr = p.communicate()
93
                    if len(stderr) != 0:
94
                        raise RuntimeError('OdReadExMgd threw error:\n' + stderr.decode('utf-8'))
95

  
96
                    autocad_xml_path = os.path.join(os.path.join(project.getDrawingFilePath(), 'Native'),
97
                                                    os.path.splitext(os.path.basename(dwgPath))[0] + '.xml')
98
                    autocad_xml = parse(autocad_xml_path)
99
                    id2_xml = parse(id2_xml_path)
100
                    autocad_xml_root = autocad_xml.getroot()
101
                    id2_xml_root = id2_xml.getroot()
102
                    if 'BoundingBox' in id2_xml_root.attrib:
103
                        id2_bbox = [int(attr) for attr in id2_xml_root.attrib['BoundingBox'].split(',')]
104
                    else:
105
                        id2_bbox = [0, 0,
106
                                    int(id2_xml_root.find('SIZE').text.split(',')[0]),
107
                                    int(id2_xml_root.find('SIZE').text.split(',')[1])]
88 108

  
89 109
                    """remove texts from id2 xml file"""
90
                    textInfo = originRoot.find(xg.TEXT_INFO_LIST_NODE_NAME)
110
                    textInfo = id2_xml_root.find(xg.TEXT_INFO_LIST_NODE_NAME)
91 111
                    textInfo.clear()
92 112

  
93
                    noteInfo = originRoot.find(xg.NOTE_TEXT_INFO_LIST_NOTE_NAME)
113
                    noteInfo = id2_xml_root.find(xg.NOTE_TEXT_INFO_LIST_NOTE_NAME)
94 114
                    noteInfo.clear()
95 115

  
96
                    lineNoInfo = originRoot.find(xg.LINE_NOS_NODE_NAME)
116
                    lineNoInfo = id2_xml_root.find(xg.LINE_NOS_NODE_NAME)
97 117
                    lineNoInfo.clear()
98 118
                    """up to here"""
99 119

  
100
                    """add text from cad file to id xml file"""
101
                    for textNode in textRoot.iter('Text'):
102
                        node = self.toXml(textNode, width, height)
103
                        if node:
104
                            textInfo.append(node)
120
                    """remove lines from id2 xml file"""
121
                    line_infos = id2_xml_root.find(xg.LINE_INFOS_NODE_NAME)
122
                    line_infos.clear()
123
                    """up to here"""
124

  
125
                    """remove unknowns from id2 xml file"""
126
                    unknowns = id2_xml_root.find(xg.UNKNOWNS_NODE_NAME)
127
                    unknowns.clear()
128
                    """up to here"""
105 129

  
106
                    originXml.write(xmlPath, encoding="utf-8", xml_declaration=True)
130
                    """add text from autocad file to id xml file"""
131
                    for blk_tbl_record in autocad_xml_root.iter('AcDbBlockTableRecord'):
132
                        if blk_tbl_record.attrib['Name'] != '*Model_Space':
133
                            continue
134

  
135
                        min_values = [float(token) for token in
136
                                      blk_tbl_record.attrib['MinExtents'].strip('(').strip(')').split(',')]
137
                        max_values = [float(token) for token in
138
                                      blk_tbl_record.attrib['MaxExtents'].strip('(').strip(')').split(',')]
139
                        autocad_bbox = [min_values[0], min_values[1],
140
                                        max_values[0] - min_values[0], max_values[1] - min_values[1]]
141
                        for record in blk_tbl_record.iter('AcDbText'):
142
                            node = self.text_to_xml(record, id2_bbox, autocad_bbox)
143
                            if node:
144
                                textInfo.append(node)
145

  
146
                        for blk_ref in blk_tbl_record.iter('AcDbBlockReference'):
147
                            for record in blk_ref.iter('AcDbAttribute'):
148
                                node = self.text_to_xml(record, id2_bbox, autocad_bbox)
149
                                if node:
150
                                    textInfo.append(node)
151

  
152
                        for record in blk_tbl_record.iter('AcDbLine'):
153
                            node = self.lines_to_xml(record, id2_bbox, autocad_bbox)
154
                            if node:
155
                                line_infos.append(node)
156

  
157
                        for record in blk_tbl_record.iter('AcDbPolyline'):
158
                            node = self.lines_to_xml(record, id2_bbox, autocad_bbox)
159
                            if node:
160
                                line_infos.append(node)
161

  
162
                    id2_xml.write(id2_xml_path, encoding="utf-8", xml_declaration=True)
107 163
                    """up to here"""
164

  
165
                    QMessageBox.information(self, self.tr('Information'), self.tr('Importing Success!'),
166
                                            QMessageBox.Close)
108 167
                except Exception as ex:
109 168
                    from App import App 
110 169
                    from AppDocData import MessageType
......
113 172
                              f"{sys.exc_info()[-1].tb_lineno}"
114 173
                    App.mainWnd().addMessage.emit(MessageType.Error, message)
115 174

  
116
        QMessageBox.information(self, self.tr('Information'), self.tr('Importing Success!'), QMessageBox.Close)
117
    
118
    def toXml(self, textNode, width: int, height: int):
175
    def text_to_xml(self, text_node, id2_bbox, autocad_bbox):
176
        """try to convert text element to id2 xml"""
119 177
        import uuid
120 178

  
121
        loc = [float(xy) for xy in textNode.find('Location').text.split(',')]
122
        loc[1] = self.height - loc[1]
123

  
124
        text = textNode.find('Value').text
125
        angle = round(float(textNode.find('Angle').text), 2)
126

  
127
        _height = round(float(textNode.find('Height').text))
128
        _width = _height * len(text) * 2 / 3#round( float(textNode.find('Width').text))
129

  
130
        allowed_error = 0.01
131
        if abs(angle - 1.57) < allowed_error:
132
            _height, _width = _width, _height
133
            loc[0], loc[1] = loc[0] - _width, loc[1] - _height + _width
134
        elif abs(angle - 4.71) < allowed_error:
135
            _height, _width = _width, _height
136
            loc[0], loc[1] = loc[0] - _width, loc[1] + _height - _width
137

  
138
        if loc[0] <= 0 or loc[1] <= 0 or _width <= 0 or _height <= 0:
139
            return None
140
        if loc[0] >= width or loc[1] >= height or loc[0] + width >= width or loc[1] + height >= height:
141
            return None
142

  
143
        node = Element('ATTRIBUTE')
144
        uidNode = Element('UID')
145
        uidNode.text = str(uuid.uuid4())
146
        node.append(uidNode)
147

  
148
        ownerNode = Element('OWNER')
149
        ownerNode.text = 'None'
150
        node.append(ownerNode)
151

  
152
        attributeValueNode = Element('ATTRIBUTEVALUE')
153
        node.append(attributeValueNode)
154

  
155
        nameNode = Element('NAME')
156
        nameNode.text = 'TEXT'
157
        node.append(nameNode)
158
            
159
        locNode = Element('LOCATION')
160
        locNode.text = '{},{}'.format(round(loc[0]), round(loc[1]))
161
        node.append(locNode)
162

  
163
        valueNode = Element('VALUE')
164
        valueNode.text = text
165
        node.append(valueNode)
166

  
167
        angleNode = Element('ANGLE')
168
        angleNode.text = str(round(angle, 2))
169
        node.append(angleNode)
170

  
171
        widthNode = Element('WIDTH')
172
        widthNode.text = str(round(_width))
173
        node.append(widthNode)
174

  
175
        heightNode = Element('HEIGHT')
176
        heightNode.text = str(round(_height))
177
        node.append(heightNode)
178

  
179
        areaNode = Element('AREA')
180
        areaNode.text = 'None'
181
        node.append(areaNode)
179
        try:
180
            scale = max([id2_bbox[2] / autocad_bbox[2], id2_bbox[3] / autocad_bbox[3]])
181
            offsets = [id2_bbox[0] - autocad_bbox[0] * scale, (id2_bbox[1] + id2_bbox[3]) - autocad_bbox[1] * scale]
182

  
183
            loc = [float(text_node.attrib['X']) * scale + offsets[0], -float(text_node.attrib['Y']) * scale + offsets[1]]
184

  
185
            text = text_node.text
186
            angle = round(float(text_node.attrib['Angle']), 2)
187

  
188
            _height = round(float(text_node.attrib['Height'])) * scale
189
            loc[1] -= _height
190
            _width = _height * len(text) * 2 / 3  # round( float(textNode.find('Width').text))
191

  
192
            allowed_error = 0.01
193
            if abs(angle - 1.57) < allowed_error:
194
                _height, _width = _width, _height
195
                loc[0], loc[1] = loc[0] - _width, loc[1] - _height + _width
196
            elif abs(angle - 4.71) < allowed_error:
197
                _height, _width = _width, _height
198
                loc[0], loc[1] = loc[0] - _width, loc[1] + _height - _width
199

  
200
            """
201
            if loc[0] <= 0 or loc[1] <= 0 or _width <= 0 or _height <= 0:
202
                return None
203
            if loc[0] >= id2_bbox[2] or loc[1] >= id2_bbox[3] or \
204
                    loc[0] + _width >= id2_bbox[2] or loc[1] + _height >= id2_bbox[3]:
205
                return None
206
            """
207

  
208
            """create a element for id2"""
209
            node = Element('ATTRIBUTE')
210
            uidNode = Element('UID')
211
            uidNode.text = str(uuid.uuid4())
212
            node.append(uidNode)
213

  
214
            ownerNode = Element('OWNER')
215
            ownerNode.text = 'None'
216
            node.append(ownerNode)
217

  
218
            attributeValueNode = Element('ATTRIBUTEVALUE')
219
            node.append(attributeValueNode)
220

  
221
            nameNode = Element('NAME')
222
            nameNode.text = 'TEXT'
223
            node.append(nameNode)
224

  
225
            locNode = Element('LOCATION')
226
            locNode.text = f"{round(loc[0])},{round(loc[1])}"
227
            node.append(locNode)
228

  
229
            valueNode = Element('VALUE')
230
            valueNode.text = text
231
            node.append(valueNode)
232

  
233
            angleNode = Element('ANGLE')
234
            angleNode.text = str(round(angle, 2))
235
            node.append(angleNode)
236

  
237
            widthNode = Element('WIDTH')
238
            widthNode.text = str(round(_width))
239
            node.append(widthNode)
240

  
241
            heightNode = Element('HEIGHT')
242
            heightNode.text = str(round(_height))
243
            node.append(heightNode)
244

  
245
            areaNode = Element('AREA')
246
            areaNode.text = 'None'
247
            node.append(areaNode)
248

  
249
            sceneNode = Element('SCENE')
250
            sceneNode.text = f"{round(loc[0])},{round(loc[1])},{round(_width)},{round(_height)}"
251
            node.append(sceneNode)
252
            """up to here"""
253

  
254
            return node
255
        except Exception as ex:
256
            message = f"error occurred({repr(ex)}) in {sys.exc_info()[-1].tb_frame.f_code.co_filename}:" \
257
                    f"{sys.exc_info()[-1].tb_lineno}"
258

  
259
            print(message)
260

  
261
    def lines_to_xml(self, line_node, id2_bbox, autocad_bbox):
262
        """try to convert line element to id2 xml"""
263
        import uuid
182 264

  
183
        sceneNode = Element('SCENE')
184
        sceneNode.text = f"{round(loc[0])},{round(loc[1])},{round(_width)},{round(_height)}"
185
        node.append(sceneNode)
265
        scale = max([id2_bbox[2] / autocad_bbox[2], id2_bbox[3] / autocad_bbox[3]])
266
        offsets = [id2_bbox[0] - autocad_bbox[0] * scale, (id2_bbox[1] + id2_bbox[3]) - autocad_bbox[1] * scale]
267

  
268
        pts = []
269
        for vertex in line_node.iter('Vertex'):
270
            pts.append((float(vertex.attrib['X']) * scale + offsets[0],
271
                        -float(vertex.attrib['Y']) * scale + offsets[1]))
272

  
273
        for idx in range(len(pts) - 1):
274
            start, end = pts[idx], pts[idx + 1]
275
            """create a element for id2"""
276
            node = Element('LINE')
277
            node.attrib['OWNER'] = 'None'
278
            _node = SubElement(node, 'UID')
279
            _node.text = str(uuid.uuid4())
280

  
281
            _node = SubElement(node, 'STARTPOINT')
282
            _node.text = f"{start[0]},{start[1]}"
283

  
284
            _node = SubElement(node, 'ENDPOINT')
285
            _node.text = f"{end[0]},{end[1]}"
286

  
287
            _node = SubElement(node, 'AREA')
288
            _node.text = 'Drawing'
289

  
290
            _node = SubElement(node, 'THICKNESS')
291
            _node.text = '1'
292

  
293
            _node = SubElement(node, 'FLOWMARK')
294
            _node.text = 'None'
295

  
296
            _node = SubElement(node, 'CONNECTORS')
297
            for conn in range(2):
298
                __node = SubElement(_node, 'CONNECTOR')
299
                __node.attrib['CONNECTED_AT'] = '0'
300
                __node.attrib['UID'] = str(uuid.uuid4())
301
                ___node = SubElement(__node, 'CONNECTEDITEM')
302
                ___node.text = 'None'
303
                ___node = SubElement(__node, 'CONNECTPOINT')
304
                ___node.text = f"{start[0]},{start[1]}" if conn == 0 else f"{end[0]},{end[1]}"
305
                ___node = SubElement(__node, 'SCENECONNECTPOINT')
306
                ___node.text = f"{start[0]},{start[1]}" if conn == 0 else f"{end[0]},{end[1]}"
307
            """up to here"""
186 308

  
187 309
        return node
188 310

  
311

  
189 312
def close(self):
190 313
    QDialog.reject(self)
DTI_PID/DTI_PID/ImportTextFromCAD_UI.py
2 2

  
3 3
# Form implementation generated from reading ui file '.\UI\ImportTextFromCAD.ui'
4 4
#
5
# Created by: PyQt5 UI code generator 5.13.0
5
# Created by: PyQt5 UI code generator 5.13.1
6 6
#
7 7
# WARNING! All changes made in this file will be lost!
8 8

  
......
70 70
        self.label_3.setObjectName("label_3")
71 71
        self.horizontalLayout.addWidget(self.label_3)
72 72
        self.doubleSpinBoxX = QtWidgets.QDoubleSpinBox(ImportTextFromCADDialog)
73
        self.doubleSpinBoxX.setEnabled(False)
73 74
        self.doubleSpinBoxX.setMinimum(-100000.0)
74 75
        self.doubleSpinBoxX.setMaximum(100000.0)
75 76
        self.doubleSpinBoxX.setObjectName("doubleSpinBoxX")
......
79 80
        self.label_5.setObjectName("label_5")
80 81
        self.horizontalLayout.addWidget(self.label_5)
81 82
        self.doubleSpinBoxY = QtWidgets.QDoubleSpinBox(ImportTextFromCADDialog)
83
        self.doubleSpinBoxY.setEnabled(False)
82 84
        self.doubleSpinBoxY.setMinimum(-100000.0)
83 85
        self.doubleSpinBoxY.setMaximum(100000.0)
84 86
        self.doubleSpinBoxY.setObjectName("doubleSpinBoxY")
85 87
        self.horizontalLayout.addWidget(self.doubleSpinBoxY)
86
        self.label_4 = QtWidgets.QLabel(ImportTextFromCADDialog)
87
        self.label_4.setMaximumSize(QtCore.QSize(60, 16777215))
88
        self.label_4.setObjectName("label_4")
89
        self.horizontalLayout.addWidget(self.label_4)
90
        self.doubleSpinBoxS = QtWidgets.QDoubleSpinBox(ImportTextFromCADDialog)
91
        self.doubleSpinBoxS.setDecimals(5)
92
        self.doubleSpinBoxS.setMaximum(1000.0)
93
        self.doubleSpinBoxS.setProperty("value", 1.0)
94
        self.doubleSpinBoxS.setObjectName("doubleSpinBoxS")
95
        self.horizontalLayout.addWidget(self.doubleSpinBoxS)
96 88
        self.gridLayout.addLayout(self.horizontalLayout, 2, 1, 1, 5)
97 89
        self.verticalLayout.addLayout(self.gridLayout)
98 90
        self.errorLabel = QtWidgets.QLabel(ImportTextFromCADDialog)
......
115 107
        self.pushButtonClose.setText(_translate("ImportTextFromCADDialog", "Close"))
116 108
        self.label_3.setText(_translate("ImportTextFromCADDialog", "X offset : "))
117 109
        self.label_5.setText(_translate("ImportTextFromCADDialog", " Y offset : "))
118
        self.label_4.setText(_translate("ImportTextFromCADDialog", " Scale : "))
119 110
import MainWindow_rc
DTI_PID/DTI_PID/MainWindow.py
274 274
        self.addMessage.connect(self.onAddMessage)
275 275
        self.actionFindReplaceText.triggered.connect(self.findReplaceTextClicked)
276 276
        self.actionSymbol_Replace_Insert.triggered.connect(self.replaceInsertSymbolClicked)
277
        self.actionConnectLineToSymbol.triggered.connect(self.on_connect_line_to_symbol)
277 278
        self.actionGlobal_Validation.triggered.connect(self.on_validation_global_clicked)
278 279
        self.actionEditRecognizeLine.triggered.connect(self.on_recognize_line)
279 280
        self.pushButtonDetectSymbol.clicked.connect(self.show_detect_symbol_dialog)
......
705 706
        dlg.show()
706 707
        dlg.exec_()
707 708

  
709
    def on_connect_line_to_symbol(self):
710
        """connect line to symbol"""
711
        from LineDetector import LineDetector
712

  
713
        if not self.graphicsView.hasImage():
714
            self.showImageSelectionMessageBox()
715
            return
716

  
717
        app_doc_data = AppDocData.instance()
718
        configs = app_doc_data.getConfigs('Project', 'Operation')
719
        configs = app_doc_data.getConfigs('Line Detector', 'Length to connect line')
720
        toler = int(configs[0].value) if configs else 20
721
        detector = LineDetector(app_doc_data.imgSrc)
722

  
723
        lines = [item for item in self.graphicsView.scene().items() if type(item) is QEngineeringLineItem]
724
        symbols = [item for item in self.graphicsView.scene().items() if issubclass(type(item), SymbolSvgItem)]
725
        if lines:
726
            # connect line to symbol
727
            try:
728
                for line in lines:
729
                    matches = [_symbol for _symbol in symbols if _symbol.is_connectable(line, toler=toler)]
730
                    for _symbol in matches:
731
                        detector.connectLineToSymbol(line, _symbol, toler=toler)
732
            except Exception as ex:
733
                message = f"error occurred({repr(ex)}) in {sys.exc_info()[-1].tb_frame.f_code.co_filename}:" \
734
                          f"{sys.exc_info()[-1].tb_lineno}"
735
                self.addMessage.emit(MessageType.Error, message)
736
            # up to here
737

  
738
            # connect line to line
739
            try:
740
                for line in lines:
741
                    matches = [it for it in lines if (it is not line) and (not line.isParallel(it))]
742

  
743
                    for match in matches:
744
                        detector.connectLineToLine(match, line, toler)
745
            except Exception as ex:
746
                message = f"error occurred({repr(ex)}) in {sys.exc_info()[-1].tb_frame.f_code.co_filename}:" \
747
                          f"{sys.exc_info()[-1].tb_lineno}"
748
                self.addMessage.emit(MessageType.Error, message)
749
            # up to here
750

  
751
        QMessageBox.information(self, self.tr('Information'), self.tr('Connecting between symbols and lines is complete'))
752

  
708 753
    def on_recognize_line(self):
709 754
        """recognize lines in selected area"""
710 755
        from RecognizeLineCommand import RecognizeLineCommand
DTI_PID/DTI_PID/MainWindow_UI.py
2 2

  
3 3
# Form implementation generated from reading ui file '.\UI\MainWindow.ui'
4 4
#
5
# Created by: PyQt5 UI code generator 5.13.0
5
# Created by: PyQt5 UI code generator 5.13.1
6 6
#
7 7
# WARNING! All changes made in this file will be lost!
8 8

  
......
654 654
        self.actionGlobal_Validation = QtWidgets.QAction(MainWindow)
655 655
        self.actionGlobal_Validation.setIcon(icon9)
656 656
        self.actionGlobal_Validation.setObjectName("actionGlobal_Validation")
657
        self.actionConnectLineToSymbol = QtWidgets.QAction(MainWindow)
658
        self.actionConnectLineToSymbol.setObjectName("actionConnectLineToSymbol")
657 659
        self.menuExport.addAction(self.actionExportAsSVG)
658 660
        self.menuExport.addAction(self.actionExportAsXML)
659 661
        self.menuExport.addAction(self.actionExportAsImage)
......
702 704
        self.menu_5.addAction(self.actionText_Data_List)
703 705
        self.menu_5.addSeparator()
704 706
        self.menu_5.addAction(self.actionSymbol_Replace_Insert)
707
        self.menu_5.addAction(self.actionConnectLineToSymbol)
705 708
        self.menu_5.addSeparator()
706 709
        self.menu_5.addAction(self.actionEditRecognizeLine)
707 710
        self.menu_5.addAction(self.actionRecognizeTable)
......
863 866
        self.actionRotateCCW.setToolTip(_translate("MainWindow", "Roate counter clockwise"))
864 867
        self.actionReplace_Code_Table.setText(_translate("MainWindow", "Replace Code Table"))
865 868
        self.actionGlobal_Validation.setText(_translate("MainWindow", "Global Validation"))
869
        self.actionConnectLineToSymbol.setText(_translate("MainWindow", "Connect between symbols and lines"))
866 870
import MainWindow_rc
DTI_PID/DTI_PID/UI/Configuration.ui
580 580
         <layout class="QGridLayout" name="gridLayout_3">
581 581
          <item row="0" column="0">
582 582
           <layout class="QGridLayout" name="gridLayout_28">
583
            <item row="0" column="1">
584
             <spacer name="horizontalSpacer_10">
585
              <property name="orientation">
586
               <enum>Qt::Horizontal</enum>
587
              </property>
588
              <property name="sizeHint" stdset="0">
589
               <size>
590
                <width>40</width>
591
                <height>20</height>
592
               </size>
593
              </property>
594
             </spacer>
595
            </item>
583 596
            <item row="0" column="0">
584 597
             <widget class="QPushButton" name="pushButtonLineNoAttribute">
585 598
              <property name="minimumSize">
......
599 612
              </property>
600 613
             </widget>
601 614
            </item>
602
            <item row="0" column="3">
603
             <widget class="QPushButton" name="pushButtonDeleteProperty">
604
              <property name="minimumSize">
605
               <size>
606
                <width>50</width>
607
                <height>0</height>
608
               </size>
609
              </property>
610
              <property name="maximumSize">
611
               <size>
612
                <width>50</width>
613
                <height>16777215</height>
614
               </size>
615
              </property>
615
            <item row="1" column="0" colspan="4">
616
             <widget class="QTableView" name="tableViewLineNo"/>
617
            </item>
618
            <item row="0" column="2">
619
             <widget class="QToolButton" name="pushButtonAddProperty">
616 620
              <property name="text">
617 621
               <string/>
618 622
              </property>
619 623
              <property name="icon">
620 624
               <iconset resource="../res/MainWindow.qrc">
621
                <normaloff>:/newPrefix/Remove.svg</normaloff>:/newPrefix/Remove.svg</iconset>
625
                <normaloff>:/newPrefix/Add.svg</normaloff>:/newPrefix/Add.svg</iconset>
622 626
              </property>
623 627
             </widget>
624 628
            </item>
625
            <item row="0" column="1">
626
             <spacer name="horizontalSpacer_10">
627
              <property name="orientation">
628
               <enum>Qt::Horizontal</enum>
629
              </property>
630
              <property name="sizeHint" stdset="0">
631
               <size>
632
                <width>40</width>
633
                <height>20</height>
634
               </size>
635
              </property>
636
             </spacer>
637
            </item>
638
            <item row="0" column="2">
639
             <widget class="QPushButton" name="pushButtonAddProperty">
640
              <property name="minimumSize">
641
               <size>
642
                <width>50</width>
643
                <height>0</height>
644
               </size>
645
              </property>
646
              <property name="maximumSize">
647
               <size>
648
                <width>50</width>
649
                <height>16777215</height>
650
               </size>
651
              </property>
629
            <item row="0" column="3">
630
             <widget class="QToolButton" name="pushButtonDeleteProperty">
652 631
              <property name="text">
653 632
               <string/>
654 633
              </property>
655 634
              <property name="icon">
656 635
               <iconset resource="../res/MainWindow.qrc">
657
                <normaloff>:/newPrefix/Add.svg</normaloff>:/newPrefix/Add.svg</iconset>
658
              </property>
659
              <property name="default">
660
               <bool>false</bool>
636
                <normaloff>:/newPrefix/Remove.svg</normaloff>:/newPrefix/Remove.svg</iconset>
661 637
              </property>
662 638
             </widget>
663 639
            </item>
664
            <item row="1" column="0" colspan="4">
665
             <widget class="QTableView" name="tableViewLineNo"/>
666
            </item>
667 640
           </layout>
668 641
          </item>
669 642
         </layout>
......
677 650
         <layout class="QGridLayout" name="gridLayout_34">
678 651
          <item row="0" column="0">
679 652
           <layout class="QGridLayout" name="gridLayout_33">
680
            <item row="0" column="3">
681
             <widget class="QPushButton" name="pushButtonDeleteTagProperty">
682
              <property name="maximumSize">
683
               <size>
684
                <width>50</width>
685
                <height>16777215</height>
686
               </size>
687
              </property>
688
              <property name="text">
689
               <string/>
690
              </property>
691
              <property name="icon">
692
               <iconset resource="../res/MainWindow.qrc">
693
                <normaloff>:/newPrefix/Remove.svg</normaloff>:/newPrefix/Remove.svg</iconset>
694
              </property>
695
             </widget>
696
            </item>
697
            <item row="0" column="2">
698
             <widget class="QPushButton" name="pushButtonAddTagProperty">
699
              <property name="maximumSize">
700
               <size>
701
                <width>50</width>
702
                <height>16777215</height>
703
               </size>
704
              </property>
653
            <item row="0" column="0">
654
             <widget class="QPushButton" name="pushButtonTagNoAttribute">
705 655
              <property name="text">
706
               <string/>
707
              </property>
708
              <property name="icon">
709
               <iconset resource="../res/MainWindow.qrc">
710
                <normaloff>:/newPrefix/Add.svg</normaloff>:/newPrefix/Add.svg</iconset>
656
               <string>Attribute</string>
711 657
              </property>
712 658
             </widget>
713 659
            </item>
......
724 670
              </property>
725 671
             </spacer>
726 672
            </item>
727
            <item row="0" column="0">
728
             <widget class="QPushButton" name="pushButtonTagNoAttribute">
673
            <item row="1" column="0" colspan="4">
674
             <widget class="QTableView" name="tableViewTagNo"/>
675
            </item>
676
            <item row="0" column="2" alignment="Qt::AlignHCenter">
677
             <widget class="QToolButton" name="pushButtonAddTagProperty">
729 678
              <property name="text">
730
               <string>Attribute</string>
679
               <string/>
680
              </property>
681
              <property name="icon">
682
               <iconset resource="../res/MainWindow.qrc">
683
                <normaloff>:/newPrefix/Add.svg</normaloff>:/newPrefix/Add.svg</iconset>
731 684
              </property>
732 685
             </widget>
733 686
            </item>
734
            <item row="1" column="0" colspan="4">
735
             <widget class="QTableView" name="tableViewTagNo"/>
687
            <item row="0" column="3" alignment="Qt::AlignHCenter">
688
             <widget class="QToolButton" name="pushButtonDeleteTagProperty">
689
              <property name="text">
690
               <string/>
691
              </property>
692
              <property name="icon">
693
               <iconset resource="../res/MainWindow.qrc">
694
                <normaloff>:/newPrefix/Remove.svg</normaloff>:/newPrefix/Remove.svg</iconset>
695
              </property>
696
             </widget>
736 697
            </item>
737 698
           </layout>
738 699
          </item>
......
1911 1872
  <tabstop>radioButtonDiagonalYes</tabstop>
1912 1873
  <tabstop>radioButtonDiagonalNo</tabstop>
1913 1874
  <tabstop>pushButtonLineNoAttribute</tabstop>
1914
  <tabstop>pushButtonAddProperty</tabstop>
1915
  <tabstop>pushButtonDeleteProperty</tabstop>
1916 1875
  <tabstop>pushButtonTagNoAttribute</tabstop>
1917
  <tabstop>pushButtonAddTagProperty</tabstop>
1918
  <tabstop>pushButtonDeleteTagProperty</tabstop>
1919 1876
  <tabstop>checkBoxNoteNoSymbolName</tabstop>
1920 1877
  <tabstop>lineEditNoteNoSymbolName</tabstop>
1921 1878
  <tabstop>lineEditNoteNoExpression</tabstop>
......
1984 1941
 </connections>
1985 1942
 <buttongroups>
1986 1943
  <buttongroup name="buttonGroup_7"/>
1987
  <buttongroup name="buttonGroup_5"/>
1988
  <buttongroup name="buttonGroup_6"/>
1989 1944
  <buttongroup name="buttonGroup_2"/>
1990
  <buttongroup name="buttonGroup_8"/>
1991 1945
  <buttongroup name="buttonGroup_3"/>
1992
  <buttongroup name="buttonGroup_9"/>
1993 1946
  <buttongroup name="buttonGroup"/>
1947
  <buttongroup name="buttonGroup_9"/>
1948
  <buttongroup name="buttonGroup_6"/>
1994 1949
  <buttongroup name="buttonGroup_4"/>
1950
  <buttongroup name="buttonGroup_5"/>
1951
  <buttongroup name="buttonGroup_8"/>
1995 1952
 </buttongroups>
1996 1953
</ui>
DTI_PID/DTI_PID/UI/Configuration_Area.ui
29 29
      <string>Area</string>
30 30
     </property>
31 31
     <layout class="QGridLayout" name="gridLayout_2">
32
      <item row="3" column="0">
33
       <widget class="QLabel" name="label_3">
34
        <property name="text">
35
         <string>Rev. No : </string>
36
        </property>
37
       </widget>
38
      </item>
39
      <item row="5" column="4">
40
       <widget class="QPushButton" name="pushButtonUnitArea">
41
        <property name="maximumSize">
42
         <size>
43
          <width>24</width>
44
          <height>16777215</height>
45
         </size>
46
        </property>
47
        <property name="text">
48
         <string>...</string>
49
        </property>
50
       </widget>
51
      </item>
52
      <item row="3" column="1">
53
       <widget class="QLineEdit" name="lineEditRevNo">
54
        <property name="readOnly">
55
         <bool>true</bool>
56
        </property>
57
       </widget>
58
      </item>
59
      <item row="2" column="4">
60
       <widget class="QPushButton" name="pushButtonHistoryDataArea">
61
        <property name="maximumSize">
62
         <size>
63
          <width>24</width>
64
          <height>16777215</height>
65
         </size>
66
        </property>
67
        <property name="text">
68
         <string>...</string>
69
        </property>
70
       </widget>
71
      </item>
72
      <item row="1" column="1">
73
       <widget class="QLineEdit" name="lineEditNote">
74
        <property name="readOnly">
75
         <bool>true</bool>
76
        </property>
77
       </widget>
78
      </item>
79
      <item row="2" column="1">
80
       <widget class="QLineEdit" name="lineEditHistoryData">
81
        <property name="readOnly">
82
         <bool>true</bool>
83
        </property>
84
       </widget>
85
      </item>
86
      <item row="3" column="4">
87
       <widget class="QPushButton" name="pushButtonRevNoArea">
88
        <property name="maximumSize">
89
         <size>
90
          <width>24</width>
91
          <height>16777215</height>
92
         </size>
93
        </property>
94
        <property name="text">
95
         <string>...</string>
96
        </property>
97
       </widget>
98
      </item>
99 32
      <item row="0" column="0">
100
       <widget class="QLabel" name="label_6">
101
        <property name="font">
102
         <font>
103
          <weight>50</weight>
104
          <bold>false</bold>
105
         </font>
106
        </property>
107
        <property name="text">
108
         <string>Drawing : </string>
109
        </property>
110
       </widget>
111
      </item>
112
      <item row="0" column="1">
113
       <widget class="QLineEdit" name="lineEditDrawing">
114
        <property name="readOnly">
115
         <bool>true</bool>
116
        </property>
117
       </widget>
118
      </item>
119
      <item row="5" column="0">
120
       <widget class="QLabel" name="label_7">
121
        <property name="text">
122
         <string>Unit : </string>
123
        </property>
124
       </widget>
125
      </item>
126
      <item row="4" column="0">
127
       <widget class="QLabel" name="label_4">
128
        <property name="text">
129
         <string>Drawing No : </string>
130
        </property>
131
       </widget>
132
      </item>
133
      <item row="1" column="4">
134
       <widget class="QPushButton" name="pushButtonNoteArea">
135
        <property name="minimumSize">
136
         <size>
137
          <width>20</width>
138
          <height>0</height>
139
         </size>
140
        </property>
141
        <property name="maximumSize">
142
         <size>
143
          <width>24</width>
144
          <height>16777215</height>
145
         </size>
146
        </property>
147
        <property name="text">
148
         <string>...</string>
149
        </property>
150
       </widget>
151
      </item>
152
      <item row="2" column="0">
153
       <widget class="QLabel" name="label_2">
154
        <property name="text">
155
         <string>History Data : </string>
156
        </property>
157
       </widget>
158
      </item>
... 이 차이점은 표시할 수 있는 최대 줄수를 초과해서 이 차이점은 잘렸습니다.

내보내기 Unified diff