Implement mutated item copy context menu
This commit is contained in:
@@ -26,6 +26,7 @@ from gui.builtinContextMenus import droneSplitStack
|
||||
from gui.builtinContextMenus import itemVariationChange
|
||||
from gui.builtinContextMenus import moduleMutations
|
||||
from gui.builtinContextMenus import moduleFill
|
||||
from gui.builtinContextMenus import moduleMutatedExport
|
||||
from gui.builtinContextMenus import skillAffectors
|
||||
# Market stuff
|
||||
from gui.builtinContextMenus import itemFill
|
||||
|
||||
31
gui/builtinContextMenus/moduleMutatedExport.py
Normal file
31
gui/builtinContextMenus/moduleMutatedExport.py
Normal file
@@ -0,0 +1,31 @@
|
||||
import gui.mainFrame
|
||||
from gui.contextMenu import ContextMenuSingle
|
||||
from gui.utils.clipboard import toClipboard
|
||||
from service.port.muta import renderMutant
|
||||
|
||||
|
||||
class ExportMutatedModule(ContextMenuSingle):
|
||||
|
||||
def __init__(self):
|
||||
self.mainFrame = gui.mainFrame.MainFrame.getInstance()
|
||||
|
||||
def display(self, callingWindow, srcContext, mainItem):
|
||||
if srcContext != 'fittingModule':
|
||||
return False
|
||||
if self.mainFrame.getActiveFit() is None:
|
||||
return False
|
||||
if mainItem is None:
|
||||
return False
|
||||
if not mainItem.isMutated:
|
||||
return False
|
||||
return True
|
||||
|
||||
def getText(self, callingWindow, itmContext, mainItem):
|
||||
return 'Copy Module to Clipboard'
|
||||
|
||||
def activate(self, callingWindow, fullContext, mainItem, i):
|
||||
export = renderMutant(mainItem, prefix=' ')
|
||||
toClipboard(export)
|
||||
|
||||
|
||||
ExportMutatedModule.register()
|
||||
@@ -19,7 +19,7 @@
|
||||
|
||||
|
||||
from eos.db.gamedata.queries import getAttributeInfo, getDynamicItem
|
||||
from gui.utils.numberFormatter import roundToPrec
|
||||
from eos.utils.float import floatUnerr
|
||||
from service.port.shared import fetchItem
|
||||
|
||||
|
||||
@@ -31,9 +31,8 @@ def renderMutant(mutant, firstPrefix='', prefix=''):
|
||||
mutatedAttrs[attrName] = mutator.value
|
||||
exportLines.append('{}{}'.format(firstPrefix, mutant.baseItem.name))
|
||||
exportLines.append('{}{}'.format(prefix, mutant.mutaplasmid.item.name))
|
||||
# Round to 7th significant number to avoid exporting float errors
|
||||
customAttrsLine = ', '.join(
|
||||
'{} {}'.format(a, roundToPrec(mutatedAttrs[a], 7))
|
||||
'{} {}'.format(a, floatUnerr(mutatedAttrs[a]))
|
||||
for a in sorted(mutatedAttrs))
|
||||
exportLines.append('{}{}'.format(prefix, customAttrsLine))
|
||||
return '\n'.join(exportLines)
|
||||
|
||||
Reference in New Issue
Block a user