개정판 f0d7de14
issue #49: fix code table read_from_legend
Change-Id: I52cf779b35de29a7320da7700f4d2233f87ba481
DTI_PID/DTI_PID/CodeTableDialog.py | ||
---|---|---|
93 | 93 |
for code_text in code_texts: |
94 | 94 |
code_text.desc = [] |
95 | 95 |
|
96 |
for desc_index in reversed(range(len(desc_texts))): |
|
97 |
for code_index in range(len(code_texts)): |
|
98 |
if abs(desc_texts[desc_index].center[1] - code_texts[code_index].center[1]) < round(self.ui.spinBoxHeight.value() / 2): |
|
99 |
code_texts[code_index].desc.append(desc_texts[desc_index]) |
|
100 |
desc_texts.pop(desc_index) |
|
101 |
break |
|
96 |
if desc_texts: |
|
97 |
for desc_index in reversed(range(len(desc_texts))): |
|
98 |
for code_index in range(len(code_texts)): |
|
99 |
if abs(desc_texts[desc_index].center[1] - code_texts[code_index].center[1]) < round(self.ui.spinBoxHeight.value() / 2): |
|
100 |
code_texts[code_index].desc.append(desc_texts[desc_index]) |
|
101 |
desc_texts.pop(desc_index) |
|
102 |
break |
|
102 | 103 |
|
103 |
for desc_index in reversed(range(len(desc_texts))): |
|
104 |
min_distance = sys.maxsize |
|
105 |
min_code = None |
|
106 |
for code_index in range(len(code_texts)): |
|
107 |
distance = desc_texts[desc_index].center[1] - code_texts[code_index].center[1] |
|
108 |
if distance > 0 and distance < min_distance: |
|
109 |
min_distance = distance |
|
110 |
min_code = code_texts[code_index] |
|
111 |
|
|
112 |
if min_code: |
|
113 |
min_code.desc.append(desc_texts[desc_index]) |
|
114 |
desc_texts.pop(desc_index) |
|
104 |
for desc_index in reversed(range(len(desc_texts))):
|
|
105 |
min_distance = sys.maxsize
|
|
106 |
min_code = None
|
|
107 |
for code_index in range(len(code_texts)):
|
|
108 |
distance = desc_texts[desc_index].center[1] - code_texts[code_index].center[1]
|
|
109 |
if distance > 0 and distance < min_distance:
|
|
110 |
min_distance = distance
|
|
111 |
min_code = code_texts[code_index]
|
|
112 |
|
|
113 |
if min_code:
|
|
114 |
min_code.desc.append(desc_texts[desc_index])
|
|
115 |
desc_texts.pop(desc_index)
|
|
115 | 116 |
|
116 |
if desc_texts: |
|
117 |
QMessageBox.warning(self, self.tr('Notice'), self.tr('Please check text area.')) |
|
118 |
return |
|
119 | 117 |
|
118 |
#QMessageBox.warning(self, self.tr('Notice'), self.tr('Please check text area.')) |
|
119 |
#return |
|
120 |
|
|
121 |
desc_texts = [] |
|
120 | 122 |
for code_text in code_texts: |
121 | 123 |
desc = ' '.join([desc.getText() for desc in sorted(code_text.desc, key=lambda desc: desc.center[1])]) |
122 | 124 |
desc_texts.append(desc) |
내보내기 Unified diff