개정판 e578bad7
issue #1489: 시작/끝 지점을 설정하는 화면 구성
Change-Id: If3090274640913076499800b46ea5baf46a14a43
DTI_PID/DTI_PID/StreamlineDialog.py | ||
---|---|---|
12 | 12 |
from UI.Streamline_UI import Ui_StreamlineDialog |
13 | 13 |
|
14 | 14 |
|
15 |
class FromToWidget(QWidget): |
|
16 |
def __init__(self, parent, from_to: str = ''): |
|
17 |
QWidget.__init__(self, parent) |
|
18 |
|
|
19 |
layout = QHBoxLayout() |
|
20 |
layout.setAlignment(Qt.AlignRight) |
|
21 |
layout.setContentsMargins(0, 0, 0, 0) |
|
22 |
pick = QToolButton(self) |
|
23 |
pick.setIcon(QIcon(':/newPrefix/OK.svg')) |
|
24 |
pick.setMaximumHeight(32) |
|
25 |
pick.setMaximumWidth(32) |
|
26 |
layout.addWidget(pick) |
|
27 |
self.setLayout(layout) |
|
28 |
|
|
29 |
|
|
15 | 30 |
class QStreamlineDialog(QDialog): |
16 | 31 |
""" This Streamline dialog class """ |
17 | 32 |
|
... | ... | |
25 | 40 |
self.fill_hmb_data() |
26 | 41 |
self.ui.tableViewStreamNo.selectionModel().selectionChanged.connect(self.on_selection_changed) |
27 | 42 |
|
43 |
self.ui.toolButtonAddFromTo.clicked.connect(self.on_add_new_from_to) |
|
44 |
self.ui.toolButtonDelFromTo.clicked.connect(self.on_del_from_to) |
|
45 |
self.ui.pushButtonSaveFromTo.clicked.connect(self.on_save_from_to) |
|
46 |
|
|
28 | 47 |
self.ui.buttonBox.button(QDialogButtonBox.Ok).setIcon(QIcon(':/newPrefix/OK.svg')) |
29 | 48 |
self.ui.buttonBox.button(QDialogButtonBox.Cancel).setIcon(QIcon(':/newPrefix/Remove.svg')) |
30 | 49 |
|
... | ... | |
135 | 154 |
app_doc_data = AppDocData.instance() |
136 | 155 |
rows = app_doc_data.get_stream_lines(uid) |
137 | 156 |
for row_ in rows: |
138 |
from_ = row_['From_UID'] if row_['From_UID'] else row_['From'] |
|
139 |
to_ = row_['To_UID'] if row_['To_UID'] else row_['To'] |
|
157 |
from_ = row_['From'] if row_['From'] else row_['From_UID'] |
|
158 |
from_item = QStandardItem(from_) |
|
159 |
from_item.setData(row_['From_UID'], Qt.UserRole) |
|
160 |
|
|
161 |
to_ = row_['To'] if row_['To'] else row_['To_UID'] |
|
162 |
to_item = QStandardItem(to_) |
|
163 |
to_item.setData(row_['To_UID'], Qt.UserRole) |
|
164 |
|
|
140 | 165 |
from_drawing = row_['From_Drawing'] |
141 | 166 |
to_drawing = row_['To_Drawing'] |
142 |
items = [QStandardItem(from_drawing if from_drawing == to_drawing else 'error'), |
|
143 |
QStandardItem(from_), QStandardItem(to_)] |
|
167 |
items = [QStandardItem(from_drawing if from_drawing == to_drawing else 'error'), from_item, to_item] |
|
144 | 168 |
model.appendRow(items) |
145 | 169 |
|
146 | 170 |
model.setHorizontalHeaderLabels(['Drawing No', 'From', 'To']) |
147 | 171 |
self.ui.tableViewFromTo.setModel(model) |
148 | 172 |
self.ui.tableViewFromTo.resizeColumnsToContents() |
149 | 173 |
|
174 |
for row in range(self.ui.tableViewFromTo.model().rowCount()): |
|
175 |
i = self.ui.tableViewFromTo.model().index(row, 1) |
|
176 |
data = self.ui.tableViewFromTo.model().data(i, Qt.DisplayRole) |
|
177 |
from_button = FromToWidget(self.ui.tableViewFromTo, data) |
|
178 |
i = self.ui.tableViewFromTo.model().index(row, 1) |
|
179 |
self.ui.tableViewFromTo.setIndexWidget(i, from_button) |
|
180 |
|
|
181 |
i = self.ui.tableViewFromTo.model().index(row, 2) |
|
182 |
data = self.ui.tableViewFromTo.model().data(i, Qt.DisplayRole) |
|
183 |
to_button = FromToWidget(self.ui.tableViewFromTo, data) |
|
184 |
self.ui.tableViewFromTo.setIndexWidget(i, to_button) |
|
185 |
|
|
150 | 186 |
"""Properties""" |
151 | 187 |
if not self.ui.tableViewProperties.model(): |
152 | 188 |
model_property = QStandardItemModel() |
... | ... | |
163 | 199 |
|
164 | 200 |
model_property.setHorizontalHeaderLabels(['Property', 'Value']) |
165 | 201 |
self.ui.tableViewProperties.setModel(model_property) |
202 |
self.ui.tableViewFromTo.horizontalHeader().setResizeMode(QHeaderView.Stretch) |
|
166 | 203 |
self.ui.tableViewProperties.resizeColumnsToContents() |
167 | 204 |
self.ui.tableViewProperties.setEditTriggers(QAbstractItemView.NoEditTriggers) |
168 | 205 |
self.ui.tableViewProperties.setRowHidden(0, True) # hide all columns except index is 1 |
169 | 206 |
|
207 |
def on_add_new_from_to(self): |
|
208 |
"""add a new from/to record""" |
|
209 |
rows = self.ui.tableViewFromTo.model().rowCount() |
|
210 |
index = self.ui.tableViewFromTo.model().index(rows, 0) |
|
211 |
self.ui.tableViewFromTo.model().insertRow(rows, QStandardItem()) |
|
212 |
self.ui.tableViewFromTo.selectionModel().setCurrentIndex(index, QItemSelectionModel.NoUpdate) |
|
213 |
|
|
214 |
from_button = FromToWidget(self.ui.tableViewFromTo) |
|
215 |
i = self.ui.tableViewFromTo.model().index(rows, 1) |
|
216 |
self.ui.tableViewFromTo.setIndexWidget(i, from_button) |
|
217 |
|
|
218 |
to_button = FromToWidget(self.ui.tableViewFromTo) |
|
219 |
i = self.ui.tableViewFromTo.model().index(rows, 2) |
|
220 |
self.ui.tableViewFromTo.setIndexWidget(i, to_button) |
|
221 |
|
|
222 |
def on_del_from_to(self): |
|
223 |
"""delete selected from/to""" |
|
224 |
current = self.ui.tableViewFromTo.selectionModel().currentIndex() |
|
225 |
self.ui.tableViewFromTo.model().removeRow(current.row()) |
|
226 |
|
|
227 |
def on_save_from_to(self): |
|
228 |
pass |
|
229 |
|
|
170 | 230 |
def accept(self): |
171 | 231 |
QDialog.accept(self) |
172 | 232 |
|
내보내기 Unified diff