개정판 9f0a0089
line freeze on going
Change-Id: Ib225d1d8a7de442a2d90b436422837e7780334f3
DTI_PID/DTI_PID/Shapes/EngineeringRunItem.py | ||
---|---|---|
112 | 112 |
from EngineeringLineItem import QEngineeringLineItem |
113 | 113 |
|
114 | 114 |
fixed = False |
115 |
reverse_flag = False |
|
115 | 116 |
matches = [item for item in self.items if type(item) is QEngineeringLineItem and item.prop('Freeze')] |
116 | 117 |
|
117 |
if not matches: |
|
118 |
for at in range(len(self.items)): |
|
119 |
if type(self.items[at]) is QEngineeringLineItem and at > 0: |
|
120 |
self.items[at].arrange_flow_direction(self.items[at-1]) |
|
121 |
elif type(self.items[at]) is QEngineeringLineItem and len(self.items) > 1: |
|
122 |
self.items[at].arrange_flow_direction(self.items[at+1]) |
|
123 |
self.items[at].reverse() |
|
124 |
else: |
|
118 |
if matches: |
|
125 | 119 |
index = self.items.index(matches[0]) |
126 | 120 |
|
127 |
if index == 0: |
|
128 |
for at in range(len(self.items)): |
|
129 |
if type(self.items[at]) is QEngineeringLineItem and at > 0: |
|
130 |
self.items[at].arrange_flow_direction(self.items[at-1]) |
|
131 |
elif index == len(self.items) - 1: |
|
132 |
for at in reversed(range(len(self.items))): |
|
133 |
if type(self.items[at]) is QEngineeringLineItem and at < len(self.items) - 1: |
|
134 |
self.items[at].arrange_flow_direction(self.items[at+1]) |
|
135 |
self.reverse() |
|
136 |
else: |
|
137 |
for at in reversed(range(index)): |
|
138 |
if type(self.items[at]) is QEngineeringLineItem: |
|
139 |
self.items[at].arrange_flow_direction(self.items[at+1], True) |
|
140 |
#self.items[at].reverse() |
|
141 |
|
|
142 |
for at in range(index + 1, len(self.items)): |
|
143 |
if type(self.items[at]) is QEngineeringLineItem: |
|
144 |
self.items[at].arrange_flow_direction(self.items[at-1]) |
|
145 |
#self.items[at].reverse() |
|
121 |
if index == 0 and len(self.items) > 1: |
|
122 |
if matches[0].connectors[0].connectedItem == self.items[1]: |
|
123 |
reverse_flag = True |
|
124 |
elif len(self.items) > 1: |
|
125 |
if matches[0].connectors[1].connectedItem == self.items[index - 1]: |
|
126 |
reverse_flag = True |
|
146 | 127 |
|
147 | 128 |
fixed = True |
148 | 129 |
|
130 |
for at in range(len(self.items)): |
|
131 |
if type(self.items[at]) is QEngineeringLineItem and at > 0: |
|
132 |
self.items[at].arrange_flow_direction(self.items[at-1]) |
|
133 |
elif type(self.items[at]) is QEngineeringLineItem and len(self.items) > 1: |
|
134 |
self.items[at].arrange_flow_direction(self.items[at+1]) |
|
135 |
self.items[at].reverse() |
|
136 |
|
|
137 |
if reverse_flag: |
|
138 |
self.reverse() |
|
139 |
|
|
149 | 140 |
return fixed |
150 | 141 |
|
151 | 142 |
def reverse(self): |
내보내기 Unified diff