equal
deleted
inserted
replaced
118 self.DrawGrid = True |
118 self.DrawGrid = True |
119 self.current_id = 0 |
119 self.current_id = 0 |
120 |
120 |
121 # Initialize Viewer mode to Selection mode |
121 # Initialize Viewer mode to Selection mode |
122 self.Mode = MODE_SELECTION |
122 self.Mode = MODE_SELECTION |
|
123 self.SavedMode = False |
123 |
124 |
124 self.Parent = window |
125 self.Parent = window |
125 self.Controler = controler |
126 self.Controler = controler |
126 |
127 |
127 # Link Viewer event to corresponding methods |
128 # Link Viewer event to corresponding methods |
153 self.Elements = [] |
154 self.Elements = [] |
154 self.SelectedElement = None |
155 self.SelectedElement = None |
155 |
156 |
156 # Changes Viewer mode |
157 # Changes Viewer mode |
157 def SetMode(self, mode): |
158 def SetMode(self, mode): |
158 self.Mode = mode |
159 if self.Mode != mode or mode == MODE_SELECTION: |
|
160 self.Mode = mode |
|
161 self.SavedMode = False |
|
162 else: |
|
163 self.SavedMode = True |
159 # Reset selection |
164 # Reset selection |
160 if self.SelectedElement: |
165 if self.Mode != MODE_SELECTION and self.SelectedElement: |
161 self.SelectedElement.SetSelected(False) |
166 self.SelectedElement.SetSelected(False) |
162 self.SelectedElement = None |
167 self.SelectedElement = None |
163 self.Refresh() |
168 self.Refresh() |
164 |
169 |
165 #------------------------------------------------------------------------------- |
170 #------------------------------------------------------------------------------- |
461 for element in self.Elements: |
466 for element in self.Elements: |
462 if element.HitTest(pos) or element.TestHandle(pos) != (0, 0): |
467 if element.HitTest(pos) or element.TestHandle(pos) != (0, 0): |
463 return element |
468 return element |
464 return None |
469 return None |
465 |
470 |
466 def FindBlockConnector(self, pos): |
471 def FindBlockConnector(self, pos, exclude = True): |
467 for block in self.Blocks: |
472 for block in self.Blocks: |
468 result = block.TestConnector(pos) |
473 result = block.TestConnector(pos, exclude) |
469 if result: |
474 if result: |
470 return result |
475 return result |
471 return None |
476 return None |
472 |
477 |
473 def FindElementById(self, id): |
478 def FindElementById(self, id): |