IDEFrame.py
changeset 1766 c1e5b9f19483
parent 1765 ccf59c1f0b45
child 1768 691083b5682a
equal deleted inserted replaced
1765:ccf59c1f0b45 1766:c1e5b9f19483
   258     for tab in tabs:
   258     for tab in tabs:
   259         if tab["pos"][0] == rect.x:
   259         if tab["pos"][0] == rect.x:
   260             others = [t for t in tabs if t != tab]
   260             others = [t for t in tabs if t != tab]
   261             others.sort(lambda x, y: cmp(x["pos"][0], y["pos"][0]))
   261             others.sort(lambda x, y: cmp(x["pos"][0], y["pos"][0]))
   262             for other in others:
   262             for other in others:
   263                 if (other["pos"][1] == tab["pos"][1] and
   263                 if other["pos"][1] == tab["pos"][1] and \
   264                     other["size"][1] == tab["size"][1] and
   264                    other["size"][1] == tab["size"][1] and \
   265                     other["pos"][0] == tab["pos"][0] + tab["size"][0] + TAB_BORDER):
   265                    other["pos"][0] == tab["pos"][0] + tab["size"][0] + TAB_BORDER:
   266 
   266 
   267                     tab["size"] = (tab["size"][0] + other["size"][0] + TAB_BORDER, tab["size"][1])
   267                     tab["size"] = (tab["size"][0] + other["size"][0] + TAB_BORDER, tab["size"][1])
   268                     tab["pages"].extend(other["pages"])
   268                     tab["pages"].extend(other["pages"])
   269                     tabs.remove(other)
   269                     tabs.remove(other)
   270 
   270 
   273 
   273 
   274         elif tab["pos"][1] == rect.y:
   274         elif tab["pos"][1] == rect.y:
   275             others = [t for t in tabs if t != tab]
   275             others = [t for t in tabs if t != tab]
   276             others.sort(lambda x, y: cmp(x["pos"][1], y["pos"][1]))
   276             others.sort(lambda x, y: cmp(x["pos"][1], y["pos"][1]))
   277             for other in others:
   277             for other in others:
   278                 if (other["pos"][0] == tab["pos"][0] and
   278                 if other["pos"][0] == tab["pos"][0] and \
   279                     other["size"][0] == tab["size"][0] and
   279                    other["size"][0] == tab["size"][0] and \
   280                     other["pos"][1] == tab["pos"][1] + tab["size"][1] + TAB_BORDER):
   280                    other["pos"][1] == tab["pos"][1] + tab["size"][1] + TAB_BORDER:
   281 
   281 
   282                     tab["size"] = (tab["size"][0], tab["size"][1] + other["size"][1] + TAB_BORDER)
   282                     tab["size"] = (tab["size"][0], tab["size"][1] + other["size"][1] + TAB_BORDER)
   283                     tab["pages"].extend(other["pages"])
   283                     tab["pages"].extend(other["pages"])
   284                     tabs.remove(other)
   284                     tabs.remove(other)
   285 
   285 
   675         for language in LANGUAGES:
   675         for language in LANGUAGES:
   676             self.TreeImageDict[language] = self.TreeImageList.Add(GetBitmap(language))
   676             self.TreeImageDict[language] = self.TreeImageList.Add(GetBitmap(language))
   677 
   677 
   678         # Icons for other items
   678         # Icons for other items
   679         for imgname, itemtype in [
   679         for imgname, itemtype in [
   680             # editables
   680                 # editables
   681             ("PROJECT",        ITEM_PROJECT),
   681                 ("PROJECT",        ITEM_PROJECT),
   682             #("POU",            ITEM_POU),
   682                 #("POU",            ITEM_POU),
   683             #("VARIABLE",       ITEM_VARIABLE),
   683                 #("VARIABLE",       ITEM_VARIABLE),
   684             ("TRANSITION",     ITEM_TRANSITION),
   684                 ("TRANSITION",     ITEM_TRANSITION),
   685             ("ACTION",         ITEM_ACTION),
   685                 ("ACTION",         ITEM_ACTION),
   686             ("CONFIGURATION",  ITEM_CONFIGURATION),
   686                 ("CONFIGURATION",  ITEM_CONFIGURATION),
   687             ("RESOURCE",       ITEM_RESOURCE),
   687                 ("RESOURCE",       ITEM_RESOURCE),
   688             ("DATATYPE",       ITEM_DATATYPE),
   688                 ("DATATYPE",       ITEM_DATATYPE),
   689             # uneditables
   689                 # uneditables
   690             ("DATATYPES",      ITEM_DATATYPES),
   690                 ("DATATYPES",      ITEM_DATATYPES),
   691             ("FUNCTION",       ITEM_FUNCTION),
   691                 ("FUNCTION",       ITEM_FUNCTION),
   692             ("FUNCTIONBLOCK",  ITEM_FUNCTIONBLOCK),
   692                 ("FUNCTIONBLOCK",  ITEM_FUNCTIONBLOCK),
   693             ("PROGRAM",        ITEM_PROGRAM),
   693                 ("PROGRAM",        ITEM_PROGRAM),
   694             ("VAR_LOCAL",      ITEM_VAR_LOCAL),
   694                 ("VAR_LOCAL",      ITEM_VAR_LOCAL),
   695             ("VAR_LOCAL",      ITEM_VAR_GLOBAL),
   695                 ("VAR_LOCAL",      ITEM_VAR_GLOBAL),
   696             ("VAR_LOCAL",      ITEM_VAR_EXTERNAL),
   696                 ("VAR_LOCAL",      ITEM_VAR_EXTERNAL),
   697             ("VAR_LOCAL",      ITEM_VAR_TEMP),
   697                 ("VAR_LOCAL",      ITEM_VAR_TEMP),
   698             ("VAR_INPUT",      ITEM_VAR_INPUT),
   698                 ("VAR_INPUT",      ITEM_VAR_INPUT),
   699             ("VAR_OUTPUT",     ITEM_VAR_OUTPUT),
   699                 ("VAR_OUTPUT",     ITEM_VAR_OUTPUT),
   700             ("VAR_INOUT",      ITEM_VAR_INOUT),
   700                 ("VAR_INOUT",      ITEM_VAR_INOUT),
   701             ("TRANSITIONS",    ITEM_TRANSITIONS),
   701                 ("TRANSITIONS",    ITEM_TRANSITIONS),
   702             ("ACTIONS",        ITEM_ACTIONS),
   702                 ("ACTIONS",        ITEM_ACTIONS),
   703             ("CONFIGURATIONS", ITEM_CONFIGURATIONS),
   703                 ("CONFIGURATIONS", ITEM_CONFIGURATIONS),
   704             ("RESOURCES",      ITEM_RESOURCES),
   704                 ("RESOURCES",      ITEM_RESOURCES),
   705             ("PROPERTIES",     ITEM_PROPERTIES)]:
   705                 ("PROPERTIES",     ITEM_PROPERTIES)]:
   706             self.TreeImageDict[itemtype] = self.TreeImageList.Add(GetBitmap(imgname))
   706             self.TreeImageDict[itemtype] = self.TreeImageList.Add(GetBitmap(imgname))
   707 
   707 
   708         # Assign icon list to TreeCtrls
   708         # Assign icon list to TreeCtrls
   709         self.ProjectTree.SetImageList(self.TreeImageList)
   709         self.ProjectTree.SetImageList(self.TreeImageList)
   710         self.PouInstanceVariablesPanel.SetTreeImageList(self.TreeImageList)
   710         self.PouInstanceVariablesPanel.SetTreeImageList(self.TreeImageList)
  1747             if item is not None and item.IsOk() and flags & wx.TREE_HITTEST_ONITEMLABEL:
  1747             if item is not None and item.IsOk() and flags & wx.TREE_HITTEST_ONITEMLABEL:
  1748                 item_infos = self.ProjectTree.GetPyData(item)
  1748                 item_infos = self.ProjectTree.GetPyData(item)
  1749                 if item != self.LastToolTipItem and self.LastToolTipItem is not None:
  1749                 if item != self.LastToolTipItem and self.LastToolTipItem is not None:
  1750                     self.ProjectTree.SetToolTip(None)
  1750                     self.ProjectTree.SetToolTip(None)
  1751                     self.LastToolTipItem = None
  1751                     self.LastToolTipItem = None
  1752                 if (self.LastToolTipItem != item and
  1752                 if self.LastToolTipItem != item and \
  1753                     item_infos["type"] in [ITEM_POU, ITEM_TRANSITION, ITEM_ACTION]):
  1753                    item_infos["type"] in [ITEM_POU, ITEM_TRANSITION, ITEM_ACTION]:
  1754                     bodytype = self.Controler.GetEditedElementBodyType(
  1754                     bodytype = self.Controler.GetEditedElementBodyType(
  1755                             item_infos["tagname"])
  1755                             item_infos["tagname"])
  1756                     if item_infos["type"] == ITEM_POU:
  1756                     if item_infos["type"] == ITEM_POU:
  1757                         block_type = {
  1757                         block_type = {
  1758                             "program": _("Program"),
  1758                             "program": _("Program"),