개정판 87d22b34
line freeze on ging
Change-Id: I183e280425d5346671221614f14b7f7c37fb0bdb
DTI_PID/DTI_PID/Shapes/EngineeringRunItem.py | ||
---|---|---|
1 | 1 |
# coding: utf-8 |
2 | 2 |
""" This is engineering run item moduel """ |
3 | 3 |
|
4 |
from re import match |
|
4 | 5 |
import sys |
5 | 6 |
import os.path |
6 | 7 |
import copy |
... | ... | |
110 | 111 |
""" arrange flow direction of line """ |
111 | 112 |
from EngineeringLineItem import QEngineeringLineItem |
112 | 113 |
|
113 |
for at in range(len(self.items)): |
|
114 |
if type(self.items[at]) is QEngineeringLineItem and at > 0: |
|
115 |
self.items[at].arrange_flow_direction(self.items[at-1]) |
|
116 |
elif type(self.items[at]) is QEngineeringLineItem and len(self.items) > 1: |
|
117 |
self.items[at].arrange_flow_direction(self.items[at+1]) |
|
118 |
self.items[at].reverse() |
|
114 |
fixed = False |
|
115 |
matches = [item for item in self.items if type(item) is QEngineeringLineItem and item.prop('Freeze')] |
|
116 |
|
|
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: |
|
125 |
index = self.items.index(matches[0]) |
|
126 |
|
|
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() |
|
146 |
|
|
147 |
fixed = True |
|
148 |
|
|
149 |
return fixed |
|
119 | 150 |
|
120 | 151 |
def reverse(self): |
121 | 152 |
""" reverse line's flow direction """ |
내보내기 Unified diff