# HG changeset patch # User lbessard # Date 1208332086 -7200 # Node ID 76c407fb33fe379765a4bd0b5e5db0d00c9e403d # Parent e219803fdd11562215ba7e6daa60ce86469b1b36 Adding icons on viewers tabs diff -r e219803fdd11 -r 76c407fb33fe PLCOpenEditor.py --- a/PLCOpenEditor.py Wed Apr 16 09:47:21 2008 +0200 +++ b/PLCOpenEditor.py Wed Apr 16 09:48:06 2008 +0200 @@ -160,6 +160,22 @@ "IL" : [] } +def GenerateBitmap(icon1_name, icon2_name = None): + if icon2_name is None: + return wx.Bitmap(os.path.join(CWD, 'Images', '%s.png'%icon1_name)) + else: + icon1 = wx.Bitmap(os.path.join(CWD, 'Images', '%s.png'%icon1_name)) + icon2 = wx.Bitmap(os.path.join(CWD, 'Images', '%s.png'%icon2_name)) + width = icon1.GetWidth() + icon2.GetWidth() - 1 + height = max(icon1.GetHeight(), icon2.GetHeight()) + tmp_bitmap = wx.EmptyBitmap(width, height) + dc = wx.MemoryDC() + dc.SelectObject(tmp_bitmap) + dc.Clear() + dc.DrawBitmap(icon1, 0, 0) + dc.DrawBitmap(icon2, icon1.GetWidth() - 1, 0) + return tmp_bitmap + def AppendMenu(parent, help, id, kind, text): if wx.VERSION >= (2, 6, 0): parent.Append(help=help, id=id, kind=kind, text=text) @@ -610,6 +626,14 @@ else: return self.TabsOpened.SetPageText(idx, text) + def SetPageBitmap(self, idx, bitmap): + if wx.VERSION >= (2, 8, 0): + notebook = self.GetNotebook() + if notebook is not None: + return notebook.SetPageBitmap(idx, bitmap) + else: + return self.TabsOpened.SetPageImage(idx, bitmap) + def GetPageText(self, idx): if wx.VERSION >= (2, 8, 0): notebook = self.GetNotebook() @@ -1030,6 +1054,22 @@ for idx in xrange(self.GetPageCount()): window = self.GetPage(idx) words = window.GetTagName().split("::") + if words[0] == "P": + pou_type = self.Controler.GetEditedElementType(window.GetTagName())[1].upper() + pou_body_type = self.Controler.GetEditedElementBodyType(window.GetTagName()) + self.SetPageBitmap(idx, GenerateBitmap(pou_type, pou_body_type)) + elif words[0] == "T": + pou_body_type = self.Controler.GetEditedElementBodyType(window.GetTagName()) + self.SetPageBitmap(idx, GenerateBitmap("TRANSITION", pou_body_type)) + elif words[0] == "A": + pou_body_type = self.Controler.GetEditedElementBodyType(window.GetTagName()) + self.SetPageBitmap(idx, GenerateBitmap("ACTION", pou_body_type)) + elif words[0] == "C": + self.SetPageBitmap(idx, GenerateBitmap("CONFIGURATION")) + elif words[0] == "R": + self.SetPageBitmap(idx, GenerateBitmap("RESOURCE")) + elif words[0] == "D": + self.SetPageBitmap(idx, GenerateBitmap("DATATYPE")) self.SetPageText(idx, "-".join(words[1:]))