716 ("CleanUp", CppEditor), |
717 ("CleanUp", CppEditor), |
717 ("Retrieve", CppEditor), |
718 ("Retrieve", CppEditor), |
718 ("Publish", CppEditor), |
719 ("Publish", CppEditor), |
719 ] |
720 ] |
720 |
721 |
721 #---------------------------------------------------------------------- |
|
722 # different icons for the collapsed/expanded states. |
|
723 # Taken from standard Windows XP collapsed/expanded states. |
|
724 #---------------------------------------------------------------------- |
|
725 |
|
726 def GetCollapsedIconData(): |
|
727 return \ |
|
728 '\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x10\x00\x00\x00\x10\x08\x06\ |
|
729 \x00\x00\x00\x1f\xf3\xffa\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\ |
|
730 \x00\x01\x8eIDAT8\x8d\xa5\x93-n\xe4@\x10\x85?g\x03\n6lh)\xc4\xd2\x12\xc3\x81\ |
|
731 \xd6\xa2I\x90\x154\xb9\x81\x8f1G\xc8\x11\x16\x86\xcd\xa0\x99F\xb3A\x91\xa1\ |
|
732 \xc9J&\x96L"5lX\xcc\x0bl\xf7v\xb2\x7fZ\xa5\x98\xebU\xbdz\xf5\\\x9deW\x9f\xf8\ |
|
733 H\\\xbfO|{y\x9dT\x15P\x04\x01\x01UPUD\x84\xdb/7YZ\x9f\xa5\n\xce\x97aRU\x8a\ |
|
734 \xdc`\xacA\x00\x04P\xf0!0\xf6\x81\xa0\xf0p\xff9\xfb\x85\xe0|\x19&T)K\x8b\x18\ |
|
735 \xf9\xa3\xe4\xbe\xf3\x8c^#\xc9\xd5\n\xa8*\xc5?\x9a\x01\x8a\xd2b\r\x1cN\xc3\ |
|
736 \x14\t\xce\x97a\xb2F0Ks\xd58\xaa\xc6\xc5\xa6\xf7\xdfya\xe7\xbdR\x13M2\xf9\ |
|
737 \xf9qKQ\x1fi\xf6-\x00~T\xfac\x1dq#\x82,\xe5q\x05\x91D\xba@\xefj\xba1\xf0\xdc\ |
|
738 zzW\xcff&\xb8,\x89\xa8@Q\xd6\xaaf\xdfRm,\xee\xb1BDxr#\xae\xf5|\xddo\xd6\xe2H\ |
|
739 \x18\x15\x84\xa0q@]\xe54\x8d\xa3\xedf\x05M\xe3\xd8Uy\xc4\x15\x8d\xf5\xd7\x8b\ |
|
740 ~\x82\x0fh\x0e"\xb0\xad,\xee\xb8c\xbb\x18\xe7\x8e;6\xa5\x89\x04\xde\xff\x1c\ |
|
741 \x16\xef\xe0p\xfa>\x19\x11\xca\x8d\x8d\xe0\x93\x1b\x01\xd8m\xf3(;x\xa5\xef=\ |
|
742 \xb7w\xf3\x1d$\x7f\xc1\xe0\xbd\xa7\xeb\xa0(,"Kc\x12\xc1+\xfd\xe8\tI\xee\xed)\ |
|
743 \xbf\xbcN\xc1{D\x04k\x05#\x12\xfd\xf2a\xde[\x81\x87\xbb\xdf\x9cr\x1a\x87\xd3\ |
|
744 0)\xba>\x83\xd5\xb97o\xe0\xaf\x04\xff\x13?\x00\xd2\xfb\xa9`z\xac\x80w\x00\ |
|
745 \x00\x00\x00IEND\xaeB`\x82' |
|
746 |
|
747 def GetCollapsedIconBitmap(): |
|
748 return wx.BitmapFromImage(GetCollapsedIconImage()) |
|
749 |
|
750 def GetCollapsedIconImage(): |
|
751 import cStringIO |
|
752 stream = cStringIO.StringIO(GetCollapsedIconData()) |
|
753 return wx.ImageFromStream(stream) |
|
754 |
|
755 #---------------------------------------------------------------------- |
|
756 def GetExpandedIconData(): |
|
757 return \ |
|
758 '\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x10\x00\x00\x00\x10\x08\x06\ |
|
759 \x00\x00\x00\x1f\xf3\xffa\x00\x00\x00\x04sBIT\x08\x08\x08\x08|\x08d\x88\x00\ |
|
760 \x00\x01\x9fIDAT8\x8d\x95\x93\xa1\x8e\xdc0\x14EO\xb2\xc4\xd0\xd2\x12\xb7(mI\ |
|
761 \xa4%V\xd1lQT4[4-\x9a\xfe\xc1\xc2|\xc6\xc2~BY\x83:A3E\xd3\xa0*\xa4\xd2\x90H!\ |
|
762 \x95\x0c\r\r\x1fK\x81g\xb2\x99\x84\xb4\x0fY\xd6\xbb\xc7\xf7>=\'Iz\xc3\xbcv\ |
|
763 \xfbn\xb8\x9c\x15 \xe7\xf3\xc7\x0fw\xc9\xbc7\x99\x03\x0e\xfbn0\x99F+\x85R\ |
|
764 \x80RH\x10\x82\x08\xde\x05\x1ef\x90+\xc0\xe1\xd8\ryn\xd0Z-\\A\xb4\xd2\xf7\ |
|
765 \x9e\xfbwoF\xc8\x088\x1c\xbbae\xb3\xe8y&\x9a\xdf\xf5\xbd\xe7\xfem\x84\xa4\ |
|
766 \x97\xccYf\x16\x8d\xdb\xb2a]\xfeX\x18\xc9s\xc3\xe1\x18\xe7\x94\x12cb\xcc\xb5\ |
|
767 \xfa\xb1l8\xf5\x01\xe7\x84\xc7\xb2Y@\xb2\xcc0\x02\xb4\x9a\x88%\xbe\xdc\xb4\ |
|
768 \x9e\xb6Zs\xaa74\xadg[6\x88<\xb7]\xc6\x14\x1dL\x86\xe6\x83\xa0\x81\xba\xda\ |
|
769 \x10\x02x/\xd4\xd5\x06\r\x840!\x9c\x1fM\x92\xf4\x86\x9f\xbf\xfe\x0c\xd6\x9ae\ |
|
770 \xd6u\x8d \xf4\xf5\x165\x9b\x8f\x04\xe1\xc5\xcb\xdb$\x05\x90\xa97@\x04lQas\ |
|
771 \xcd*7\x14\xdb\x9aY\xcb\xb8\\\xe9E\x10|\xbc\xf2^\xb0E\x85\xc95_\x9f\n\xaa/\ |
|
772 \x05\x10\x81\xce\xc9\xa8\xf6><G\xd8\xed\xbbA)X\xd9\x0c\x01\x9a\xc6Q\x14\xd9h\ |
|
773 [\x04\xda\xd6c\xadFkE\xf0\xc2\xab\xd7\xb7\xc9\x08\x00\xf8\xf6\xbd\x1b\x8cQ\ |
|
774 \xd8|\xb9\x0f\xd3\x9a\x8a\xc7\x08\x00\x9f?\xdd%\xde\x07\xda\x93\xc3{\x19C\ |
|
775 \x8a\x9c\x03\x0b8\x17\xe8\x9d\xbf\x02.>\x13\xc0n\xff{PJ\xc5\xfdP\x11""<\xbc\ |
|
776 \xff\x87\xdf\xf8\xbf\xf5\x17FF\xaf\x8f\x8b\xd3\xe6K\x00\x00\x00\x00IEND\xaeB\ |
|
777 `\x82' |
|
778 |
|
779 def GetExpandedIconBitmap(): |
|
780 return wx.BitmapFromImage(GetExpandedIconImage()) |
|
781 |
|
782 def GetExpandedIconImage(): |
|
783 import cStringIO |
|
784 stream = cStringIO.StringIO(GetExpandedIconData()) |
|
785 return wx.ImageFromStream(stream) |
|
786 |
|
787 class FoldPanelCaption(wx.lib.buttons.GenBitmapTextToggleButton): |
722 class FoldPanelCaption(wx.lib.buttons.GenBitmapTextToggleButton): |
788 |
723 |
789 def GetBackgroundBrush(self, dc): |
724 def GetBackgroundBrush(self, dc): |
790 colBg = self.GetBackgroundColour() |
725 colBg = self.GetBackgroundColour() |
791 brush = wx.Brush(colBg, wx.SOLID) |
726 brush = wx.Brush(colBg, wx.SOLID) |
852 self.MainSizer.AddGrowableCol(0) |
787 self.MainSizer.AddGrowableCol(0) |
853 |
788 |
854 for idx, (name, panel_class) in enumerate(CFILE_PARTS): |
789 for idx, (name, panel_class) in enumerate(CFILE_PARTS): |
855 button_id = wx.NewId() |
790 button_id = wx.NewId() |
856 button = FoldPanelCaption(id=button_id, name='FoldPanelCaption_%s' % name, |
791 button = FoldPanelCaption(id=button_id, name='FoldPanelCaption_%s' % name, |
857 label=name, bitmap=GetCollapsedIconBitmap(), parent=self.Editor, pos=wx.Point(0, 0), |
792 label=name, bitmap=wx.Bitmap(opjimg("CollapsedIconData")), |
|
793 parent=self.Editor, pos=wx.Point(0, 0), |
858 size=wx.Size(0, 20), style=wx.NO_BORDER|wx.ALIGN_LEFT) |
794 size=wx.Size(0, 20), style=wx.NO_BORDER|wx.ALIGN_LEFT) |
859 button.SetBitmapSelected(GetExpandedIconBitmap()) |
795 button.SetBitmapSelected(wx.Bitmap(opjimg("ExpandedIconData"))) |
860 button.Bind(wx.EVT_BUTTON, self.GenPanelButtonCallback(name), id=button_id) |
796 button.Bind(wx.EVT_BUTTON, self.GenPanelButtonCallback(name), id=button_id) |
861 self.MainSizer.AddWindow(button, 0, border=0, flag=wx.TOP|wx.GROW) |
797 self.MainSizer.AddWindow(button, 0, border=0, flag=wx.TOP|wx.GROW) |
862 |
798 |
863 if panel_class == VariablesEditor: |
799 if panel_class == VariablesEditor: |
864 panel = VariablesEditor(self.Editor, self.ParentWindow, self.Controler) |
800 panel = VariablesEditor(self.Editor, self.ParentWindow, self.Controler) |
877 |
813 |
878 self.Editor.SetSizer(self.MainSizer) |
814 self.Editor.SetSizer(self.MainSizer) |
879 |
815 |
880 def __init__(self, parent, controler, window): |
816 def __init__(self, parent, controler, window): |
881 EditorPanel.__init__(self, parent, "", window, controler) |
817 EditorPanel.__init__(self, parent, "", window, controler) |
882 |
818 self.SetIcon(wx.Bitmap(opjimg("Cfile"))) |
883 img = wx.Bitmap(self.Controler.GetIconPath("Cfile.png"), wx.BITMAP_TYPE_PNG).ConvertToImage() |
|
884 self.SetIcon(wx.BitmapFromImage(img.Rescale(16, 16))) |
|
885 |
819 |
886 def __del__(self): |
820 def __del__(self): |
887 self.Controler.OnCloseEditor(self) |
821 self.Controler.OnCloseEditor(self) |
888 |
822 |
889 def GetTitle(self): |
823 def GetTitle(self): |