From 655aa9bb6e8e92ca02ad2bb2c6d3291c8cd7c7d8 Mon Sep 17 00:00:00 2001 From: HomeWorld Date: Tue, 16 Nov 2010 22:08:34 +0200 Subject: [PATCH 1/6] Added tab graphic files --- icons/ctabclose.png | Bin 0 -> 3006 bytes icons/ctableft.png | Bin 0 -> 3026 bytes icons/ctabmiddle.png | Bin 0 -> 2821 bytes icons/ctabright.png | Bin 0 -> 3017 bytes 4 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 icons/ctabclose.png create mode 100644 icons/ctableft.png create mode 100644 icons/ctabmiddle.png create mode 100644 icons/ctabright.png diff --git a/icons/ctabclose.png b/icons/ctabclose.png new file mode 100644 index 0000000000000000000000000000000000000000..4a9ed9d32526e823db479f1619cb42b04ecc9b03 GIT binary patch literal 3006 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 literal 0 HcmV?d00001 diff --git a/icons/ctableft.png b/icons/ctableft.png new file mode 100644 index 0000000000000000000000000000000000000000..6a0a7248e6c136a7bfe2cd2a4c446e0a85f7f18c GIT binary patch literal 3026 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 U>O!(=&Hw-a07*qoM6N<$g3U+32><{9 literal 0 HcmV?d00001 diff --git a/icons/ctabmiddle.png b/icons/ctabmiddle.png new file mode 100644 index 0000000000000000000000000000000000000000..460859e37682ae9a1a2d287c8c5c7a896809842e GIT binary patch literal 2821 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 XuuK7l#4#}l00000NkvXXu0mjf3P@I{ literal 0 HcmV?d00001 diff --git a/icons/ctabright.png b/icons/ctabright.png new file mode 100644 index 0000000000000000000000000000000000000000..4ef9fcae1bd2def58f3fe253fe8620472fd7570b GIT binary patch literal 3017 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 Date: Wed, 17 Nov 2010 02:16:01 +0200 Subject: [PATCH 2/6] pfnotebook tab render first draft --- gui/bitmapLoader.py | 2 +- icons/ctabclose.png | Bin 3006 -> 2954 bytes icons/ctableft.png | Bin 3026 -> 2879 bytes icons/ctabmiddle.png | Bin 2821 -> 2814 bytes icons/ctabright.png | Bin 3017 -> 2875 bytes miniframe.py | 419 +++++++++++++++++++++++++------------------ 6 files changed, 248 insertions(+), 173 deletions(-) diff --git a/gui/bitmapLoader.py b/gui/bitmapLoader.py index 2535c5c74..0a95416aa 100644 --- a/gui/bitmapLoader.py +++ b/gui/bitmapLoader.py @@ -83,6 +83,6 @@ def getImage(name, location): else: location = os.path.join(config.pyfaPath, location) path = os.path.join(location, name + ".png") - + if os.path.exists(path): return wx.Image(path) diff --git a/icons/ctabclose.png b/icons/ctabclose.png index 4a9ed9d32526e823db479f1619cb42b04ecc9b03..cccd9904d6ad409d1679c29fe4bc4570a74ada61 100644 GIT binary patch delta 232 zcmVh7b;(t+k3VzO41%hihNs i4BQ&KOq=RLq*0$bn zc!4Uo0yiM~Ag<46ci;~7C6Q2^ONw~lz(DxV_a!;0jIRnIc8yRK1Si-*6MI?}1RKn; zioIKp2!}|V;|!PhObbKQ8Z#W>It9nn1bbNH1z&lG5!4p@I4!uDAL<=mH>rK(oVtI) z@t;!r$N|&%g9C+Q*y09HUDPge8j2Z~L(|ixJQ(g$zQuE&@^9Knxs8XVMEie~H?@nD zbM1T_7x5t!kK;Yw#waK4oVvte3AK))hZ1TcH!*yIixO&x@AVv4crOhv;yyoYQI942 g%)5#oTh;df>JL=vLb7Vk00000Nks-uM6N<$g8q+!GXMYp diff --git a/icons/ctabmiddle.png b/icons/ctabmiddle.png index 460859e37682ae9a1a2d287c8c5c7a896809842e..337e875cfeb40faf75762a8b8018e998ece8ac09 100644 GIT binary patch delta 68 zcmZn_`zJas VF^xD zsR#8Hd;w(-BKWAjk5|E~R}UI5QMzf Date: Wed, 17 Nov 2010 02:16:59 +0200 Subject: [PATCH 3/6] Removed debug code --- miniframe.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/miniframe.py b/miniframe.py index 93c21b276..41be2a144 100755 --- a/miniframe.py +++ b/miniframe.py @@ -186,8 +186,6 @@ class PFTabRenderer: del self.tabBackBitmap self.tabBackBitmap = bkbmp - img = bkbmp.ConvertToImage() - img.SaveFile("test.png", wx.BITMAP_TYPE_PNG) def InitTabRegions(self): self.tabRegion = wx.RegionFromBitmap(self.tabBackBitmap) From bb665bf27e1b655cf337006fefb70b7ff3673070 Mon Sep 17 00:00:00 2001 From: HomeWorld Date: Wed, 17 Nov 2010 02:29:29 +0200 Subject: [PATCH 4/6] Added back fx --- miniframe.py | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/miniframe.py b/miniframe.py index 41be2a144..24b88aacf 100755 --- a/miniframe.py +++ b/miniframe.py @@ -147,7 +147,7 @@ class PFTabRenderer: def InitBitmaps(self): print self.selected if self.selected: - tr,tg,tb = self.tabColor + tr,tg,tb = self.rightColor print "sel" else: tr,tg,tb = self.leftColor @@ -796,7 +796,7 @@ class PFTabsContainer(wx.Window): selected = 0 - mdc.SetBackground (wx.Brush(wx.SystemSettings_GetColour(wx.SYS_COLOUR_WINDOW))) + mdc.SetBackground (wx.Brush(wx.SystemSettings_GetColour(wx.SYS_COLOUR_WINDOWTEXT))) # mdc.SetBackground (wx.Brush((66,113,202))) mdc.Clear() @@ -821,20 +821,20 @@ class PFTabsContainer(wx.Window): posx, posy = tab.GetPosition() if not tab.IsSelected(): mdc.DrawBitmap(self.efxBmp, posx, posy - 1, True ) -# img = tab.Render().ConvertToImage() -# img = img.AdjustChannels(1, 1, 1, 0.8) -# bmp = wx.BitmapFromImage(img) - mdc.DrawBitmap(tab.Render(), posx, posy, True) + img = tab.Render().ConvertToImage() + img = img.AdjustChannels(1, 1, 1, 0.8) + bmp = wx.BitmapFromImage(img) + mdc.DrawBitmap(bmp, posx, posy, True) else: selected = tab if selected: posx, posy = selected.GetPosition() mdc.DrawBitmap(self.efxBmp, posx, posy - 1, True) bmp = selected.Render() -# if self.dragging: -# img = bmp.ConvertToImage() -# img = img.AdjustChannels(1.2, 1.2, 1.2, 0.7) -# bmp = wx.BitmapFromImage(img) + if self.dragging: + img = bmp.ConvertToImage() + img = img.AdjustChannels(1.2, 1.2, 1.2, 0.7) + bmp = wx.BitmapFromImage(img) mdc.DrawBitmap(bmp, posx, posy, True) selpos = posx @@ -862,7 +862,7 @@ class PFTabsContainer(wx.Window): if not simg.HasAlpha(): simg.InitAlpha() simg = simg.Blur(2) - simg = simg.AdjustChannels(0.2,0.2,0.2,0.3) + simg = simg.AdjustChannels(0.9,0.9,0.9,0.6) self.efxBmp = wx.BitmapFromImage(simg) From d9cb3e9847fdfd33c5d113c9b250e66ba7c96be0 Mon Sep 17 00:00:00 2001 From: HomeWorld Date: Wed, 17 Nov 2010 09:14:33 +0200 Subject: [PATCH 5/6] Stuff --- miniframe.py | 216 +++++++++++++++------------------------------------ 1 file changed, 62 insertions(+), 154 deletions(-) diff --git a/miniframe.py b/miniframe.py index 24b88aacf..449bd91d6 100755 --- a/miniframe.py +++ b/miniframe.py @@ -13,6 +13,8 @@ import copy import time from gui import bitmapLoader +#[/PtextPx\] + class PFTabRenderer: def __init__(self, size = (36,24), text = wx.EmptyString, img = None, inclination = 6 , closeButton = True, fontSize = 12): @@ -37,7 +39,6 @@ class PFTabRenderer: self.text = text self.img = img self.tabSize = (width, height) - print self.tabSize self.closeButton = closeButton self.fontSize = fontSize self.selected = False @@ -45,6 +46,9 @@ class PFTabRenderer: self.tabBitmap = None self.tabBackBitmap = None self.cbSize = 5 + self.padding = 4 + + self.tabImg = img self.position = (0, 0) # Not used internaly for rendering - helper for tab container self.InitTab() @@ -102,10 +106,12 @@ class PFTabRenderer: mdc.SelectObject(ebmp) mdc.SetFont(self.font) textSizeX, textSizeY = mdc.GetTextExtent(self.text) - totalSize = self.leftWidth + self.rightWidth + textSizeX + self.closeBtnWidth + totalSize = self.leftWidth + self.rightWidth + textSizeX + self.closeBtnWidth + 16 mdc.SelectObject(wx.NullBitmap) return (totalSize, self.tabHeight) + def SetTabImage(self, img): + self.tabImg = img def CopyRegion(self, region): rect = region.GetBox() @@ -145,21 +151,20 @@ class PFTabRenderer: self._Render() def InitBitmaps(self): - print self.selected + if self.selected: tr,tg,tb = self.rightColor - print "sel" else: tr,tg,tb = self.leftColor - print "nsel" - print tr,tg,tb - print self.tabColor, self.rightColor + ctabLeft = self.ctabLeft.Copy() ctabRight = self.ctabRight.Copy() ctabMiddle = self.ctabMiddle.Copy() + ctabLeft.Replace(0,0,0,tr, tg, tb) ctabRight.Replace(0,0,0,tr, tg, tb) ctabMiddle.Replace(0,0,0,tr, tg, tb) + self.ctabLeftBmp = wx.BitmapFromImage(ctabLeft) self.ctabRightBmp = wx.BitmapFromImage(ctabRight) self.ctabMiddleBmp = wx.BitmapFromImage(ctabMiddle) @@ -168,12 +173,15 @@ class PFTabRenderer: def ComposeTabBack(self): + bkbmp = wx.EmptyBitmap(self.tabWidth, self.tabHeight) - print self.tabWidth, self.contentWidth, self.leftWidth, self.rightWidth + mdc = wx.MemoryDC() mdc.SelectObject(bkbmp) + mdc.SetBackground( wx.Brush((0x12,0x23,0x32))) mdc.Clear() + mdc.DrawBitmap(self.ctabLeftBmp, 0, 0) cm = self.ctabMiddleBmp.ConvertToImage() mimg = cm.Scale(self.contentWidth, self.ctabMiddle.GetHeight(), wx.IMAGE_QUALITY_NORMAL) @@ -216,80 +224,6 @@ class PFTabRenderer: return wx.Colour(r,g,b,255) -# def CreateLRZoneSplines(self): -# height = self.tabHeight -# inc = self.inclination -# -# self.leftZoneSpline = [wx.Point(0, height), wx.Point(inc * 2/3, height - inc/2), wx.Point(inc+inc/2, 2), -# wx.Point(inc * 3, 0)] -# self.rightZoneSpline = [wx.Point(0, 0), wx.Point(inc+inc/2,2),wx.Point(inc*2 +inc*2/3,height-inc/2), wx.Point(inc*3,height) ] -# -# def CreateLeftRegion(self): -# -# width = self.lrZoneWidth + 1 -# height = self.tabHeight + 1 -# inc = self.inclination -# -# mdc = wx.MemoryDC() -# -# mbmp = wx.EmptyBitmap(width,height,24) -# mdc.SelectObject(mbmp) -# -# mdc.SetBackground( wx.Brush((123,123,123))) -# mdc.Clear() -# -# mdc.SetPen( wx.Pen("#000000", width = 1 ) ) -# mdc.DrawSpline(self.leftZoneSpline) -# -# mdc.SetBrush(wx.Brush(wx.Colour(255,255,0), wx.SOLID)) -# ret = mdc.FloodFill(inc*2,height-inc, wx.Color(123,123,123), wx.FLOOD_SURFACE) -# if not ret: -# print "FloodFill failed" -# -# mdc.SelectObject(wx.NullBitmap) -# -## mbmp.SetMaskColour( (123, 123, 123) ) -# -# region = wx.Region() -# region.UnionBitmapColour(mbmp, wx.Colour(123,123,123)) -# region.Offset(-1,0) -# -# return region -# -# def CreateRightRegion(self): -# -# width = self.lrZoneWidth + 1 -# height = self.tabHeight -# inc = self.inclination -# -# mdc = wx.MemoryDC() -# -# mbmp = wx.EmptyBitmap(width,height,24) -# mdc.SelectObject(mbmp) -# -# mdc.SetBackground( wx.Brush((123,123,123), wx.SOLID)) -# mdc.Clear() -# -# mdc.SetPen( wx.Pen("#000000", width = 1 ) ) -# mdc.DrawSpline(self.rightZoneSpline) -# -# mdc.SetBrush(wx.Brush(wx.Colour(255,255,0))) -# ret = mdc.FloodFill(inc,height-inc, wx.Color(123,123,123), wx.FLOOD_SURFACE) -# if not ret: -# print "FloodFill failed" -# mdc.SelectObject(wx.NullBitmap) -# -# region = wx.Region() -# region.UnionBitmapColour(mbmp, wx.Colour(123,123,123)) -# -# return region -# -# def OffsetPointList(self, list , x, y): -# tlist = [] -# for i in list: -# tlist.append(wx.Point(i.x + x, i.y + y)) -# -# return tlist def Render(self): return self.tabBitmap @@ -313,56 +247,26 @@ class PFTabRenderer: mdc.SetBackground(wx.Brush ((0x12,0x23,0x32))) mdc.Clear() -# mdc.SetBackground(wx.Brush ((13,22,31))) -# mdc.Clear() -# mdc.DestroyClippingRegion() -# mdc.SetClippingRegionAsRegion(self.tabRegion) r = copy.copy(rect) r.top = r.left = 0 r.height = height mdc.DrawBitmap(self.tabBackBitmap, 0, 0, True) -# -## mdc.GradientFillLinear(r,self.gradientStartColor,self.tabColor,wx.SOUTH) -## mdc.SetPen( wx.Pen(self.leftColor, width = 1 ) ) -## -## dpleft = self.OffsetPointList(self.leftZoneSpline, -1, 0) -## dpright = self.OffsetPointList(self.rightZoneSpline, inc + contentWidth, 0) -## -## mdc.DrawSpline(dpleft) -## mdc.SetPen( wx.Pen(self.rightColor, width = 1 ) ) -## mdc.DrawSpline(dpright) -## -## lrect = wx.Rect() -## lrect.left=inc - 1 -## lrect.top=0 -## lrect.width = contentWidth+1 -## lrect.height = 1 -## mdc.GradientFillLinear(lrect,self.leftColor,self.rightColor, wx.EAST) -### if not self.selected: -### mdc.DrawLine(0,height - 1,width,height - 1) -## mdc.SetPen( wx.Pen(self.rightColor, width = 1 ) ) -## if self.closeButton: -## cbsize = self.cbSize -## -## cbx = width - self.lrZoneWidth-cbsize -## cby = (height - cbsize)/2 -## if self.closeBtnHovering: -## mdc.SetPen( wx.Pen( wx.Colour(255,22,22), 0)) -## mdc.SetBrush(wx.Brush(wx.Colour(255,22,22))) -## mdc.DrawCircle(cbx + cbsize / 2 +1, cby + cbsize / 2 + 1, cbsize) -## selColor = self.CalculateColor(wx.SystemSettings.GetColour(wx.SYS_COLOUR_WINDOWTEXT), 255) -## mdc.SetPen( wx.Pen( selColor, 1)) -## -## mdc.DrawLine(cbx, cby, cbx + cbsize + 1 , cby + cbsize + 1 ) -## mdc.DrawLine(cbx, cby + cbsize, cbx + cbsize + 1, cby - 1 ) -## -## mdc.SetClippingRegionAsRegion(self.contentRegion) + + + if self.tabImg: + bmp = wx.BitmapFromImage(self.tabImg) + if self.contentWidth > 16: + mdc.DrawBitmap(bmp, self.leftWidth + self.padding - bmp.GetWidth()/2, (height - bmp.GetHeight())/2) + textStart = self.leftWidth + self.padding + bmp.GetWidth()/2 + else: + textStart = self.leftWidth + mdc.SetFont(self.font) text = self.text fnwidths = mdc.GetPartialTextExtents(text) count = 0 - maxsize = self.contentWidth - self.cbSize if self.closeButton else 0 + maxsize = self.tabWidth - textStart - self.rightWidth - self.padding for i in fnwidths: if i <= maxsize: count +=1 @@ -372,29 +276,29 @@ class PFTabRenderer: # text = "%s%s" % (text[:count],"." if len(text)>count else "") text = "%s" % text[:count] - tx,ty = mdc.GetTextExtent(text) if self.selected: mdc.SetTextForeground(wx.SystemSettings.GetColour(wx.SYS_COLOUR_WINDOWTEXT)) else: color = self.CalculateColor(wx.SystemSettings.GetColour(wx.SYS_COLOUR_WINDOWTEXT), 0x44) mdc.SetTextForeground(color) - mdc.DrawText(text, self.leftWidth, height / 2 - ty / 2) + + mdc.DrawText(text, textStart , height / 2 - ty / 2) # mdc.DestroyClippingRegion() - if self.closeBtnHovering: - mdc.DrawBitmap(self.ctabCloseBmp,self.contentWidth+self.leftWidth - self.ctabCloseBmp.GetWidth()/2,(height - self.ctabCloseBmp.GetHeight())/2) - else: - cimg = self.ctabCloseBmp.ConvertToImage() - cimg = cimg.AdjustChannels(0.7,0.7,0.7,0.3) - cbmp = wx.BitmapFromImage(cimg) - mdc.DrawBitmap(cbmp,self.contentWidth+self.leftWidth - self.ctabCloseBmp.GetWidth()/2,(height - self.ctabCloseBmp.GetHeight())/2) + if self.closeButton: + if self.closeBtnHovering: + mdc.DrawBitmap(self.ctabCloseBmp,self.contentWidth+self.leftWidth - self.ctabCloseBmp.GetWidth()/2,(height - self.ctabCloseBmp.GetHeight())/2) + else: + cimg = self.ctabCloseBmp.ConvertToImage() + cimg = cimg.AdjustChannels(0.7,0.7,0.7,0.3) + cbmp = wx.BitmapFromImage(cimg) + mdc.DrawBitmap(cbmp,self.contentWidth+self.leftWidth - self.ctabCloseBmp.GetWidth()/2,(height - self.ctabCloseBmp.GetHeight())/2) + mdc.SelectObject(wx.NullBitmap) + + canvas.SetMaskColour((0x12,0x23,0x32)) -# if not self.selected: -# img = canvas.ConvertToImage() -# img = img.AdjustChannels(1, 1, 1, 0.8) -# canvas = wx.BitmapFromImage(img) self.tabBitmap = canvas class PFAddRenderer: @@ -665,6 +569,9 @@ class PFTabsContainer(wx.Window): return False def CheckTabClose(self, tab, mposx, mposy): + if not tab.closeButton: + return False + closeBtnReg = tab.GetCloseButtonRegion() tabPosX, tabPosY = tab.GetPosition() @@ -796,15 +703,15 @@ class PFTabsContainer(wx.Window): selected = 0 - mdc.SetBackground (wx.Brush(wx.SystemSettings_GetColour(wx.SYS_COLOUR_WINDOWTEXT))) + mdc.SetBackground (wx.Brush(wx.SystemSettings_GetColour(wx.SYS_COLOUR_WINDOW))) # mdc.SetBackground (wx.Brush((66,113,202))) mdc.Clear() selected = None selpos = 0 selWidth = selHeight = 0 - selColor = self.CalculateColor(wx.SystemSettings_GetColour(wx.SYS_COLOUR_WINDOW), 0x34) - startColor = self.leftColor = self.CalculateColor(wx.SystemSettings_GetColour(wx.SYS_COLOUR_WINDOW), 0x2f) + selColor = self.CalculateColor(wx.SystemSettings_GetColour(wx.SYS_COLOUR_WINDOW), 0x66) + startColor = self.leftColor = self.CalculateColor(wx.SystemSettings_GetColour(wx.SYS_COLOUR_WINDOW), 0x50) tabsWidth = 0 @@ -844,9 +751,9 @@ class PFTabsContainer(wx.Window): offset = 1 else: offset = 0 - r1 = wx.Rect(0,self.containerHeight,selpos,1) - r2 = wx.Rect(selpos + selWidth - offset, self.containerHeight , self.width - selpos - selWidth,1) - mdc.GradientFillLinear(r1, startColor, selColor, wx.EAST) + r1 = wx.Rect(0,self.containerHeight -1,selpos,1) + r2 = wx.Rect(0, self.containerHeight -1 , self.width,1) +# mdc.GradientFillLinear(r1, startColor, selColor, wx.EAST) mdc.GradientFillLinear(r2, selColor, startColor, wx.EAST) def OnErase(self, event): @@ -862,14 +769,14 @@ class PFTabsContainer(wx.Window): if not simg.HasAlpha(): simg.InitAlpha() simg = simg.Blur(2) - simg = simg.AdjustChannels(0.9,0.9,0.9,0.6) + simg = simg.AdjustChannels(0.3,0.3,0.3,0.3) self.efxBmp = wx.BitmapFromImage(simg) - def AddTab(self, title = wx.EmptyString, img = None): + def AddTab(self, title = wx.EmptyString, img = None, showClose = False): self.ClearTabsSelected() - tabRenderer = PFTabRenderer( (120,self.height), title, img, self.inclination) + tabRenderer = PFTabRenderer( (120,self.height), title, img, self.inclination, closeButton = showClose) tabRenderer.SetSelected(True) self.tabs.append( tabRenderer ) @@ -990,10 +897,9 @@ class PFNotebook(wx.Panel): self.SetSizer( mainSizer ) self.Bind(wx.EVT_SIZE, self.OnSize) self.Layout() -# for i in xrange(10): -# self.tabsContainer.AddTab("Pyfa TAB #%d Aw" % i) - def AddPage(self, tabWnd, tabTitle = wx.EmptyString, tabImage = None): + + def AddPage(self, tabWnd, tabTitle = wx.EmptyString, tabImage = None, showClose = True): if self.activePage: self.activePage.Hide() @@ -1001,7 +907,7 @@ class PFNotebook(wx.Panel): self.pageContainer.Layout() self.pages.append(tabWnd) - self.tabsContainer.AddTab(tabTitle, tabImage) + self.tabsContainer.AddTab(tabTitle, tabImage, showClose) self.activePage = tabWnd @@ -1030,9 +936,11 @@ class PFNotebook(wx.Panel): self.pages[src], self.pages[dest] = self.pages[dest], self.pages[src] def ShowActive(self): + self.Freeze() self.activePage.SetSize(self.pageContainer.GetSize()) self.activePage.Show() self.Layout() + self.Thaw() def OnSize(self, event): w,h= self.GetSize() self.tabsContainer.SetSize((w, -1)) @@ -1056,11 +964,11 @@ class MiniFrame(wx.Frame): mainSizer.Add(self.nb,1,wx.EXPAND) self.SetSizer(mainSizer) - self.nb.AddPage(TestPanel(self),"TEST 1") - self.nb.AddPage(TestPanel(self),"TEST 2") - self.nb.AddPage(TestPanel(self),"TEST 3") - self.nb.AddPage(TestPanel(self),"TEST 4") - self.nb.AddPage(TestPanel(self),"TEST 5WWWWWWWWWWWWWWWWWWWWWWWWWW") + self.nb.AddPage(TestPanel(self),"TEST 1", bitmapLoader.getImage("race_minmatar_small", "icons"), False) + self.nb.AddPage(TestPanel(self),"TEST 2", bitmapLoader.getImage("race_minmatar_small", "icons")) + self.nb.AddPage(TestPanel(self),"TEST 3", bitmapLoader.getImage("race_minmatar_small", "icons"), False) + self.nb.AddPage(TestPanel(self),"TEST 4", bitmapLoader.getImage("race_minmatar_small", "icons")) + self.nb.AddPage(TestPanel(self),"TEST 5") self.nb.AddPage(TestPanel(self),"TEST 6") self.Layout() From a19b3b651f449047227ac61eece0c6ef5ea9c223 Mon Sep 17 00:00:00 2001 From: HomeWorld Date: Wed, 17 Nov 2010 10:01:30 +0200 Subject: [PATCH 6/6] More stuff --- icons/ctabadd.png | Bin 0 -> 3367 bytes miniframe.py | 114 +++++++++------------------------------------- 2 files changed, 22 insertions(+), 92 deletions(-) create mode 100644 icons/ctabadd.png diff --git a/icons/ctabadd.png b/icons/ctabadd.png new file mode 100644 index 0000000000000000000000000000000000000000..4d01602835f64b756f4f4e6995aeb194c69fce0d GIT binary patch literal 3367 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 literal 0 HcmV?d00001 diff --git a/miniframe.py b/miniframe.py index 449bd91d6..cc3df58ee 100755 --- a/miniframe.py +++ b/miniframe.py @@ -304,53 +304,28 @@ class PFTabRenderer: class PFAddRenderer: def __init__(self, size = (24,12)): self.width, self.height = size - self.addBitmap = None + self.addImg = bitmapLoader.getImage("ctabadd", "icons") + self.width = self.addImg.GetWidth() + self.height = self.addImg.GetHeight() self.spline = [] self.inclination = 3 self.region = None + self.tbmp = wx.BitmapFromImage(self.addImg) + self.addBitmap = None + self.InitRenderer() def GetSize(self): return (self.width, self.height) def InitRenderer(self): - self.CreateSpline() + self.region = self.CreateRegion() self._Render() - def CreateSpline(self): - width = self.width - height = self.height - 1 - inc = self.inclination - self.spline = [wx.Point(0, 0), wx.Point(inc*3/2, height),wx.Point(inc*2 + inc*2/3, height), wx.Point(width, height), wx.Point(width, height), - wx.Point(width - inc, inc), wx.Point(width - inc*2, 0), wx.Point(0, 0), wx.Point(0, 0)] def CreateRegion(self): - width = self.width - height = self.height - inc = self.inclination - - mdc = wx.MemoryDC() - - mbmp = wx.EmptyBitmap(width,height) - mdc.SelectObject(mbmp) - - mdc.SetBackground( wx.Brush((255,255,255))) - mdc.Clear() - - mdc.SetPen( wx.Pen("#000000", width = 1 ) ) - mdc.DrawSpline(self.spline) - - mdc.SetBrush(wx.Brush((255,255,0))) - mdc.FloodFill(width/2,height/2, wx.Color(0,0,0), wx.FLOOD_BORDER) - - mdc.SelectObject(wx.NullBitmap) - - mbmp.SetMaskColour( (255, 255, 255) ) - - region = wx.RegionFromBitmap(mbmp) -# region.Offset(-1,0) - + region = wx.RegionFromBitmap(self.tbmp) return region def CalculateColor(self, color, delta): @@ -379,69 +354,24 @@ class PFAddRenderer: if self.addBitmap: del self.addBitmap - canvas = wx.EmptyBitmap(self.width, self.height) +# canvas = wx.EmptyBitmap(self.width, self.height) +# +# mdc = wx.MemoryDC() +# mdc.SelectObject(canvas) +# +# mdc.SetBackground(wx.Brush ((0x12,0x23,0x32))) +# mdc.Clear() +# mdc.SelectObject(wx.NullBitmap) +# canvas.SetMaskColour((255,255,255)) - mdc = wx.MemoryDC() - mdc.SelectObject(canvas) - - mdc.SetBackground(wx.Brush ((13,22,31))) - mdc.Clear() - - mdc.DestroyClippingRegion() - mdc.SetClippingRegionAsRegion(self.region) -# mdc.GradientFillLinear(rect, (0x30,0x30,0x30), (0x6f,0x6f,0x6f), wx.SOUTH) - mdc.FloodFill(self.width/2,self.height/2, wx.Color(13,22,31), wx.FLOOD_BORDER) - mdc.DestroyClippingRegion() - mdc.SetPen( wx.Pen( wx.SystemSettings.GetColour(wx.SYS_COLOUR_WINDOWTEXT), 1)) - mdc.DrawSpline(self.spline) - mdc.SelectObject(wx.NullBitmap) - - canvas.SetMaskColour((13,22,31)) - - img = canvas.ConvertToImage() - if not img.HasAlpha(): - img.InitAlpha() - img = img.AdjustChannels(1, 1, 1, 0.6) - img = img.Blur(1) - bbmp = wx.BitmapFromImage(img) - - del mdc - del canvas - canvas = wx.EmptyBitmap(self.width, self.height) - - mdc = wx.MemoryDC() - mdc.SelectObject(canvas) - - mdc.SetBackground(wx.Brush ((255,255,255 , 0))) - mdc.Clear() - - mdc.DrawBitmap(bbmp,0,0,True) - - cx = self.width / 2 - 1 - cy = self.height / 2 - - mdc.SetPen( wx.Pen( wx.SystemSettings.GetColour(wx.SYS_COLOUR_WINDOWTEXT), 1)) - mdc.DrawLine(cx - inc + 1, cy, cx + inc + 1, cy) - mdc.DrawLine(cx - inc + 1, cy-1, cx + inc + 1, cy-1) - mdc.DrawLine(cx, cy - inc, cx, cy + inc ) - mdc.DrawLine(cx+1, cy - inc, cx+1, cy + inc ) - - self.wColor = wx.SystemSettings_GetColour(wx.SYS_COLOUR_WINDOW) - color = self.CalculateColor(self.wColor, 0x99) - mdc.SetPen( wx.Pen( color, 1)) - - mdc.DrawSpline(self.spline) - - mdc.SelectObject(wx.NullBitmap) - canvas.SetMaskColour((255,255,255)) - - img = canvas.ConvertToImage() - if not img.HasAlpha(): - img.InitAlpha() - img = img.AdjustChannels(1, 1, 1, 0.3) +# img = canvas.ConvertToImage() +# if not img.HasAlpha(): +# img.InitAlpha() + img = self.addImg.AdjustChannels(1, 1, 1, 0.2) bbmp = wx.BitmapFromImage(img) self.addBitmap = bbmp +# self.addBitmap.SetMaskColour((0x12,0x23,0x32)) class PFTabsContainer(wx.Window):