Files
pyfa/gui/builtinContextMenus/moduleFill.py
2019-07-30 19:12:45 +03:00

41 lines
1.3 KiB
Python

import gui.fitCommands as cmd
import gui.mainFrame
from gui.contextMenu import ContextMenuSingle
from service.fit import Fit
from service.settings import ContextMenuSettings
class FillWithModule(ContextMenuSingle):
def __init__(self):
self.mainFrame = gui.mainFrame.MainFrame.getInstance()
self.settings = ContextMenuSettings.getInstance()
def display(self, callingWindow, srcContext, mainItem):
if not self.settings.get('moduleFill'):
return False
if mainItem is None or getattr(mainItem, 'isEmpty', False):
return False
return srcContext == "fittingModule"
def getText(self, callingWindow, itmContext, mainItem):
return "Fill With {0}".format(itmContext if itmContext is not None else "Module")
def activate(self, callingWindow, fullContext, mainItem, i):
srcContext = fullContext[0]
fitID = self.mainFrame.getActiveFit()
if srcContext == "fittingModule":
fit = Fit.getInstance().getFit(fitID)
if mainItem in fit.modules:
position = fit.modules.index(mainItem)
self.mainFrame.command.Submit(cmd.GuiFillWithClonedLocalModulesCommand(
fitID=fitID, position=position))
FillWithModule.register()