Merge branch 'master' of evefit.org:pyfa

This commit is contained in:
cncfanatics
2010-11-11 13:04:18 +01:00
2 changed files with 51 additions and 41 deletions

View File

@@ -98,7 +98,7 @@ class TargetingMiscViewFull(StatsView):
#If we did anything intresting, we'd update our labels to reflect the new fit's stats here
stats = (("labelTargets", lambda: fit.maxTargets, 3, 0, 0, ""),
("labelRange", lambda: fit.ship.getModifiedItemAttr('maxTargetRange') / 1000, 3, 0, 0, "km"),
("labelRange", lambda: fit.maxTargetRange / 1000, 3, 0, 0, "km"),
("labelScanRes", lambda: fit.ship.getModifiedItemAttr('scanResolution'), 3, 0, 0, "mm"),
("labelSensorStr", lambda: fit.scanStrength, 3, 0, 0, ""),
("labelCtrlRange", lambda: fit.extraAttributes["droneControlRange"] / 1000, 3, 0, 0, "km"),

90
miniframe.py Normal file → Executable file
View File

@@ -1,3 +1,4 @@
#!/usr/bin/env python
import wx
import copy
import time
@@ -15,7 +16,7 @@ class PFTabRenderer:
self.selected = False
self.closeBtnHovering = False
self.tabBitmap = None
self.cbSize = 6
self.cbSize = 4
self.position = (0, 0) # Not used internaly for rendering - helper for tab container
self.InitTab()
@@ -107,9 +108,9 @@ class PFTabRenderer:
def InitColors(self):
self.tabColor = wx.SystemSettings_GetColour(wx.SYS_COLOUR_WINDOW)
self.leftColor = self.CalculateColor(self.tabColor, 0x1F)
self.rightColor = self.CalculateColor(self.tabColor, 0x24)
self.gradientStartColor = self.CalculateColor(self.tabColor, 0x17 if self.selected else 0x27)
self.leftColor = self.CalculateColor(self.tabColor, 0x2F)
self.rightColor = self.CalculateColor(self.tabColor, 0x44)
self.gradientStartColor = self.CalculateColor(self.tabColor, 0x17 if self.selected else 0x20)
def CalculateColor(self, color, delta):
bkR ,bkG , bkB = color
@@ -122,14 +123,11 @@ class PFTabRenderer:
g = bkG + scale
b = bkB + scale
if r > 255: r = 255
if r < 0: r = 0
if g > 255: g = 255
if g < 0: g = 0
if b > 255: b = 255
if b < 0: b = 0
r = min(max(r,0),255)
b = min(max(b,0),255)
g = min(max(g,0),255)
return wx.Colour(r,b,g)
return wx.Colour(r,g,b)
def InitTabRegions(self):
self.tabRegion = wx.Region(0, 0, self.tabWidth, self.tabHeight)
@@ -262,17 +260,17 @@ class PFTabRenderer:
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 = 2 ) )
mdc.SetPen( wx.Pen(self.rightColor, width = 1 ) )
if self.closeButton:
cbsize = self.cbSize
if self.closeBtnHovering:
mdc.SetPen( wx.Pen( wx.SystemSettings.GetColour(wx.SYS_COLOUR_WINDOWTEXT), 2))
mdc.SetPen( wx.Pen( wx.SystemSettings.GetColour(wx.SYS_COLOUR_WINDOWTEXT), 1))
cbx = width - self.lrZoneWidth-cbsize
cby = (height - cbsize)/2
mdc.DrawLine(cbx, cby, cbx + cbsize , cby + cbsize )
mdc.DrawLine(cbx, cby + cbsize, cbx + cbsize , cby )
mdc.DrawLine(cbx, cby, cbx + cbsize + 1 , cby + cbsize + 1 )
mdc.DrawLine(cbx, cby + cbsize, cbx + cbsize + 1, cby - 1 )
mdc.SetClippingRegionAsRegion(self.contentRegion)
mdc.SetFont(self.font)
@@ -368,12 +366,9 @@ class PFAddRenderer:
g = bkG + scale
b = bkB + scale
if r > 255: r = 255
if r < 0: r = 0
if g > 255: g = 255
if g < 0: g = 0
if b > 255: b = 255
if b < 0: b = 0
r = min(max(r,0),255)
b = min(max(b,0),255)
g = min(max(g,0),255)
return wx.Colour(r,b,g)
@@ -462,7 +457,7 @@ class PFTabsContainer(wx.Window):
self.dragging = False
self.reserved = 48
self.inclination = 6
self.dragTrail = 5
self.dragTrail = 3
self.dragx = 0
self.dragy = 0
self.draggedTab = None
@@ -481,7 +476,7 @@ class PFTabsContainer(wx.Window):
self.Bind(wx.EVT_LEFT_UP, self.OnLeftUp)
self.Bind(wx.EVT_MOTION, self.OnMotion)
self.tabShadow = PFTabRenderer((self.tabMinWidth, self.height), inclination = self.inclination)
self.tabShadow = PFTabRenderer((self.tabMinWidth, self.height + 1), inclination = self.inclination)
def OnLeftDown(self, event):
mposx,mposy = event.GetPosition()
@@ -514,6 +509,8 @@ class PFTabsContainer(wx.Window):
self.startDrag = False
self.dragTrigger = self.dragTrail
if self.GetTabsCount() == 0:
return
selTab = self.GetSelectedTab()
if self.CheckTabClose(selTab, mposx, mposy):
@@ -583,6 +580,8 @@ class PFTabsContainer(wx.Window):
self.Refresh()
def FindTabAtPos(self, x, y):
if self.GetTabsCount() == 0:
return None
selTab = self.GetSelectedTab()
if self.TabHitTest(selTab, x, y):
return selTab
@@ -684,8 +683,8 @@ class PFTabsContainer(wx.Window):
selected = None
selpos = 0
selWidth = selHeight = 0
selColor = self.CalculateColor(wx.SystemSettings_GetColour(wx.SYS_COLOUR_WINDOW), 0x24)
startColor = self.leftColor = self.CalculateColor(wx.SystemSettings_GetColour(wx.SYS_COLOUR_WINDOW), 0x12)
selColor = self.CalculateColor(wx.SystemSettings_GetColour(wx.SYS_COLOUR_WINDOW), 0x34)
startColor = self.leftColor = self.CalculateColor(wx.SystemSettings_GetColour(wx.SYS_COLOUR_WINDOW), 0x2f)
tabsWidth = 0
@@ -701,19 +700,32 @@ class PFTabsContainer(wx.Window):
width = tab.tabWidth - self.inclination*2
posx, posy = tab.GetPosition()
if not tab.IsSelected():
mdc.DrawBitmap(self.efxBmp, posx, posy, True )
mdc.DrawBitmap(tab.Render(), posx, posy, True)
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(bmp, posx, posy, True)
else:
selected = tab
if selected:
posx, posy = selected.GetPosition()
mdc.DrawBitmap(self.efxBmp, posx, posy, True)
mdc.DrawBitmap(selected.Render(), posx, posy, True)
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)
mdc.DrawBitmap(bmp, posx, posy, True)
selpos = posx
selWidth,selHeight = selected.GetSize()
if selWidth%2:
offset = 1
else:
offset = 0
r1 = wx.Rect(0,self.containerHeight-1,selpos,1)
r2 = wx.Rect(selpos + selWidth,self.containerHeight -1, self.width - selpos - selWidth,1)
r2 = wx.Rect(selpos + selWidth - offset, self.containerHeight -1, self.width - selpos - selWidth,1)
mdc.GradientFillLinear(r1, startColor, selColor, wx.EAST)
mdc.GradientFillLinear(r2, selColor, startColor, wx.EAST)
@@ -723,13 +735,13 @@ class PFTabsContainer(wx.Window):
def UpdateTabFX(self):
w,h = self.tabShadow.GetSize()
if w != self.tabMinWidth:
self.tabShadow.SetSize((self.tabMinWidth, self.height))
self.tabShadow.SetSize((self.tabMinWidth, self.height + 1))
fxBmp = self.tabShadow.Render()
simg = fxBmp.ConvertToImage()
simg.InitAlpha()
simg = simg.Blur(2)
simg = simg.AdjustChannels(1,1,1,0.3)
simg = simg.AdjustChannels(0.2,0.2,0.2,0.3)
self.efxBmp = wx.BitmapFromImage(simg)
@@ -760,6 +772,7 @@ class PFTabsContainer(wx.Window):
self.tabs[self.GetTabsCount() - 1].SetSelected(True)
else:
self.tabs[tab].SetSelected(True)
self.AdjustTabsSize()
self.Refresh()
@@ -797,7 +810,7 @@ class PFTabsContainer(wx.Window):
tabsWidth += tab.tabWidth - self.inclination*2
pos = tabsWidth
selected = None
for i in xrange(len(self.tabs) - 1, -1, -1):
tab = self.tabs[i]
width = tab.tabWidth - self.inclination*2
@@ -822,14 +835,11 @@ class PFTabsContainer(wx.Window):
g = bkG + scale
b = bkB + scale
if r > 255: r = 255
if r < 0: r = 0
if g > 255: g = 255
if g < 0: g = 0
if b > 255: b = 255
if b < 0: b = 0
r = min(max(r,0),255)
g = min(max(g,0),255)
b = min(max(b,0),255)
return wx.Colour(r,b,g)
return wx.Colour(r,g,b)
class MiniFrame(wx.Frame):
def __init__(self):