Show icons instead of names for dps/volley columns

This commit is contained in:
DarkPhoenix
2019-07-07 18:02:53 +03:00
parent 522de5ca5a
commit 3bc3705c42
3 changed files with 45 additions and 4 deletions

View File

@@ -25,6 +25,7 @@ import eos.config
import gui.mainFrame
from eos.saveddata.fit import Fit
from eos.utils.spoolSupport import SpoolOptions, SpoolType
from gui.bitmap_loader import BitmapLoader
from gui.viewColumn import ViewColumn
from gui.utils.numberFormatter import formatAmount
@@ -36,7 +37,8 @@ class DpsColumn(ViewColumn):
def __init__(self, fittingView, params):
ViewColumn.__init__(self, fittingView)
self.mainFrame = gui.mainFrame.MainFrame.getInstance()
self.columnText = 'DPS'
self.imageId = fittingView.imageList.GetImageIndex(1432, 'icons')
self.bitmap = BitmapLoader.getBitmap(1432, 'icons')
self.mask = wx.LIST_MASK_TEXT
def getText(self, stuff):
@@ -48,5 +50,8 @@ class DpsColumn(ViewColumn):
return formatAmount(dps, 3, 0, 0)
return ''
def getToolTip(self, stuff):
return 'Declared DPS'
DpsColumn.register()

View File

@@ -25,6 +25,7 @@ import eos.config
import gui.mainFrame
from eos.saveddata.fit import Fit
from eos.utils.spoolSupport import SpoolOptions, SpoolType
from gui.bitmap_loader import BitmapLoader
from gui.viewColumn import ViewColumn
from gui.utils.numberFormatter import formatAmount
@@ -36,7 +37,8 @@ class VolleyColumn(ViewColumn):
def __init__(self, fittingView, params):
ViewColumn.__init__(self, fittingView)
self.mainFrame = gui.mainFrame.MainFrame.getInstance()
self.columnText = 'Volley'
self.imageId = fittingView.imageList.GetImageIndex(1397, 'icons')
self.bitmap = BitmapLoader.getBitmap(1397, 'icons')
self.mask = wx.LIST_MASK_TEXT
def getText(self, stuff):
@@ -48,5 +50,7 @@ class VolleyColumn(ViewColumn):
return formatAmount(dps, 3, 0, 0)
return ''
def getToolTip(self, stuff):
return 'Declared volley'
VolleyColumn.register()

View File

@@ -38,8 +38,10 @@ class BaseList(gui.display.Display):
self.graphFrame = graphFrame
self.fits = []
fitToolTip = wx.ToolTip('Drag a fit into this list to graph it')
self.SetToolTip(fitToolTip)
self.hoveredRow = None
self.hoveredColumn = None
self.defaultTT = 'Drag a fit into this list to graph it'
self.contextMenu = wx.Menu()
removeItem = wx.MenuItem(self.contextMenu, 1, 'Remove Fit')
@@ -52,6 +54,8 @@ class BaseList(gui.display.Display):
self.Bind(wx.EVT_LEFT_DCLICK, self.OnLeftDClick)
self.Bind(wx.EVT_CHAR_HOOK, self.kbEvent)
self.Bind(wx.EVT_CONTEXT_MENU, self.OnContextMenu)
self.Bind(wx.EVT_MOTION, self.OnMouseMove)
self.Bind(wx.EVT_LEAVE_WINDOW, self.OnLeaveWindow)
def kbEvent(self, event):
keycode = event.GetKeyCode()
@@ -148,6 +152,34 @@ class BaseList(gui.display.Display):
self.update(self.fits)
self.graphFrame.draw()
def OnLeaveWindow(self, event):
self.SetToolTip(None)
self.hoveredRow = None
self.hoveredColumn = None
event.Skip()
def OnMouseMove(self, event):
row, _, col = self.HitTestSubItem(event.Position)
if row != self.hoveredRow or col != self.hoveredColumn:
if self.ToolTip is not None:
self.SetToolTip(None)
else:
self.hoveredRow = row
self.hoveredColumn = col
if row != -1 and col != -1 and col < self.ColumnCount:
try:
fit = self.fits[row]
except IndexError:
return
tooltip = self.activeColumns[col].getToolTip(fit)
if tooltip:
self.SetToolTip(tooltip)
else:
self.SetToolTip(self.defaultTT)
else:
self.SetToolTip(self.defaultTT)
event.Skip()
class FitList(BaseList):