프로젝트

일반

사용자정보

개정판 87d22b34

ID87d22b34b690e40feda8e66c67603df5391f84fd
상위 73a605b0
하위 9f0a0089, 63f8e6df

함의성이(가) 약 3년 전에 추가함

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

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