개정판 8e44b27f
issue #000: line stream no case setting test
Change-Id: I2826405e5a145c9f27297e163a81f56c1a2339f5
DTI_PID/DTI_PID/ImportTextFromPDFDialog.py | ||
---|---|---|
133 | 133 |
unknowns.clear() |
134 | 134 |
"""up to here""" |
135 | 135 |
|
136 |
"""add text from autocad file to id xml file"""
|
|
136 |
"""add text from pdf file to id xml file"""
|
|
137 | 137 |
rects = [] |
138 | 138 |
|
139 | 139 |
for blk_tbl_record in pdf_xml_root.iter('Text'): |
... | ... | |
322 | 322 |
node = item.toXml() |
323 | 323 |
elif item.area == 'Drawing' and type(_item) is not QEngineeringTextItem: |
324 | 324 |
node = item.toXml() |
325 |
elif item.area == 'Drawing': |
|
325 |
elif False:#item.area == 'Drawing':
|
|
326 | 326 |
app_doc_data.getReplaceTables() |
327 | 327 |
app_doc_data.getCustomTables() |
328 | 328 |
app_doc_data.loadSymbolAttributeCodeTables() |
... | ... | |
336 | 336 |
if area.contains([loc[0], loc[1]]): |
337 | 337 |
node = item.toXml() |
338 | 338 |
break |
339 |
else: # allow all text item |
|
340 |
node = item.toXml() |
|
339 | 341 |
|
340 | 342 |
if node: |
341 | 343 |
nodes.append(node) |
DTI_PID/DTI_PID/StreamlineDialog.py | ||
---|---|---|
28 | 28 |
if role in [Qt.BackgroundRole]: |
29 | 29 |
item = super(FromToModel, self).item(index.row(), index.column()) |
30 | 30 |
|
31 |
if index.column() in [1, 2]: |
|
31 |
if index.column() in [1, 2, 3]:
|
|
32 | 32 |
uid = item.data(Qt.UserRole) |
33 | 33 |
if not uid: |
34 | 34 |
return self._need_to_pick_backcolor |
... | ... | |
98 | 98 |
QDialog.__init__(self, parent) |
99 | 99 |
self._from_to_widgets = {} |
100 | 100 |
self._from_to_models = {} |
101 |
self._case_combobox = {} |
|
102 |
self.case_list = [] |
|
103 |
self._default_box_color = None |
|
101 | 104 |
|
102 | 105 |
self.ui = Ui_StreamlineDialog() |
103 | 106 |
self.ui.setupUi(self) |
... | ... | |
138 | 141 |
if not hmbs: |
139 | 142 |
return |
140 | 143 |
|
144 |
for data in hmbs[0].datas: |
|
145 |
self.case_list.append(data[0].case) |
|
146 |
|
|
141 | 147 |
model= HmbModel() |
142 | 148 |
header = ['UID', 'Stream No'] |
143 | 149 |
|
... | ... | |
160 | 166 |
for col in range(self.ui.tableViewStreamNo.model().columnCount()): |
161 | 167 |
self.ui.tableViewStreamNo.setColumnHidden(col, col != 1) # hide all columns except index is 1 |
162 | 168 |
|
169 |
def caseChanged(self, text): |
|
170 |
box = self.sender() |
|
171 |
row, column = self._case_combobox[box] |
|
172 |
|
|
173 |
item = self.ui.tableViewFromTo.model().item(row, column) |
|
174 |
item.setData(text, Qt.UserRole) |
|
175 |
item._new = True |
|
176 |
pal = box.palette() |
|
177 |
if self._default_box_color is None: |
|
178 |
self._default_box_color = pal.color(QPalette.Button) |
|
179 |
pal.setColor(QPalette.Button, QColor(Qt.yellow)) |
|
180 |
box.setPalette(pal) |
|
181 |
|
|
182 |
row = self.ui.tableViewStreamNo.selectionModel().currentIndex().row() |
|
183 |
self.ui.tableViewStreamNo.model().item(row, 1)._new = True |
|
184 |
|
|
163 | 185 |
def on_selection_changed(self, selection): |
164 | 186 |
"""show stream line from, to related to selected hmb""" |
165 | 187 |
|
... | ... | |
167 | 189 |
row = selection.indexes()[0].row() |
168 | 190 |
stream_no = self.ui.tableViewStreamNo.model().item(row, 1).text() |
169 | 191 |
|
192 |
app_doc_data = AppDocData.instance() |
|
193 |
|
|
170 | 194 |
if stream_no not in self._from_to_models: |
171 | 195 |
model = FromToModel() |
172 | 196 |
self._from_to_models[stream_no] = model |
173 | 197 |
self.ui.tableViewFromTo.setModel(model) |
174 | 198 |
|
175 |
app_doc_data = AppDocData.instance() |
|
176 | 199 |
rows = app_doc_data.get_stream_from_to(stream_no=stream_no) |
177 | 200 |
if rows: |
178 | 201 |
for row_ in rows: |
... | ... | |
189 | 212 |
drawing_item.setData(row_['Drawing_UID'], Qt.UserRole) |
190 | 213 |
|
191 | 214 |
case = row_['Case'] if row_['Case'] else '' |
192 |
case_item = QStandardItem(case) |
|
193 |
case_item.setData(case, Qt.UserRole) |
|
194 |
|
|
215 |
case_item = QStandardItem('') |
|
216 |
if case in self.case_list: |
|
217 |
case_item.setData(case, Qt.UserRole) |
|
218 |
else: |
|
219 |
case_item.setData(self.case_list[0], Qt.UserRole) |
|
195 | 220 |
items = [drawing_item, from_item, to_item, case_item] |
196 | 221 |
model.appendRow(items) |
197 | 222 |
|
... | ... | |
202 | 227 |
self.ui.tableViewFromTo.setModel(model) |
203 | 228 |
self.ui.tableViewFromTo.resizeColumnsToContents() |
204 | 229 |
|
230 |
''' |
|
231 |
comboboxs = [] |
|
232 |
caseCombobox = QComboBox() |
|
233 |
caseCombobox.addItems(self.case_list) |
|
234 |
caseCombobox.setCurrentText(case) |
|
235 |
caseCombobox.currentTextChanged.connect(self.caseChanged) |
|
236 |
comboboxs.append(caseCombobox) |
|
237 |
''' |
|
238 |
|
|
205 | 239 |
self._from_to_widgets.clear() |
240 |
self._case_combobox.clear() |
|
206 | 241 |
for row_ in range(self.ui.tableViewFromTo.model().rowCount()): |
207 | 242 |
i = self.ui.tableViewFromTo.model().index(row_, 1) |
208 |
data = self.ui.tableViewFromTo.model().data(i, Qt.DisplayRole)
|
|
243 |
data = self.ui.tableViewFromTo.model().data(i, Qt.UserRole)
|
|
209 | 244 |
from_button = FromToWidget(self.ui.tableViewFromTo, 1, data) |
210 | 245 |
self.ui.tableViewFromTo.setIndexWidget(i, from_button) |
211 | 246 |
self._from_to_widgets[from_button] = (row_, 1) |
212 | 247 |
|
213 | 248 |
i = self.ui.tableViewFromTo.model().index(row_, 2) |
214 |
data = self.ui.tableViewFromTo.model().data(i, Qt.DisplayRole)
|
|
249 |
data = self.ui.tableViewFromTo.model().data(i, Qt.UserRole)
|
|
215 | 250 |
to_button = FromToWidget(self.ui.tableViewFromTo, 2, data) |
216 | 251 |
self.ui.tableViewFromTo.setIndexWidget(i, to_button) |
217 | 252 |
self._from_to_widgets[to_button] = (row_, 2) |
218 | 253 |
|
254 |
i = self.ui.tableViewFromTo.model().index(row_, 3) |
|
255 |
data = self.ui.tableViewFromTo.model().data(i, Qt.UserRole) |
|
256 |
case_item = self.ui.tableViewFromTo.model().itemFromIndex(i) |
|
257 |
j = self.ui.tableViewFromTo.model().index(row_, 0) |
|
258 |
drawing_uid = self.ui.tableViewFromTo.model().data(j, Qt.UserRole) |
|
259 |
caseCombobox = QComboBox() |
|
260 |
caseCombobox.addItems(self.case_list) |
|
261 |
caseCombobox.setCurrentText(data) |
|
262 |
caseCombobox.currentTextChanged.connect(self.caseChanged) |
|
263 |
self.ui.tableViewFromTo.setIndexWidget(i, caseCombobox) |
|
264 |
self._case_combobox[caseCombobox] = (row_, 3) |
|
265 |
if drawing_uid != app_doc_data.activeDrawing.UID: |
|
266 |
caseCombobox.setEnabled(False) |
|
267 |
if hasattr(case_item, '_new') and case_item._new: |
|
268 |
pal = caseCombobox.palette() |
|
269 |
pal.setColor(QPalette.Button, QColor(Qt.yellow)) |
|
270 |
caseCombobox.setPalette(pal) |
|
271 |
|
|
219 | 272 |
"""Properties""" |
220 | 273 |
if not self.ui.tableViewProperties.model(): |
221 | 274 |
model_property = QStandardItemModel() |
... | ... | |
332 | 385 |
to_ = model.item(row, 2) |
333 | 386 |
to_uid = to_.data(Qt.UserRole) |
334 | 387 |
case_ = model.item(row, 3) |
335 |
case_ = case_.data(Qt.UserRole) |
|
388 |
case__ = case_.data(Qt.UserRole)
|
|
336 | 389 |
|
337 | 390 |
if hasattr(drawing_, '_new') and drawing_._new: |
338 | 391 |
drawing_._new = False |
... | ... | |
343 | 396 |
if hasattr(case_, '_new') and case_._new: |
344 | 397 |
case_._new = False |
345 | 398 |
|
346 |
from_to_data.append((drawing_uid, from_uid, to_uid, stream_no, case_)) |
|
399 |
from_to_data.append((drawing_uid, from_uid, to_uid, stream_no, case__))
|
|
347 | 400 |
|
348 | 401 |
AppDocData.save_stream_line_data([stream_no, from_to_data]) |
349 | 402 |
|
403 |
if self._default_box_color: |
|
404 |
for box in self._case_combobox.keys(): |
|
405 |
pal = box.palette() |
|
406 |
pal.setColor(QPalette.Button, self._default_box_color) |
|
407 |
box.setPalette(pal) |
|
408 |
|
|
350 | 409 |
QMessageBox.about(self, self.tr("Information"), self.tr('Successfully saved.')) |
351 | 410 |
|
352 | 411 |
def accept(self): |
내보내기 Unified diff