개정판 6f57609c
issued #1048: fixed an error when editing stream data
Change-Id: Icbd2fe7bbe6940fa1dc46b7308ee5b13d4c81581
HYTOS/HYTOS/MainWindow.py | ||
---|---|---|
613 | 613 |
column_infos.setHorizontalHeaderLabels(col_names) |
614 | 614 |
# self.tableWidgetHMB.setHorizontalHeaderLabels(col_names) |
615 | 615 |
|
616 |
""" |
|
617 |
rowIndex = 0 |
|
618 |
for columnInfo in column_infos: |
|
619 |
name = columnInfo[0] |
|
620 |
unit = self.convertToUnits(columnInfo[1]) |
|
621 |
|
|
622 |
self.tableWidgetHMB.setItem(rowIndex, 0, set_item_properties(name, Qt.AlignLeft | Qt.AlignVCenter, |
|
623 |
QColor(51, 153, 102))) |
|
624 |
self.tableWidgetHMB.setItem(rowIndex, 1, set_item_properties(unit, Qt.AlignHCenter | Qt.AlignVCenter, |
|
625 |
QColor(204, 255, 204))) |
|
626 |
|
|
627 |
rowIndex += 1 |
|
628 |
""" |
|
629 |
|
|
630 | 616 |
self.tableWidgetHMB.resizeColumnsToContents() |
631 | 617 |
self.tableWidgetHMB.resizeRowsToContents() |
632 | 618 |
|
... | ... | |
668 | 654 |
if len(rows) == 1 and len(columns) == 1: |
669 | 655 |
for i, line in enumerate(reader): |
670 | 656 |
for j, cell in enumerate(line): |
671 |
model.setData(model.index(rows[0] + i, columns[0] + j), cell) |
|
657 |
index = model.index(rows[0] + i, columns[0] + j) |
|
658 |
item = model.item(index.row(), index.column()) |
|
659 |
if item.isEditable(): |
|
660 |
data = model.data(index, Qt.UserRole) |
|
661 |
if type(data) is not type(cell) or data != cell: |
|
662 |
item.setBackground(Qt.magenta) |
|
663 |
model.setData(index, cell) |
|
672 | 664 |
else: |
673 | 665 |
arr = [[cell for cell in row] for row in reader] |
674 | 666 |
for index in selection: |
675 | 667 |
row = index.row() - rows[0] |
676 | 668 |
column = index.column() - columns[0] |
677 |
model.setData(model.index(index.row(), index.column()), arr[row][column]) |
|
669 |
index = model.index(index.row(), index.column()) |
|
670 |
item = model.item(index.row(), index.column()) |
|
671 |
if item.isEditable(): |
|
672 |
data = model.data(index, Qt.UserRole) |
|
673 |
if type(data) is not type(arr[row][column]) or data != arr[row][column]: |
|
674 |
item.setBackground(Qt.magenta) |
|
675 |
model.setData(index, arr[row][column]) |
|
678 | 676 |
|
679 | 677 |
''' |
680 | 678 |
@brief Drawing 속성의 Units 에서 Key값을 이용하여 Value를 찾음 |
... | ... | |
2790 | 2788 |
model.setItem(4, columnCount, item) |
2791 | 2789 |
|
2792 | 2790 |
item = set_item_properties(convert_to_fixed_point(hmb.flowrate_volume), Qt.AlignHCenter | Qt.AlignVCenter) |
2793 |
item.setData(Qt.UserRole, hmb.flowrate_volume)
|
|
2791 |
item.setData(hmb.flowrate_volume, Qt.UserRole)
|
|
2794 | 2792 |
""" |
2795 | 2793 |
if hmb.phase_type == 'Vapor': |
2796 | 2794 |
item.setFlags(Qt.ItemIsEnabled | Qt.ItemIsSelectable) |
... | ... | |
2873 | 2871 |
model.setItem(24, columnCount, item) |
2874 | 2872 |
|
2875 | 2873 |
item = set_item_properties(convert_to_fixed_point(hmb.velocity), Qt.AlignHCenter | Qt.AlignVCenter) |
2874 |
item.setEditable(False) |
|
2876 | 2875 |
model.setItem(25, columnCount, item) |
2877 | 2876 |
|
2878 | 2877 |
item = set_item_properties(convert_to_fixed_point(hmb.reynolds), Qt.AlignHCenter | Qt.AlignVCenter) |
2878 |
item.setEditable(False) |
|
2879 | 2879 |
model.setItem(26, columnCount, item) |
2880 | 2880 |
|
2881 | 2881 |
item = set_item_properties(convert_to_fixed_point(hmb.friction_factor), Qt.AlignHCenter | Qt.AlignVCenter) |
2882 |
item.setEditable(False) |
|
2882 | 2883 |
model.setItem(27, columnCount, item) |
2883 | 2884 |
|
2884 | 2885 |
item = set_item_properties(convert_to_fixed_point(hmb.pressure_drop), Qt.AlignHCenter | Qt.AlignVCenter) |
2886 |
item.setEditable(False) |
|
2885 | 2887 |
model.setItem(28, columnCount, item) |
2886 | 2888 |
|
2887 | 2889 |
item = set_item_properties(convert_to_fixed_point(hmb.pressure_drop_friction), Qt.AlignHCenter | Qt.AlignVCenter) |
2890 |
item.setEditable(False) |
|
2888 | 2891 |
model.setItem(29, columnCount, item) |
2889 | 2892 |
|
2890 | 2893 |
item = set_item_properties(convert_to_fixed_point(hmb.pressure_drop_static), Qt.AlignHCenter | Qt.AlignVCenter) |
2894 |
item.setEditable(False) |
|
2891 | 2895 |
model.setItem(30, columnCount, item) |
2892 | 2896 |
|
2893 | 2897 |
item = set_item_properties(convert_to_fixed_point(hmb.pressure_pipe_end_point), Qt.AlignHCenter | Qt.AlignVCenter) |
2898 |
item.setEditable(False) |
|
2894 | 2899 |
model.setItem(31, columnCount, item) |
2895 | 2900 |
|
2896 | 2901 |
item = set_item_properties(convert_to_fixed_point(hmb.power), Qt.AlignHCenter | Qt.AlignVCenter) |
2902 |
item.setEditable(False) |
|
2897 | 2903 |
model.setItem(32, columnCount, item) |
2898 | 2904 |
|
2899 | 2905 |
if hmb.isDeleted: |
... | ... | |
2943 | 2949 |
@date 2018.08.09 |
2944 | 2950 |
|
2945 | 2951 |
''' |
2946 |
|
|
2947 | 2952 |
def keyPressEvent(self, event): |
2948 | 2953 |
try: |
2949 | 2954 |
if event.key() == Qt.Key_Escape: |
... | ... | |
2957 | 2962 |
|
2958 | 2963 |
QMainWindow.keyPressEvent(self, event) |
2959 | 2964 |
except Exception as ex: |
2960 |
message = 'error occurred({}) in {}:{}'.format(ex, sys.exc_info()[-1].tb_frame.f_code.co_filename,
|
|
2961 |
sys.exc_info()[-1].tb_lineno)
|
|
2965 |
message = f'error occurred({ex}) in {sys.exc_info()[-1].tb_frame.f_code.co_filename}:' \
|
|
2966 |
f'{sys.exc_info()[-1].tb_lineno}'
|
|
2962 | 2967 |
self.addMessage.emit(MessageType.Error, message) |
2963 | 2968 |
|
2964 | 2969 |
def on_item_removed(self, item): |
내보내기 Unified diff