개정판 d3ee19eb
issue #563: line no run manual edit added
Change-Id: Ie0e7d9c19813d913da5dc473add40328775677d5
DTI_PID/DTI_PID/ItemPropertyTableWidget.py | ||
---|---|---|
22 | 22 |
from EngineeringAbstractItem import QEngineeringAbstractItem |
23 | 23 |
from SymbolSvgItem import SymbolSvgItem |
24 | 24 |
from EngineeringLineNoTextItem import QEngineeringLineNoTextItem |
25 |
from QEngineeringTrimLineNoTextItem import QEngineeringTrimLineNoTextItem |
|
25 | 26 |
from EngineeringLineItem import QEngineeringLineItem |
26 | 27 |
from EngineeringNoteItem import QEngineeringNoteItem |
27 | 28 |
from EngineeringTextItem import QEngineeringTextItem |
... | ... | |
920 | 921 |
def keyPressEvent(self, event): |
921 | 922 |
from SymbolAttr import SymbolAttr |
922 | 923 |
|
924 |
app_doc_data = AppDocData.instance() |
|
925 |
|
|
923 | 926 |
if event.key() == Qt.Key_Delete: |
924 | 927 |
items = self.mainWindow.graphicsView.scene().selectedItems() |
925 | 928 |
selectedIndexes = self.selectedIndexes() |
926 | 929 |
if selectedIndexes and selectedIndexes[0].column() == 3 and self.item(selectedIndexes[0].row(), |
927 | 930 |
1).text() == 'OWNER': |
928 |
items[0].owner = None |
|
929 |
self.show_item_property(items[0]) |
|
931 |
item = items[0] |
|
932 |
item.owner = None |
|
933 |
|
|
934 |
matches = [_item for _item in self.mainWindow.graphicsView.scene().items() if |
|
935 |
type(_item) is QEngineeringLineNoTextItem] |
|
936 |
matches.extend([lineNo for lineNo in app_doc_data.tracerLineNos if |
|
937 |
type(lineNo) is QEngineeringTrimLineNoTextItem]) |
|
938 |
for match in matches: |
|
939 |
if item is match.prop('From'): |
|
940 |
match.set_property('From', None) |
|
941 |
if item is match.prop('To'): |
|
942 |
match.set_property('To', None) |
|
943 |
|
|
944 |
for run_index in reversed(range(len(match.runs))): |
|
945 |
run = match.runs[run_index] |
|
946 |
if item in run.items: |
|
947 |
index = run.items.index(item) |
|
948 |
run.items.pop(index) |
|
949 |
if not run.items: |
|
950 |
run.explode() |
|
951 |
if type(match) is QEngineeringTrimLineNoTextItem and not match.runs: |
|
952 |
app_doc_data.tracerLineNos.pop(app_doc_data.tracerLineNos.index(match)) |
|
953 |
|
|
954 |
self.show_item_property(item) |
|
930 | 955 |
elif len(items) == 1 and len(selectedIndexes) == 1 and ( |
931 | 956 |
type(items[0]) is QEngineeringLineItem or issubclass(type(items[0]), SymbolSvgItem) or \ |
932 | 957 |
type(items[0]) is QEngineeringLineNoTextItem or type(items[0]) is QEngineeringVendorItem): |
내보내기 Unified diff