프로젝트

일반

사용자정보

개정판 e0b4e318

IDe0b4e3189d1318b6e13caffd4713a818b61583ae
상위 19bc0ecc
하위 ef6bfcdb

예철 임 이(가) 6년 이상 전에 추가함

1. Symbol 속성 창 Readonly 수정
2. Symbol Id Column 삭제

#477

차이점 보기:

DTI_PID/DTI_PID/AppDocData.py
307 307
            conn = sqlite3.connect(dbPath)
308 308
            
309 309
            INSERT_SYMBOL_SQL = '''
310
                INSERT INTO Symbol(symId, name, type, threshold, minMatchPoint, isDetectOrigin, rotationCount, ocrOption, isContainChild, originalPoint, connectionPoint, baseSymbol, additionalSymbol, isExceptDetect, hasInstrumentLabel) 
311
                VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?);
310
                INSERT INTO Symbol(name, type, threshold, minMatchPoint, isDetectOrigin, rotationCount, ocrOption, isContainChild, originalPoint, connectionPoint, baseSymbol, additionalSymbol, isExceptDetect, hasInstrumentLabel) 
311
                VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?);
312 312
            '''
313 313

  
314 314
            cursor = conn.cursor()
315
            query = (symbol.getId(), symbol.getName(), symbol.getType(), symbol.getThreshold()
315
            query = ( symbol.getName(), symbol.getType(), symbol.getThreshold()
316 316
                           , symbol.getMinMatchCount(), symbol.getIsDetectOnOrigin(), symbol.getRotationCount()
317 317
                           , symbol.getOcrOption(), symbol.getIsContainChild()
318 318
                           , symbol.getOriginalPoint(), symbol.getConnectionPoint()
......
343 343
            UPDATE_SYMBOL_SQL = '''
344 344
                UPDATE Symbol
345 345
                SET
346
                    symId = ?, name = ?, type = ?, threshold = ?, minMatchPoint = ?, isDetectOrigin = ?,
346
                    name = ?, type = ?, threshold = ?, minMatchPoint = ?, isDetectOrigin = ?,
347 347
                    rotationCount = ?, ocrOption = ?, isContainChild = ?, originalPoint = ?, connectionPoint = ?,
348 348
                    baseSymbol = ?, additionalSymbol = ?, isExceptDetect = ?, hasInstrumentLabel = ?
349 349
                WHERE uid = ?
350 350
            '''
351 351
            
352 352
            cursor = conn.cursor()
353
            query = (symbol.getId(), symbol.getName(), symbol.getType(), symbol.getThreshold()
353
            query = (symbol.getName(), symbol.getType(), symbol.getThreshold()
354 354
                           , symbol.getMinMatchCount(), symbol.getIsDetectOnOrigin(), symbol.getRotationCount()
355 355
                           , symbol.getOcrOption(), symbol.getIsContainChild()
356 356
                           , symbol.getOriginalPoint(), symbol.getConnectionPoint()
......
1048 1048
                rows = cursor.fetchall()
1049 1049
                if rows is not None and len(rows) > 0:
1050 1050
                    symbolTuple = rows[0]
1051
                    ret = symbol.SymbolBase(symbolTuple[1], symbolTuple[2], symbolTuple[3], symbolTuple[4]
1052
                                            , symbolTuple[5], symbolTuple[6], symbolTuple[7], symbolTuple[8], symbolTuple[9]
1053
                                            , symbolTuple[10], symbolTuple[11], symbolTuple[12], symbolTuple[13], symbolTuple[14], symbolTuple[15], symbolTuple[0]) ## uid is last item
1051
                    ret = symbol.SymbolBase(symbolTuple[1], symbolTuple[2], symbolTuple[3]
1052
                                            , symbolTuple[4], symbolTuple[5], symbolTuple[6], symbolTuple[7], symbolTuple[8]
1053
                                            , symbolTuple[9], symbolTuple[10], symbolTuple[11], symbolTuple[12], symbolTuple[13], symbolTuple[14], symbolTuple[0]) ## uid is last item
1054 1054
                    #ret = symbol.SymbolBase(symbolTuple[1], symbolTuple[2], symbolTuple[3], symbolTuple[4]
1055 1055
                    #                        , symbolTuple[5], symbolTuple[6], symbolTuple[7], symbolTuple[8], symbolTuple[9]
1056 1056
                    #                        , symbolTuple[10], symbolTuple[11], symbolTuple[12], symbolTuple[13], symbolTuple[14], symbolTuple[0]) ## uid is last item
DTI_PID/DTI_PID/DTI_PID.py
75 75

  
76 76
    result = False
77 77
    for sym in searchedSymbolList:
78
        symId = sym.getId()
78
        #symId = sym.getId()
79 79
        symSp = sym.getSp()
80 80
        symWidth = sym.getWidth()
81 81
        symHeight = sym.getHeight()
......
323 323
    global maxProgressValue
324 324
    
325 325
    try:
326
        symId = targetSymbol.getId()
326
        #symId = targetSymbol.getId()
327 327
        symbolName = targetSymbol.getName()
328 328
        symbolType = targetSymbol.getType()
329 329
        symbolPath = targetSymbol.getPath()
......
547 547
    global searchedSymbolList
548 548
    global textInfoList
549 549

  
550
    symbolId = symbol.getId()
550
    #symbolId = symbol.getId()
551 551
    symbolPath = symbol.getPath()
552 552
    symbolSp = symbol.getSp()
553 553
    symbolWidth = symbol.getWidth()
DTI_PID/DTI_PID/DTI_PID.pyproj
57 57
    <Compile Include="SymbolBase.py">
58 58
      <SubType>Code</SubType>
59 59
    </Compile>
60
    <Compile Include="SymbolEditor_UI.py" />
60 61
    <Compile Include="tesseract_ocr_module.py">
61 62
      <SubType>Code</SubType>
62 63
    </Compile>
DTI_PID/DTI_PID/QPropertyTableWidget.py
20 20
        self.initPropertyTableWidget()
21 21
        self.symData = None
22 22

  
23
    '''
24
        @Auther     Yecheol
25
        @Date       2018-07-04
26
        @History    Add Instrument Label YN Column
27
    '''
28

  
23 29
    def initPropertyTableWidget(self):
24 30
        self.setColumnCount(2)
25 31
        self.setRowCount(12)
......
34 40
        rotationCountSpinBox.setRange(0, 3)
35 41
        rotationCountSpinBox.setSingleStep(1)
36 42
        rotationCountSpinBox.setValue(0)
37
        self.setCellWidget(4, 1, rotationCountSpinBox)
43
        rotationCountSpinBox.setEnabled(False)
44
        self.setCellWidget(3, 1, rotationCountSpinBox)
38 45

  
39 46
        ### IsContainChild CheckBox Init
40 47
        isContainChildCheckBox = QCheckBox()
41
        self.setCellWidget(5, 1, isContainChildCheckBox)
48
        isContainChildCheckBox.setEnabled(False)
49
        self.setCellWidget(4, 1, isContainChildCheckBox)
42 50

  
43 51
        ### Symbol Type ComboBox Init
44 52
        symbolTypeComboBox = QComboBox()
45 53
        for name in AppDocData.instance().getSymbolTypeComboBoxItems():
46 54
            symbolTypeComboBox.addItem(name)
47
        self.setCellWidget(6, 1, symbolTypeComboBox)
55
        symbolTypeComboBox.setEnabled(False)
56
        self.setCellWidget(5, 1, symbolTypeComboBox)
48 57

  
49 58
        ### Base Symbol ComboBox Init
50 59
        baseSymbolComboBox = QComboBox()
51 60
        for name in AppDocData.instance().getBaseSymbolComboBoxItems():
52 61
            baseSymbolComboBox.addItem(name)
53
        self.setCellWidget(7, 1, baseSymbolComboBox)
62
        baseSymbolComboBox.setEnabled(False)
63
        self.setCellWidget(6, 1, baseSymbolComboBox)
54 64

  
55 65
        ### IsExceptDetect CheckBox Init
56 66
        isExceptDetectCheckBox = QCheckBox()
57
        self.setCellWidget(11, 1, isExceptDetectCheckBox)
67
        isExceptDetectCheckBox.setEnabled(False)
68
        self.setCellWidget(10, 1, isExceptDetectCheckBox)
69

  
70
        ### hasInstrumentLabel CheckBox Init
71
        hasInstrumentLabelCheckBox = QCheckBox()
72
        hasInstrumentLabelCheckBox.setEnabled(False)
73
        self.setCellWidget(11, 1, hasInstrumentLabelCheckBox)
58 74

  
59 75
    '''
60 76
        @brief  Init contents and background color in Title cell
61 77
    '''
62 78
    def initTitleCell(self):
63
        self.setItem(0, 0, QTableWidgetItem("심볼ID"))
64
        self.setItem(1, 0, QTableWidgetItem("심볼명"))
65
        self.setItem(2, 0, QTableWidgetItem("임계값(%)"))
66
        self.setItem(3, 0, QTableWidgetItem("최소 특징점 수"))
67
        self.setItem(4, 0, QTableWidgetItem("검출 시 심볼 회전 수"))
68
        self.setItem(5, 0, QTableWidgetItem("자식 심볼 포함 여부"))
69
        self.setItem(6, 0, QTableWidgetItem("심볼 타입"))
70
        self.setItem(7, 0, QTableWidgetItem("기초 심볼"))
71
        self.setItem(8, 0, QTableWidgetItem("부가 심볼"))
72
        self.setItem(9, 0, QTableWidgetItem("Original Point"))
73
        self.setItem(10, 0, QTableWidgetItem("Connection Point"))
74
        self.setItem(11, 0, QTableWidgetItem("검출 시 미포함 여부"))
79
        #self.setItem(0, 0, QTableWidgetItem("심볼ID"))
80
        #self.setItem(0, 0, QTableWidgetItem("심볼명"))
81
        #self.setItem(1, 0, QTableWidgetItem("임계값(%)"))
82
        #self.setItem(2, 0, QTableWidgetItem("최소 특징점 수"))
83
        #self.setItem(3, 0, QTableWidgetItem("검출 시 심볼 회전 수"))
84
        #self.setItem(4, 0, QTableWidgetItem("자식 심볼 포함 여부"))
85
        #self.setItem(5, 0, QTableWidgetItem("심볼 타입"))
86
        #self.setItem(6, 0, QTableWidgetItem("기초 심볼"))
87
        #self.setItem(7, 0, QTableWidgetItem("부가 심볼"))
88
        #self.setItem(8, 0, QTableWidgetItem("Original Point"))
89
        #self.setItem(9, 0, QTableWidgetItem("Connection Point"))
90
        #self.setItem(10, 0, QTableWidgetItem("검출 시 미포함 여부"))
91
        #self.setItem(11, 0, QTableWidgetItem("Instrument Label 여부"))
92

  
93
        item1 = QTableWidgetItem("심볼명")
94
        item1.setFlags(Qt.ItemIsEnabled)
95
        self.setItem(0, 0, item1)
96

  
97
        item2 = QTableWidgetItem("임계값(%)")
98
        item2.setFlags(Qt.ItemIsEnabled)
99
        self.setItem(1, 0, item2)
100

  
101
        item3 = QTableWidgetItem("최소 특징점 수")
102
        item3.setFlags(Qt.ItemIsEnabled)
103
        self.setItem(2, 0, item3)
104

  
105
        item4 = QTableWidgetItem("검출 시 심볼 회전 수")
106
        item4.setFlags(Qt.ItemIsEnabled)
107
        self.setItem(3, 0, item4)
108

  
109
        item5 = QTableWidgetItem("자식 심볼 포함 여부")
110
        item5.setFlags(Qt.ItemIsEnabled)
111
        self.setItem(4, 0, item5)
112

  
113
        item6 = QTableWidgetItem("심볼 타입")
114
        item6.setFlags(Qt.ItemIsEnabled)
115
        self.setItem(5, 0, item6)
116

  
117
        item7 = QTableWidgetItem("기초 심볼")
118
        item7.setFlags(Qt.ItemIsEnabled)
119
        self.setItem(6, 0, item7)
120

  
121
        item8 = QTableWidgetItem("부가 심볼")
122
        item8.setFlags(Qt.ItemIsEnabled)
123
        self.setItem(7, 0, item8)
124

  
125
        item9 = QTableWidgetItem("Original Point")
126
        item9.setFlags(Qt.ItemIsEnabled)
127
        self.setItem(8, 0, item9)
128

  
129
        item10 = QTableWidgetItem("Connection Point")
130
        item10.setFlags(Qt.ItemIsEnabled)
131
        self.setItem(9, 0, item10)
132

  
133
        item11 = QTableWidgetItem("검출 시 미포함 여부")
134
        item11.setFlags(Qt.ItemIsEnabled)
135
        self.setItem(10, 0, item11)
136

  
137
        item12 = QTableWidgetItem("Ins't 라벨 포함 여부")
138
        item12.setFlags(Qt.ItemIsEnabled)
139
        self.setItem(11, 0, item12)
75 140

  
76 141
        for index in range(self.rowCount()):
77 142
            self.item(index, 0).setBackground(QColor(220, 220, 220))
......
85 150
    @pyqtSlot(SymbolBase.SymbolBase)
86 151
    def getClickedSymbol(self, symbol):
87 152
        if self.symData != symbol:
88
            self.symData = symbol if symbol.getId() != -1 else None
153
            self.symData = symbol #if symbol.getId() != -1 else None
89 154
            self.symbolChanged()
90 155

  
91 156
    '''
......
94 159
        @history    18.04.24    Jeongwoo    Add 14th row(isExceptDetect CheckBox)
95 160
    '''
96 161
    def symbolChanged(self):
97
        if self.symData is not None:
98
            self.setItem(0, 1, QTableWidgetItem(str(self.symData.getId())))
99
            self.setItem(1, 1, QTableWidgetItem(self.symData.getName()))
100
            self.setItem(2, 1, QTableWidgetItem(str(int(self.symData.getThreshold() * 100))))
101
            self.setItem(3, 1, QTableWidgetItem(str(self.symData.getMinMatchCount())))
162
        if self.symData.baseSymbol is not None:
163
            #self.setItem(0, 1, QTableWidgetItem(str(self.symData.getId())))
164
            #self.setItem(0, 1, QTableWidgetItem(self.symData.getName()))
165
            #self.setItem(1, 1, QTableWidgetItem(str(int(self.symData.getThreshold() * 100))))
166
            #self.setItem(2, 1, QTableWidgetItem(str(self.symData.getMinMatchCount())))
167

  
168
            Symboldata = QTableWidgetItem(self.symData.getName())
169
            Symboldata.setFlags(Qt.ItemIsEnabled)
170
            self.setItem(0, 1, Symboldata)
102 171

  
103
            rotationCountSpinBox = self.cellWidget(4, 1)
172
            SymbolThreshold = QTableWidgetItem(self.symData.getThreshold() *100)
173
            SymbolThreshold.setFlags(Qt.ItemIsEnabled)
174
            self.setItem(1, 1, SymbolThreshold)
175

  
176
            SymbolMinMatchCount = QTableWidgetItem(self.symData.getMinMatchCount())
177
            SymbolMinMatchCount.setFlags(Qt.ItemIsEnabled)
178
            self.setItem(2, 1, SymbolMinMatchCount)
179

  
180
            rotationCountSpinBox = self.cellWidget(3, 1)
104 181
            rotationCountSpinBox.setValue(self.symData.getRotationCount())
105 182

  
106
            isContainChildCheckBox = self.cellWidget(5, 1)
183
            isContainChildCheckBox = self.cellWidget(4, 1)
107 184
            isContainChildCheckBox.setChecked(True if self.symData.getIsContainChild() == 1 else False)
108 185

  
109
            symbolTypeComboBox = self.cellWidget(6, 1)
186
            symbolTypeComboBox = self.cellWidget(5, 1)
110 187
            symbolTypeComboBox.setCurrentIndex(symbolTypeComboBox.findText(self.symData.getType())) ##### USED FIND TEXT
111 188
            
112
            baseSymbolComboBox = self.cellWidget(7, 1)
189
            baseSymbolComboBox = self.cellWidget(6, 1)
113 190
            baseSymbolComboBox.clear()
114 191
            for name in AppDocData.instance().getBaseSymbolComboBoxItems(self.symData.getType()):
115 192
                baseSymbolComboBox.addItem(name)
......
117 194

  
118 195
            additionalSymbolItem = QTableWidgetItem(self.symData.getAdditionalSymbol())
119 196
            additionalSymbolItem.setFlags(Qt.ItemIsEnabled)
120
            self.setItem(8, 1, additionalSymbolItem)
197
            self.setItem(7, 1, additionalSymbolItem)
121 198

  
122 199
            originalPointItem = QTableWidgetItem(self.symData.getOriginalPoint())
123 200
            originalPointItem.setFlags(Qt.ItemIsEnabled)
124
            self.setItem(9, 1, originalPointItem)
201
            self.setItem(8, 1, originalPointItem)
125 202

  
126 203
            connectionPointItem = QTableWidgetItem(self.symData.getConnectionPoint())
127 204
            connectionPointItem.setFlags(Qt.ItemIsEnabled)
128
            self.setItem(10, 1, connectionPointItem)
205
            self.setItem(9, 1, connectionPointItem)
129 206
            
130
            isExceptDetectCheckBox = self.cellWidget(11, 1)
207
            isExceptDetectCheckBox = self.cellWidget(10, 1)
131 208
            isExceptDetectCheckBox.setChecked(True if self.symData.getIsExceptDetect() == 1 else False)
209

  
210
            hasInstrumentLabelCheckBox = self.cellWidget(11, 1)
211
            hasInstrumentLabelCheckBox.setChecked(True if self.symData.getHasInstrumentLabel() == 1 else False)
212

  
132 213
        else:
133
            self.setItem(0,     1,   QTableWidgetItem(""))
134
            self.setItem(1,     1,   QTableWidgetItem(""))
135
            self.setItem(2,     1,   QTableWidgetItem(""))
136
            self.setItem(3,     1,   QTableWidgetItem(""))
214
            #self.setItem(0,     1,   QTableWidgetItem(""))
215
            #self.setItem(0,     1,   QTableWidgetItem(""))
216
            #self.setItem(1,     1,   QTableWidgetItem(""))
217
            #self.setItem(2,     1,   QTableWidgetItem(""))
218

  
219
            item1 = QTableWidgetItem("")
220
            item1.setFlags(Qt.ItemIsEnabled)
221
            self.setItem(0, 1, item1)
222

  
223
            item2 = QTableWidgetItem("")
224
            item2.setFlags(Qt.ItemIsEnabled)
225
            self.setItem(1, 1, item2)
137 226

  
138
            rotationCountSpinBox = self.cellWidget(4, 1)
227
            item3 = QTableWidgetItem("")
228
            item3.setFlags(Qt.ItemIsEnabled)
229
            self.setItem(2, 1, item3)
230

  
231

  
232
            rotationCountSpinBox = self.cellWidget(3, 1)
139 233
            rotationCountSpinBox.setValue(0)
140 234

  
141
            isContainChildCheckBox = self.cellWidget(5, 1)
235
            isContainChildCheckBox = self.cellWidget(4, 1)
142 236
            isContainChildCheckBox.setChecked(False)
143 237

  
144
            symbolTypeComboBox = self.cellWidget(6, 1)
238
            symbolTypeComboBox = self.cellWidget(5, 1)
145 239
            symbolTypeComboBox.setCurrentIndex(0)
146 240

  
147
            baseSymbolComboBox = self.cellWidget(7, 1)
241
            baseSymbolComboBox = self.cellWidget(6, 1)
148 242
            baseSymbolComboBox.setCurrentIndex(0)
149 243

  
150 244
            additionalSymbolItem = QTableWidgetItem("")
151 245
            additionalSymbolItem.setFlags(Qt.ItemIsEnabled)
152
            self.setItem(8, 1, additionalSymbolItem)
246
            self.setItem(7, 1, additionalSymbolItem)
153 247

  
154 248
            originalPointItem = QTableWidgetItem("")
155 249
            originalPointItem.setFlags(Qt.ItemIsEnabled)
156
            self.setItem(9, 1, originalPointItem)
250
            self.setItem(8, 1, originalPointItem)
157 251

  
158 252
            connectionPointItem = QTableWidgetItem("")
159 253
            connectionPointItem.setFlags(Qt.ItemIsEnabled)
160
            self.setItem(10, 1, connectionPointItem)
254
            self.setItem(9, 1, connectionPointItem)
161 255
            
162
            isExceptDetectCheckBox = self.cellWidget(11, 1)
163
            isExceptDetectCheckBox.setChecked(False)
256
            isExceptDetectCheckBox = self.cellWidget(10, 1)
257
            isExceptDetectCheckBox.setChecked(False)
258

  
259
            hasInstrumentLabelCheckBox = self.cellWidget(11, 1)
260
            hasInstrumentLabelCheckBox.setChecked(False)
DTI_PID/DTI_PID/QSymbolEditorDialog.py
120 120
        @brief  Init Forms with type and default values
121 121
    '''
122 122
    def initForms(self):
123
        self.ui.idLineEdit.setValidator(QRegExpValidator(QtCore.QRegExp("^[1-9]\d+$")))
123
        #self.ui.idLineEdit.setValidator(QRegExpValidator(QtCore.QRegExp("^[1-9]\d+$")))
124 124
        self.ui.thresholdLineEdit.setValidator(QRegExpValidator(QtCore.QRegExp("^[0-9]\d+$"))) # ([0-1]{1}[.])?[0-9]+
125 125
        self.ui.minMatchPointLineEdit.setValidator(QRegExpValidator(QtCore.QRegExp("^[0-9]\d+$")))
126 126
        self.initDefaultSymbolDirectionComboBoxItems()
......
148 148
    '''
149 149
        @brief  Set data on forms, For modifying symbol
150 150
        @history    2018.05.02  Jeongwoo    When modifying symbol, Make immediateInsertCheckBox disable
151
        @           2018.07.04  Yecheol     Remove is Symbol ID(idLineEdit)
151 152
    '''
152 153
    def initContents(self):
153 154
        if self.selectedSymbol is not None:
154 155
            self.ui.immediateInsertCheckBox.setDisabled(True)
155 156

  
156
            self.ui.idLineEdit.setText(str(self.selectedSymbol.getId()))
157
            #self.ui.idLineEdit.setText(str(self.selectedSymbol.getId()))
157 158
            self.ui.nameLineEdit.setText(self.selectedSymbol.getName())
158 159
            self.ui.thresholdLineEdit.setText(str(int(self.selectedSymbol.getThreshold() * 100)))
159 160
            self.ui.minMatchPointLineEdit.setText(str(self.selectedSymbol.getMinMatchCount()))
......
269 270
        uid = -1
270 271
        if self.selectedSymbol is not None:
271 272
            uid = self.selectedSymbol.getUid()
272
        symId = self.ui.idLineEdit.text()
273
        #symId = self.ui.idLineEdit.text()
273 274
        name = self.ui.nameLineEdit.text()
274 275
        type = self.ui.typeComboBox.currentText() #Empty
275 276
        self.FILE_NUMBER = 0
......
302 303

  
303 304
        convertedThreshold = int(threshold) / 100.0
304 305

  
305
        self.newSym = symbol.SymbolBase(int(symId), fileName, type, convertedThreshold, int(minMatchPoint), True, 
306
        self.newSym = symbol.SymbolBase(fileName, type, convertedThreshold, int(minMatchPoint), True, 
306 307
                        rotationCount, ocrOption, isContainChild, originalPoint, connectionPoint, baseSymbol, additionalSymbol, isExceptDetect, hasInstrumentLabel, uid)
307 308

  
308 309
        return self.newSym
......
701 702
        EXCEPTION_MSG_DUPLICATED_FORMAT = "이미 저장된 {} 값입니다."
702 703
        infoTitle = ""
703 704

  
704
        idText = self.ui.idLineEdit.text()
705
        id = int(idText) if idText else -1
706
        if (id == -1 or id < 100):
707
            infoTitle = self.ui.idLabel.text()
708
            return (False, EXCEPTION_MSG_FORMAT.format(infoTitle))
705
        #idText = self.ui.idLineEdit.text()
706
        '''
707
            id = int(idText) if idText else -1
708
            if (id == -1 or id < 100):
709
                infoTitle = self.ui.idLabel.text()
710
                return (False, EXCEPTION_MSG_FORMAT.format(infoTitle))
711
        '''
709 712

  
710
        lastId = -1
711
        if self.selectedSymbol is not None:
712
            lastId = self.selectedSymbol.getId()
713
        if lastId != id and AppDocData.instance().isExistData('symId', id):
714
            infoTitle = self.ui.idLabel.text()
715
            return (False, EXCEPTION_MSG_DUPLICATED_FORMAT.format(infoTitle))
713
        '''
714
            lastId = -1
715
            if self.selectedSymbol is not None:
716
                lastId = self.selectedSymbol.getId()
717
            if lastId != id and AppDocData.instance().isExistData('symId', id):
718
                infoTitle = self.ui.idLabel.text()
719
                return (False, EXCEPTION_MSG_DUPLICATED_FORMAT.format(infoTitle))
720
        '''
716 721

  
717 722
        if not self.ui.nameLineEdit.text():
718 723
            infoTitle = self.ui.nameLabel.text()
DTI_PID/DTI_PID/SymbolBase.py
3 3
OCR_OPTION_HALF_AND_HALF = 2
4 4

  
5 5
class SymbolBase():
6
    def __init__(self, id, sName, sType, threshold = None, minMatchCount = 0
6
    def __init__(self, sName, sType, threshold = None, minMatchCount = 0
7 7
                 , isDetectOnOrigin = False, rotationCount = 4, ocrOption = OCR_OPTION_NOT_EXEC, isContainChild = 0
8 8
                 , originalPoint = None, connectionPoint = None, baseSymbol = None, additionalSymbol = None
9 9
                 , isExceptDetect = 0, hasInstrumentLabel = 0, uid = None):
......
12 12
    #             , originalPoint = None, connectionPoint = None, baseSymbol = None, additionalSymbol = None
13 13
    #             , uid = None):
14 14
        self.uid = uid ## Auto increased Unique Id
15
        self.id = id ## Symbol Id
15
        #self.id = id ## Symbol Id
16 16
        self.sName = sName
17 17
        self.sType = sType
18 18
        #self.path = path
......
36 36
    def getUid(self):
37 37
        return self.uid
38 38

  
39
    '''
39 40
    def setId(self, id):
40 41
        self.id = id
41

  
42
    '''
43
    '''
42 44
    def getId(self):
43 45
        return self.id
44
    
46
    '''
47

  
45 48
    def setName(self, sName):
46 49
        self.sName = sName
47 50

  
DTI_PID/DTI_PID/SymbolEditor_UI.py
215 215
        self.scrollAreaWidgetContents.setObjectName("scrollAreaWidgetContents")
216 216
        self.formLayout = QtWidgets.QFormLayout(self.scrollAreaWidgetContents)
217 217
        self.formLayout.setObjectName("formLayout")
218
        self.idLabel = QtWidgets.QLabel(self.scrollAreaWidgetContents)
219
        font = QtGui.QFont()
220
        font.setBold(True)
221
        font.setWeight(75)
222
        self.idLabel.setFont(font)
223
        self.idLabel.setObjectName("idLabel")
224
        self.formLayout.setWidget(0, QtWidgets.QFormLayout.LabelRole, self.idLabel)
225
        self.idLineEdit = QtWidgets.QLineEdit(self.scrollAreaWidgetContents)
226
        self.idLineEdit.setObjectName("idLineEdit")
227
        self.formLayout.setWidget(0, QtWidgets.QFormLayout.FieldRole, self.idLineEdit)
228 218
        self.nameLabel = QtWidgets.QLabel(self.scrollAreaWidgetContents)
229 219
        font = QtGui.QFont()
230 220
        font.setBold(True)
231 221
        font.setWeight(75)
232 222
        self.nameLabel.setFont(font)
233 223
        self.nameLabel.setObjectName("nameLabel")
234
        self.formLayout.setWidget(1, QtWidgets.QFormLayout.LabelRole, self.nameLabel)
224
        self.formLayout.setWidget(0, QtWidgets.QFormLayout.LabelRole, self.nameLabel)
235 225
        self.nameLineEdit = QtWidgets.QLineEdit(self.scrollAreaWidgetContents)
236 226
        self.nameLineEdit.setObjectName("nameLineEdit")
237
        self.formLayout.setWidget(1, QtWidgets.QFormLayout.FieldRole, self.nameLineEdit)
227
        self.formLayout.setWidget(0, QtWidgets.QFormLayout.FieldRole, self.nameLineEdit)
238 228
        self.thresholdLabel = QtWidgets.QLabel(self.scrollAreaWidgetContents)
239 229
        font = QtGui.QFont()
240 230
        font.setBold(True)
241 231
        font.setWeight(75)
242 232
        self.thresholdLabel.setFont(font)
243 233
        self.thresholdLabel.setObjectName("thresholdLabel")
244
        self.formLayout.setWidget(2, QtWidgets.QFormLayout.LabelRole, self.thresholdLabel)
234
        self.formLayout.setWidget(1, QtWidgets.QFormLayout.LabelRole, self.thresholdLabel)
245 235
        self.thresholdLineEdit = QtWidgets.QLineEdit(self.scrollAreaWidgetContents)
246 236
        self.thresholdLineEdit.setObjectName("thresholdLineEdit")
247
        self.formLayout.setWidget(2, QtWidgets.QFormLayout.FieldRole, self.thresholdLineEdit)
237
        self.formLayout.setWidget(1, QtWidgets.QFormLayout.FieldRole, self.thresholdLineEdit)
248 238
        self.minMatchPointLabel = QtWidgets.QLabel(self.scrollAreaWidgetContents)
249 239
        font = QtGui.QFont()
250 240
        font.setBold(True)
251 241
        font.setWeight(75)
252 242
        self.minMatchPointLabel.setFont(font)
253 243
        self.minMatchPointLabel.setObjectName("minMatchPointLabel")
254
        self.formLayout.setWidget(3, QtWidgets.QFormLayout.LabelRole, self.minMatchPointLabel)
244
        self.formLayout.setWidget(2, QtWidgets.QFormLayout.LabelRole, self.minMatchPointLabel)
255 245
        self.minMatchPointLineEdit = QtWidgets.QLineEdit(self.scrollAreaWidgetContents)
256 246
        self.minMatchPointLineEdit.setObjectName("minMatchPointLineEdit")
257
        self.formLayout.setWidget(3, QtWidgets.QFormLayout.FieldRole, self.minMatchPointLineEdit)
247
        self.formLayout.setWidget(2, QtWidgets.QFormLayout.FieldRole, self.minMatchPointLineEdit)
258 248
        self.rotationCountLabel = QtWidgets.QLabel(self.scrollAreaWidgetContents)
259 249
        font = QtGui.QFont()
260 250
        font.setBold(True)
261 251
        font.setWeight(75)
262 252
        self.rotationCountLabel.setFont(font)
263 253
        self.rotationCountLabel.setObjectName("rotationCountLabel")
264
        self.formLayout.setWidget(4, QtWidgets.QFormLayout.LabelRole, self.rotationCountLabel)
254
        self.formLayout.setWidget(3, QtWidgets.QFormLayout.LabelRole, self.rotationCountLabel)
265 255
        self.rotationCountSpinBox = QtWidgets.QSpinBox(self.scrollAreaWidgetContents)
266 256
        self.rotationCountSpinBox.setMinimum(0)
267 257
        self.rotationCountSpinBox.setMaximum(3)
268 258
        self.rotationCountSpinBox.setProperty("value", 0)
269 259
        self.rotationCountSpinBox.setObjectName("rotationCountSpinBox")
270
        self.formLayout.setWidget(4, QtWidgets.QFormLayout.FieldRole, self.rotationCountSpinBox)
260
        self.formLayout.setWidget(3, QtWidgets.QFormLayout.FieldRole, self.rotationCountSpinBox)
271 261
        self.isContainChildLabel = QtWidgets.QLabel(self.scrollAreaWidgetContents)
272 262
        font = QtGui.QFont()
273 263
        font.setBold(True)
274 264
        font.setWeight(75)
275 265
        self.isContainChildLabel.setFont(font)
276 266
        self.isContainChildLabel.setObjectName("isContainChildLabel")
277
        self.formLayout.setWidget(5, QtWidgets.QFormLayout.LabelRole, self.isContainChildLabel)
267
        self.formLayout.setWidget(4, QtWidgets.QFormLayout.LabelRole, self.isContainChildLabel)
278 268
        self.isContainChildCheckBox = QtWidgets.QCheckBox(self.scrollAreaWidgetContents)
279 269
        self.isContainChildCheckBox.setText("")
280 270
        self.isContainChildCheckBox.setCheckable(True)
281 271
        self.isContainChildCheckBox.setObjectName("isContainChildCheckBox")
282
        self.formLayout.setWidget(5, QtWidgets.QFormLayout.FieldRole, self.isContainChildCheckBox)
272
        self.formLayout.setWidget(4, QtWidgets.QFormLayout.FieldRole, self.isContainChildCheckBox)
283 273
        self.typeLabel = QtWidgets.QLabel(self.scrollAreaWidgetContents)
284 274
        font = QtGui.QFont()
285 275
        font.setBold(True)
286 276
        font.setWeight(75)
287 277
        self.typeLabel.setFont(font)
288 278
        self.typeLabel.setObjectName("typeLabel")
289
        self.formLayout.setWidget(6, QtWidgets.QFormLayout.LabelRole, self.typeLabel)
279
        self.formLayout.setWidget(5, QtWidgets.QFormLayout.LabelRole, self.typeLabel)
290 280
        self.typeComboBox = QtWidgets.QComboBox(self.scrollAreaWidgetContents)
291 281
        self.typeComboBox.setObjectName("typeComboBox")
292
        self.formLayout.setWidget(6, QtWidgets.QFormLayout.FieldRole, self.typeComboBox)
282
        self.formLayout.setWidget(5, QtWidgets.QFormLayout.FieldRole, self.typeComboBox)
293 283
        self.baseSymbolLabel = QtWidgets.QLabel(self.scrollAreaWidgetContents)
294 284
        font = QtGui.QFont()
295 285
        font.setBold(True)
296 286
        font.setWeight(75)
297 287
        self.baseSymbolLabel.setFont(font)
298 288
        self.baseSymbolLabel.setObjectName("baseSymbolLabel")
299
        self.formLayout.setWidget(7, QtWidgets.QFormLayout.LabelRole, self.baseSymbolLabel)
289
        self.formLayout.setWidget(6, QtWidgets.QFormLayout.LabelRole, self.baseSymbolLabel)
300 290
        self.baseSymbolComboBox = QtWidgets.QComboBox(self.scrollAreaWidgetContents)
301 291
        self.baseSymbolComboBox.setObjectName("baseSymbolComboBox")
302
        self.formLayout.setWidget(7, QtWidgets.QFormLayout.FieldRole, self.baseSymbolComboBox)
292
        self.formLayout.setWidget(6, QtWidgets.QFormLayout.FieldRole, self.baseSymbolComboBox)
303 293
        self.additionalSymbolLabel = QtWidgets.QLabel(self.scrollAreaWidgetContents)
304 294
        font = QtGui.QFont()
305 295
        font.setBold(True)
306 296
        font.setWeight(75)
307 297
        self.additionalSymbolLabel.setFont(font)
308 298
        self.additionalSymbolLabel.setObjectName("additionalSymbolLabel")
309
        self.formLayout.setWidget(8, QtWidgets.QFormLayout.LabelRole, self.additionalSymbolLabel)
299
        self.formLayout.setWidget(7, QtWidgets.QFormLayout.LabelRole, self.additionalSymbolLabel)
310 300
        self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
311 301
        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
312 302
        self.defaultSymbolDirectionComboBox = QtWidgets.QComboBox(self.scrollAreaWidgetContents)
......
320 310
        self.addAdditionalSymbolButton.setMaximumSize(QtCore.QSize(40, 16777215))
321 311
        self.addAdditionalSymbolButton.setObjectName("addAdditionalSymbolButton")
322 312
        self.horizontalLayout_2.addWidget(self.addAdditionalSymbolButton)
323
        self.formLayout.setLayout(8, QtWidgets.QFormLayout.FieldRole, self.horizontalLayout_2)
313
        self.formLayout.setLayout(7, QtWidgets.QFormLayout.FieldRole, self.horizontalLayout_2)
324 314
        self.additionalSymbolListWidget = QtWidgets.QListWidget(self.scrollAreaWidgetContents)
325 315
        self.additionalSymbolListWidget.setObjectName("additionalSymbolListWidget")
326
        self.formLayout.setWidget(9, QtWidgets.QFormLayout.FieldRole, self.additionalSymbolListWidget)
316
        self.formLayout.setWidget(8, QtWidgets.QFormLayout.FieldRole, self.additionalSymbolListWidget)
327 317
        self.originalPointLabel = QtWidgets.QLabel(self.scrollAreaWidgetContents)
328 318
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred)
329 319
        sizePolicy.setHorizontalStretch(0)
......
336 326
        self.originalPointLabel.setFont(font)
337 327
        self.originalPointLabel.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter)
338 328
        self.originalPointLabel.setObjectName("originalPointLabel")
339
        self.formLayout.setWidget(10, QtWidgets.QFormLayout.LabelRole, self.originalPointLabel)
329
        self.formLayout.setWidget(9, QtWidgets.QFormLayout.LabelRole, self.originalPointLabel)
340 330
        self.horizontalLayout_4 = QtWidgets.QHBoxLayout()
341 331
        self.horizontalLayout_4.setObjectName("horizontalLayout_4")
342 332
        self.originalPointLineEdit = QtWidgets.QLineEdit(self.scrollAreaWidgetContents)
......
347 337
        self.addOriginalPointButton.setMaximumSize(QtCore.QSize(40, 16777215))
348 338
        self.addOriginalPointButton.setObjectName("addOriginalPointButton")
349 339
        self.horizontalLayout_4.addWidget(self.addOriginalPointButton)
350
        self.formLayout.setLayout(10, QtWidgets.QFormLayout.FieldRole, self.horizontalLayout_4)
340
        self.formLayout.setLayout(9, QtWidgets.QFormLayout.FieldRole, self.horizontalLayout_4)
351 341
        self.connectionPointLabel = QtWidgets.QLabel(self.scrollAreaWidgetContents)
352 342
        font = QtGui.QFont()
353 343
        font.setBold(True)
......
355 345
        self.connectionPointLabel.setFont(font)
356 346
        self.connectionPointLabel.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter)
357 347
        self.connectionPointLabel.setObjectName("connectionPointLabel")
358
        self.formLayout.setWidget(11, QtWidgets.QFormLayout.LabelRole, self.connectionPointLabel)
348
        self.formLayout.setWidget(10, QtWidgets.QFormLayout.LabelRole, self.connectionPointLabel)
359 349
        self.horizontalLayout_6 = QtWidgets.QHBoxLayout()
360 350
        self.horizontalLayout_6.setObjectName("horizontalLayout_6")
361 351
        self.connectionPointLineEdit = QtWidgets.QLineEdit(self.scrollAreaWidgetContents)
......
366 356
        self.addConnectionPointButton.setMaximumSize(QtCore.QSize(40, 16777215))
367 357
        self.addConnectionPointButton.setObjectName("addConnectionPointButton")
368 358
        self.horizontalLayout_6.addWidget(self.addConnectionPointButton)
369
        self.formLayout.setLayout(11, QtWidgets.QFormLayout.FieldRole, self.horizontalLayout_6)
359
        self.formLayout.setLayout(10, QtWidgets.QFormLayout.FieldRole, self.horizontalLayout_6)
370 360
        self.connectionPointList = QtWidgets.QListWidget(self.scrollAreaWidgetContents)
371 361
        self.connectionPointList.setObjectName("connectionPointList")
372
        self.formLayout.setWidget(12, QtWidgets.QFormLayout.FieldRole, self.connectionPointList)
362
        self.formLayout.setWidget(11, QtWidgets.QFormLayout.FieldRole, self.connectionPointList)
373 363
        self.hasInstrumentLabel = QtWidgets.QLabel(self.scrollAreaWidgetContents)
374 364
        font = QtGui.QFont()
375 365
        font.setBold(True)
376 366
        font.setWeight(75)
377 367
        self.hasInstrumentLabel.setFont(font)
378 368
        self.hasInstrumentLabel.setObjectName("hasInstrumentLabel")
379
        self.formLayout.setWidget(13, QtWidgets.QFormLayout.LabelRole, self.hasInstrumentLabel)
369
        self.formLayout.setWidget(12, QtWidgets.QFormLayout.LabelRole, self.hasInstrumentLabel)
380 370
        self.hasInstrumentLabelCheckBox = QtWidgets.QCheckBox(self.scrollAreaWidgetContents)
381 371
        self.hasInstrumentLabelCheckBox.setText("")
382 372
        self.hasInstrumentLabelCheckBox.setObjectName("hasInstrumentLabelCheckBox")
383
        self.formLayout.setWidget(13, QtWidgets.QFormLayout.FieldRole, self.hasInstrumentLabelCheckBox)
373
        self.formLayout.setWidget(12, QtWidgets.QFormLayout.FieldRole, self.hasInstrumentLabelCheckBox)
384 374
        self.isExceptDetectLabel = QtWidgets.QLabel(self.scrollAreaWidgetContents)
385 375
        font = QtGui.QFont()
386 376
        font.setBold(True)
387 377
        font.setWeight(75)
388 378
        self.isExceptDetectLabel.setFont(font)
389 379
        self.isExceptDetectLabel.setObjectName("isExceptDetectLabel")
390
        self.formLayout.setWidget(14, QtWidgets.QFormLayout.LabelRole, self.isExceptDetectLabel)
380
        self.formLayout.setWidget(13, QtWidgets.QFormLayout.LabelRole, self.isExceptDetectLabel)
391 381
        self.isExceptDetectCheckBox = QtWidgets.QCheckBox(self.scrollAreaWidgetContents)
392 382
        self.isExceptDetectCheckBox.setText("")
393 383
        self.isExceptDetectCheckBox.setObjectName("isExceptDetectCheckBox")
394
        self.formLayout.setWidget(14, QtWidgets.QFormLayout.FieldRole, self.isExceptDetectCheckBox)
384
        self.formLayout.setWidget(13, QtWidgets.QFormLayout.FieldRole, self.isExceptDetectCheckBox)
395 385
        self.immediateInsertLabel = QtWidgets.QLabel(self.scrollAreaWidgetContents)
396 386
        font = QtGui.QFont()
397 387
        font.setBold(True)
398 388
        font.setWeight(75)
399 389
        self.immediateInsertLabel.setFont(font)
400 390
        self.immediateInsertLabel.setObjectName("immediateInsertLabel")
401
        self.formLayout.setWidget(15, QtWidgets.QFormLayout.LabelRole, self.immediateInsertLabel)
391
        self.formLayout.setWidget(14, QtWidgets.QFormLayout.LabelRole, self.immediateInsertLabel)
402 392
        self.immediateInsertCheckBox = QtWidgets.QCheckBox(self.scrollAreaWidgetContents)
403 393
        self.immediateInsertCheckBox.setText("")
404 394
        self.immediateInsertCheckBox.setObjectName("immediateInsertCheckBox")
405
        self.formLayout.setWidget(15, QtWidgets.QFormLayout.FieldRole, self.immediateInsertCheckBox)
395
        self.formLayout.setWidget(14, QtWidgets.QFormLayout.FieldRole, self.immediateInsertCheckBox)
406 396
        self.buttonBox = QtWidgets.QDialogButtonBox(self.scrollAreaWidgetContents)
407 397
        self.buttonBox.setLayoutDirection(QtCore.Qt.LeftToRight)
408 398
        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.Close|QtWidgets.QDialogButtonBox.Save)
409 399
        self.buttonBox.setObjectName("buttonBox")
410
        self.formLayout.setWidget(16, QtWidgets.QFormLayout.SpanningRole, self.buttonBox)
400
        self.formLayout.setWidget(15, QtWidgets.QFormLayout.SpanningRole, self.buttonBox)
411 401
        self.scrollArea.setWidget(self.scrollAreaWidgetContents)
412 402
        self.verticalLayout.addWidget(self.scrollArea)
413 403
        self.gridLayout_2.addLayout(self.verticalLayout, 0, 0, 1, 1)
......
436 426
        self.flipHorizontalButton.setText(_translate("Dialog", "Flip Horizontal"))
437 427
        self.guidelineCheckbox.setText(_translate("Dialog", "Show Guideline"))
438 428
        self.initZoomButton.setText(_translate("Dialog", "Init Zoom"))
439
        self.idLabel.setText(_translate("Dialog", "ID"))
440 429
        self.nameLabel.setText(_translate("Dialog", "심볼명"))
441 430
        self.thresholdLabel.setText(_translate("Dialog", "임계값(%)"))
442 431
        self.minMatchPointLabel.setText(_translate("Dialog", "최소 특징점 개수"))
DTI_PID/DTI_PID/UI/SymbolEditor.ui
364 364
            </property>
365 365
            <layout class="QFormLayout" name="formLayout">
366 366
             <item row="0" column="0">
367
              <widget class="QLabel" name="idLabel">
368
               <property name="font">
369
                <font>
370
                 <weight>75</weight>
371
                 <bold>true</bold>
372
                </font>
373
               </property>
374
               <property name="text">
375
                <string>ID</string>
376
               </property>
377
              </widget>
378
             </item>
379
             <item row="0" column="1">
380
              <widget class="QLineEdit" name="idLineEdit"/>
381
             </item>
382
             <item row="1" column="0">
383 367
              <widget class="QLabel" name="nameLabel">
384 368
               <property name="font">
385 369
                <font>
......
392 376
               </property>
393 377
              </widget>
394 378
             </item>
395
             <item row="1" column="1">
379
             <item row="0" column="1">
396 380
              <widget class="QLineEdit" name="nameLineEdit"/>
397 381
             </item>
398
             <item row="2" column="0">
382
             <item row="1" column="0">
399 383
              <widget class="QLabel" name="thresholdLabel">
400 384
               <property name="font">
401 385
                <font>
......
408 392
               </property>
409 393
              </widget>
410 394
             </item>
411
             <item row="2" column="1">
395
             <item row="1" column="1">
412 396
              <widget class="QLineEdit" name="thresholdLineEdit"/>
413 397
             </item>
414
             <item row="3" column="0">
398
             <item row="2" column="0">
415 399
              <widget class="QLabel" name="minMatchPointLabel">
416 400
               <property name="font">
417 401
                <font>
......
424 408
               </property>
425 409
              </widget>
426 410
             </item>
427
             <item row="3" column="1">
411
             <item row="2" column="1">
428 412
              <widget class="QLineEdit" name="minMatchPointLineEdit"/>
429 413
             </item>
430
             <item row="4" column="0">
414
             <item row="3" column="0">
431 415
              <widget class="QLabel" name="rotationCountLabel">
432 416
               <property name="font">
433 417
                <font>
......
440 424
               </property>
441 425
              </widget>
442 426
             </item>
443
             <item row="4" column="1">
427
             <item row="3" column="1">
444 428
              <widget class="QSpinBox" name="rotationCountSpinBox">
445 429
               <property name="minimum">
446 430
                <number>0</number>
......
453 437
               </property>
454 438
              </widget>
455 439
             </item>
456
             <item row="5" column="0">
440
             <item row="4" column="0">
457 441
              <widget class="QLabel" name="isContainChildLabel">
458 442
               <property name="font">
459 443
                <font>
......
466 450
               </property>
467 451
              </widget>
468 452
             </item>
469
             <item row="5" column="1">
453
             <item row="4" column="1">
470 454
              <widget class="QCheckBox" name="isContainChildCheckBox">
471 455
               <property name="text">
472 456
                <string/>
......
476 460
               </property>
477 461
              </widget>
478 462
             </item>
479
             <item row="6" column="0">
463
             <item row="5" column="0">
480 464
              <widget class="QLabel" name="typeLabel">
481 465
               <property name="font">
482 466
                <font>
......
489 473
               </property>
490 474
              </widget>
491 475
             </item>
492
             <item row="6" column="1">
476
             <item row="5" column="1">
493 477
              <widget class="QComboBox" name="typeComboBox"/>
494 478
             </item>
495
             <item row="7" column="0">
479
             <item row="6" column="0">
496 480
              <widget class="QLabel" name="baseSymbolLabel">
497 481
               <property name="font">
498 482
                <font>
......
505 489
               </property>
506 490
              </widget>
507 491
             </item>
508
             <item row="7" column="1">
492
             <item row="6" column="1">
509 493
              <widget class="QComboBox" name="baseSymbolComboBox"/>
510 494
             </item>
511
             <item row="8" column="0">
495
             <item row="7" column="0">
512 496
              <widget class="QLabel" name="additionalSymbolLabel">
513 497
               <property name="font">
514 498
                <font>
......
521 505
               </property>
522 506
              </widget>
523 507
             </item>
524
             <item row="8" column="1">
508
             <item row="7" column="1">
525 509
              <layout class="QHBoxLayout" name="horizontalLayout_2">
526 510
               <item>
527 511
                <widget class="QComboBox" name="defaultSymbolDirectionComboBox">
......
551 535
               </item>
552 536
              </layout>
553 537
             </item>
554
             <item row="9" column="1">
538
             <item row="8" column="1">
555 539
              <widget class="QListWidget" name="additionalSymbolListWidget"/>
556 540
             </item>
557
             <item row="10" column="0">
541
             <item row="9" column="0">
558 542
              <widget class="QLabel" name="originalPointLabel">
559 543
               <property name="sizePolicy">
560 544
                <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
......
576 560
               </property>
577 561
              </widget>
578 562
             </item>
579
             <item row="10" column="1">
563
             <item row="9" column="1">
580 564
              <layout class="QHBoxLayout" name="horizontalLayout_4">
581 565
               <item>
582 566
                <widget class="QLineEdit" name="originalPointLineEdit">
......
600 584
               </item>
601 585
              </layout>
602 586
             </item>
603
             <item row="11" column="0">
587
             <item row="10" column="0">
604 588
              <widget class="QLabel" name="connectionPointLabel">
605 589
               <property name="font">
606 590
                <font>
......
616 600
               </property>
617 601
              </widget>
618 602
             </item>
619
             <item row="11" column="1">
603
             <item row="10" column="1">
620 604
              <layout class="QHBoxLayout" name="horizontalLayout_6">
621 605
               <item>
622 606
                <widget class="QLineEdit" name="connectionPointLineEdit">
......
640 624
               </item>
641 625
              </layout>
642 626
             </item>
643
             <item row="12" column="1">
627
             <item row="11" column="1">
644 628
              <widget class="QListWidget" name="connectionPointList"/>
645 629
             </item>
646
             <item row="13" column="0">
630
             <item row="12" column="0">
647 631
              <widget class="QLabel" name="hasInstrumentLabel">
648 632
               <property name="font">
649 633
                <font>
......
656 640
               </property>
657 641
              </widget>
658 642
             </item>
659
             <item row="13" column="1">
643
             <item row="12" column="1">
660 644
              <widget class="QCheckBox" name="hasInstrumentLabelCheckBox">
661 645
               <property name="text">
662 646
                <string/>
663 647
               </property>
664 648
              </widget>
665 649
             </item>
666
             <item row="14" column="0">
650
             <item row="13" column="0">
667 651
              <widget class="QLabel" name="isExceptDetectLabel">
668 652
               <property name="font">
669 653
                <font>
......
676 660
               </property>
677 661
              </widget>
678 662
             </item>
679
             <item row="14" column="1">
663
             <item row="13" column="1">
680 664
              <widget class="QCheckBox" name="isExceptDetectCheckBox">
681 665
               <property name="text">
682 666
                <string/>
683 667
               </property>
684 668
              </widget>
685 669
             </item>
686
             <item row="15" column="0">
670
             <item row="14" column="0">
687 671
              <widget class="QLabel" name="immediateInsertLabel">
688 672
               <property name="font">
689 673
                <font>
......
697 681
               </property>
698 682
              </widget>
699 683
             </item>
700
             <item row="15" column="1">
684
             <item row="14" column="1">
701 685
              <widget class="QCheckBox" name="immediateInsertCheckBox">
702 686
               <property name="text">
703 687
                <string/>
704 688
               </property>
705 689
              </widget>
706 690
             </item>
707
             <item row="16" column="0" colspan="2">
691
             <item row="15" column="0" colspan="2">
708 692
              <widget class="QDialogButtonBox" name="buttonBox">
709 693
               <property name="layoutDirection">
710 694
                <enum>Qt::LeftToRight</enum>

내보내기 Unified diff