make the item list colour per slot if colorFitBySlot set
attempts to resolve #1839
This commit is contained in:
@@ -28,6 +28,7 @@ class ItemView(Display):
|
|||||||
self.recentlyUsedModules = set()
|
self.recentlyUsedModules = set()
|
||||||
self.sMkt = marketBrowser.sMkt
|
self.sMkt = marketBrowser.sMkt
|
||||||
self.searchMode = marketBrowser.searchMode
|
self.searchMode = marketBrowser.searchMode
|
||||||
|
self.sFit = Fit.getInstance()
|
||||||
|
|
||||||
self.marketBrowser = marketBrowser
|
self.marketBrowser = marketBrowser
|
||||||
self.marketView = marketBrowser.marketView
|
self.marketView = marketBrowser.marketView
|
||||||
@@ -266,3 +267,14 @@ class ItemView(Display):
|
|||||||
revmap[mgid] = i
|
revmap[mgid] = i
|
||||||
i += 1
|
i += 1
|
||||||
return revmap
|
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)
|
||||||
|
|||||||
@@ -166,6 +166,8 @@ class PFGeneralPref(PreferenceView):
|
|||||||
fitID = self.mainFrame.getActiveFit()
|
fitID = self.mainFrame.getActiveFit()
|
||||||
self.sFit.refreshFit(fitID)
|
self.sFit.refreshFit(fitID)
|
||||||
wx.PostEvent(self.mainFrame, GE.FitChanged(fitID=fitID))
|
wx.PostEvent(self.mainFrame, GE.FitChanged(fitID=fitID))
|
||||||
|
iView = self.mainFrame.marketBrowser.itemView;
|
||||||
|
iView.update(iView.active)
|
||||||
event.Skip()
|
event.Skip()
|
||||||
|
|
||||||
def onCBGlobalRackSlots(self, event):
|
def onCBGlobalRackSlots(self, event):
|
||||||
|
|||||||
@@ -206,15 +206,18 @@ class Display(wx.ListCtrl):
|
|||||||
colItem = self.GetItem(item, i)
|
colItem = self.GetItem(item, i)
|
||||||
oldText = colItem.GetText()
|
oldText = colItem.GetText()
|
||||||
oldImageId = colItem.GetImage()
|
oldImageId = colItem.GetImage()
|
||||||
|
oldColour = colItem.GetBackgroundColour();
|
||||||
newText = col.getText(st)
|
newText = col.getText(st)
|
||||||
if newText is False:
|
if newText is False:
|
||||||
col.delayedText(st, self, colItem)
|
col.delayedText(st, self, colItem)
|
||||||
newText = "\u21bb"
|
newText = "\u21bb"
|
||||||
|
newColour = self.columnBackground(colItem, st);
|
||||||
|
|
||||||
newImageId = col.getImageId(st)
|
newImageId = col.getImageId(st)
|
||||||
|
|
||||||
colItem.SetText(newText)
|
colItem.SetText(newText)
|
||||||
colItem.SetImage(newImageId)
|
colItem.SetImage(newImageId)
|
||||||
|
colItem.SetBackgroundColour(newColour)
|
||||||
|
|
||||||
mask = 0
|
mask = 0
|
||||||
|
|
||||||
@@ -228,6 +231,9 @@ class Display(wx.ListCtrl):
|
|||||||
if mask:
|
if mask:
|
||||||
colItem.SetMask(mask)
|
colItem.SetMask(mask)
|
||||||
self.SetItem(colItem)
|
self.SetItem(colItem)
|
||||||
|
else:
|
||||||
|
if newColour != oldColour:
|
||||||
|
self.SetItem(colItem)
|
||||||
|
|
||||||
self.SetItemData(item, id_)
|
self.SetItemData(item, id_)
|
||||||
|
|
||||||
@@ -257,3 +263,6 @@ class Display(wx.ListCtrl):
|
|||||||
def getColumn(self, point):
|
def getColumn(self, point):
|
||||||
row, _, col = self.HitTestSubItem(point)
|
row, _, col = self.HitTestSubItem(point)
|
||||||
return col
|
return col
|
||||||
|
|
||||||
|
def columnBackground(self, colItem, item):
|
||||||
|
return colItem.GetBackgroundColour()
|
||||||
|
|||||||
Reference in New Issue
Block a user