make the item list colour per slot if colorFitBySlot set

attempts to resolve #1839
This commit is contained in:
Tony Cook
2019-02-15 19:04:50 +11:00
parent 65dff8dcf7
commit 2ea3394845
3 changed files with 23 additions and 0 deletions

View File

@@ -28,6 +28,7 @@ class ItemView(Display):
self.recentlyUsedModules = set()
self.sMkt = marketBrowser.sMkt
self.searchMode = marketBrowser.searchMode
self.sFit = Fit.getInstance()
self.marketBrowser = marketBrowser
self.marketView = marketBrowser.marketView
@@ -266,3 +267,14 @@ class ItemView(Display):
revmap[mgid] = i
i += 1
return revmap
slotColourMap = { 'loPower' : wx.Colour(250, 235, 204),
'medPower': wx.Colour(188, 215, 241),
'hiPower' : wx.Colour(235, 204, 209) }
def columnBackground(self, colItem, item):
if self.sFit.serviceFittingOptions["colorFitBySlot"]:
for effectName in self.slotColourMap:
if effectName in item.effects:
return self.slotColourMap[effectName]
return wx.Colour(255, 255, 255)

View File

@@ -166,6 +166,8 @@ class PFGeneralPref(PreferenceView):
fitID = self.mainFrame.getActiveFit()
self.sFit.refreshFit(fitID)
wx.PostEvent(self.mainFrame, GE.FitChanged(fitID=fitID))
iView = self.mainFrame.marketBrowser.itemView;
iView.update(iView.active)
event.Skip()
def onCBGlobalRackSlots(self, event):

View File

@@ -206,15 +206,18 @@ class Display(wx.ListCtrl):
colItem = self.GetItem(item, i)
oldText = colItem.GetText()
oldImageId = colItem.GetImage()
oldColour = colItem.GetBackgroundColour();
newText = col.getText(st)
if newText is False:
col.delayedText(st, self, colItem)
newText = "\u21bb"
newColour = self.columnBackground(colItem, st);
newImageId = col.getImageId(st)
colItem.SetText(newText)
colItem.SetImage(newImageId)
colItem.SetBackgroundColour(newColour)
mask = 0
@@ -228,6 +231,9 @@ class Display(wx.ListCtrl):
if mask:
colItem.SetMask(mask)
self.SetItem(colItem)
else:
if newColour != oldColour:
self.SetItem(colItem)
self.SetItemData(item, id_)
@@ -257,3 +263,6 @@ class Display(wx.ListCtrl):
def getColumn(self, point):
row, _, col = self.HitTestSubItem(point)
return col
def columnBackground(self, colItem, item):
return colItem.GetBackgroundColour()