controls/CustomTree.py
changeset 1188 63afb5833bd8
parent 1177 4cbbc58b91b4
child 1571 486f94a8032c
equal deleted inserted replaced
1187:be891953958f 1188:63afb5833bd8
    22 
    22 
    23 # Customize CustomTreeItem for adding icon on item left
    23 # Customize CustomTreeItem for adding icon on item left
    24 CT.GenericTreeItem._ExtraImage = None
    24 CT.GenericTreeItem._ExtraImage = None
    25 
    25 
    26 def SetExtraImage(self, image):
    26 def SetExtraImage(self, image):
    27     self._type = 1
    27     self._type = (1 if image is not None else 0)
    28     self._ExtraImage = image
    28     self._ExtraImage = image
       
    29 
    29 CT.GenericTreeItem.SetExtraImage = SetExtraImage
    30 CT.GenericTreeItem.SetExtraImage = SetExtraImage
    30 
    31 
    31 _DefaultGetCurrentCheckedImage = CT.GenericTreeItem.GetCurrentCheckedImage
    32 _DefaultGetCurrentCheckedImage = CT.GenericTreeItem.GetCurrentCheckedImage
    32 def GetCurrentCheckedImage(self):
    33 def GetCurrentCheckedImage(self):
    33     if self._ExtraImage is not None:
    34     if self._ExtraImage is not None:
    59         self.ExtraImages = {}
    60         self.ExtraImages = {}
    60         for image in ["function", "functionBlock", "program"]:
    61         for image in ["function", "functionBlock", "program"]:
    61             self.ExtraImages[image] = self._imageListCheck.Add(GetBitmap(image.upper()))
    62             self.ExtraImages[image] = self._imageListCheck.Add(GetBitmap(image.upper()))
    62     
    63     
    63     def SetItemExtraImage(self, item, bitmap):
    64     def SetItemExtraImage(self, item, bitmap):
       
    65         dc = wx.ClientDC(self)
    64         image = self.ExtraImages.get(bitmap)
    66         image = self.ExtraImages.get(bitmap)
    65         if image is not None:
    67         if image is not None:
    66             dc = wx.ClientDC(self)
       
    67             item.SetExtraImage(image)
    68             item.SetExtraImage(image)
    68             self.CalculateSize(item, dc)
    69         else:
    69             self.RefreshLine(item)
    70             item.SetExtraImage(None)
    70     
    71         self.CalculateSize(item, dc)
       
    72         self.RefreshLine(item)   
       
    73         
    71     def SetAddMenu(self, add_menu):
    74     def SetAddMenu(self, add_menu):
    72         self.AddMenu = add_menu
    75         self.AddMenu = add_menu
    73     
    76     
    74     def Enable(self, enabled):
    77     def Enable(self, enabled):
    75         self.Enabled = enabled
    78         self.Enabled = enabled