equal
deleted
inserted
replaced
164 # will be refreshed |
164 # will be refreshed |
165 items_to_delete = [] |
165 items_to_delete = [] |
166 |
166 |
167 # Get current selected item for selected it when values refreshed |
167 # Get current selected item for selected it when values refreshed |
168 selected_item = self.Tree.GetSelection() |
168 selected_item = self.Tree.GetSelection() |
169 selected_pydata = (self.Tree.GetPyData(selected_item) |
169 selected_pydata = (self.Tree.GetItemData(selected_item) |
170 if (selected_item.IsOk() and |
170 if (selected_item.IsOk() and |
171 selected_item != self.Tree.GetRootItem()) |
171 selected_item != self.Tree.GetRootItem()) |
172 else None) |
172 else None) |
173 # Don't save selected item if it is a category |
173 # Don't save selected item if it is a category |
174 selected_infos = ((self.Tree.GetItemText(selected_item), |
174 selected_infos = ((self.Tree.GetItemText(selected_item), |
289 @return: {"type": block_type_name, "inputs": [input_type,...]} or None |
289 @return: {"type": block_type_name, "inputs": [input_type,...]} or None |
290 if no block selected |
290 if no block selected |
291 """ |
291 """ |
292 # Get selected item associated data in tree |
292 # Get selected item associated data in tree |
293 selected_item = self.Tree.GetSelection() |
293 selected_item = self.Tree.GetSelection() |
294 selected_pydata = (self.Tree.GetPyData(selected_item) |
294 selected_pydata = (self.Tree.GetItemData(selected_item) |
295 if (selected_item.IsOk() and |
295 if (selected_item.IsOk() and |
296 selected_item != self.Tree.GetRootItem()) |
296 selected_item != self.Tree.GetRootItem()) |
297 else None) |
297 else None) |
298 |
298 |
299 # Return value is None if selected tree item is root or a category |
299 # Return value is None if selected tree item is root or a category |
327 # Return immediately if item isn't valid |
327 # Return immediately if item isn't valid |
328 if not item.IsOk(): |
328 if not item.IsOk(): |
329 return None |
329 return None |
330 |
330 |
331 # Get data associated to item to test |
331 # Get data associated to item to test |
332 item_pydata = self.Tree.GetPyData(item) |
332 item_pydata = self.Tree.GetItemData(item) |
333 if item_pydata is not None and item_pydata["type"] == BLOCK: |
333 if item_pydata is not None and item_pydata["type"] == BLOCK: |
334 # Only test item corresponding to block |
334 # Only test item corresponding to block |
335 |
335 |
336 # Test if block inputs type are the same than those given |
336 # Test if block inputs type are the same than those given |
337 type_inputs = item_pydata.get("inputs", None) |
337 type_inputs = item_pydata.get("inputs", None) |
391 # Navigate through tree items until one matching found or reach tree |
391 # Navigate through tree items until one matching found or reach tree |
392 # starting or ending |
392 # starting or ending |
393 while item.IsOk(): |
393 while item.IsOk(): |
394 |
394 |
395 # Get item data to get item type |
395 # Get item data to get item type |
396 item_pydata = self.Tree.GetPyData(item) |
396 item_pydata = self.Tree.GetItemData(item) |
397 |
397 |
398 # Item is a block category |
398 # Item is a block category |
399 if (item == root) or item_pydata["type"] == CATEGORY: |
399 if (item == root) or item_pydata["type"] == CATEGORY: |
400 |
400 |
401 # Get category first or last child according to search mode |
401 # Get category first or last child according to search mode |
456 """ |
456 """ |
457 Called when tree item is selected |
457 Called when tree item is selected |
458 @param event: wx.TreeEvent |
458 @param event: wx.TreeEvent |
459 """ |
459 """ |
460 # Update TextCtrl value with block selected usage |
460 # Update TextCtrl value with block selected usage |
461 item_pydata = self.Tree.GetPyData(event.GetItem()) |
461 item_pydata = self.Tree.GetItemData(event.GetItem()) |
462 self.Comment.SetValue( |
462 self.Comment.SetValue( |
463 item_pydata["comment"] |
463 item_pydata["comment"] |
464 if item_pydata is not None and item_pydata["type"] == BLOCK |
464 if item_pydata is not None and item_pydata["type"] == BLOCK |
465 else "") |
465 else "") |
466 |
466 |
474 """ |
474 """ |
475 Called when a drag is started in tree |
475 Called when a drag is started in tree |
476 @param event: wx.TreeEvent |
476 @param event: wx.TreeEvent |
477 """ |
477 """ |
478 selected_item = event.GetItem() |
478 selected_item = event.GetItem() |
479 item_pydata = self.Tree.GetPyData(selected_item) |
479 item_pydata = self.Tree.GetItemData(selected_item) |
480 |
480 |
481 # Item dragged is a block |
481 # Item dragged is a block |
482 if item_pydata is not None and item_pydata["type"] == BLOCK: |
482 if item_pydata is not None and item_pydata["type"] == BLOCK: |
483 # Start a drag'n drop |
483 # Start a drag'n drop |
484 data = wx.TextDataObject(str( |
484 data = wx.TextDataObject(str( |