프로젝트

일반

사용자정보

개정판 e578bad7

IDe578bad7c7956e79893f90658e32b8dc03df1dea
상위 f4ce538d
하위 90985e18

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

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

클립보드 이미지 추가 (최대 크기: 500 MB)