From 520d13fab1b761304b0a7b00dc512565df6fa6ad Mon Sep 17 00:00:00 2001 From: cncfanatics Date: Thu, 21 Oct 2010 20:29:59 +0200 Subject: [PATCH] Finish splitting --- gui/builtinContextMenus/droneSplit.py | 38 ++++++++++++++++++++++++--- 1 file changed, 34 insertions(+), 4 deletions(-) diff --git a/gui/builtinContextMenus/droneSplit.py b/gui/builtinContextMenus/droneSplit.py index df8010b56..689e469d5 100755 --- a/gui/builtinContextMenus/droneSplit.py +++ b/gui/builtinContextMenus/droneSplit.py @@ -16,9 +16,39 @@ class DroneSplit(ContextMenu): return "Split stack" def activate(self, context, selection, i): - sFit = service.Fit.getInstance() - fitID = self.mainFrame.getActiveFit() - sFit.splitDroneStack(fitID, selection[0], 1) - wx.PostEvent(self.mainFrame, gui.fittingView.FitChanged(fitID=fitID)) + dlg = DroneSpinner(self.mainFrame, selection[0]) + dlg.ShowModal() + dlg.Destroy() DroneSplit.register() + + +class DroneSpinner(wx.Dialog): + + def __init__(self, parent, drone): + wx.Dialog.__init__(self, parent, title="Select Amount", size=wx.Size(220, 60)) + self.drone = drone + + bSizer1 = wx.BoxSizer(wx.HORIZONTAL) + + self.spinner = wx.SpinCtrl(self) + self.spinner.SetRange(1, drone.amount) + self.spinner.SetValue(1) + + bSizer1.Add(self.spinner, 0, wx.ALL, 5) + + self.button = wx.Button(self, wx.ID_OK, u"Split") + bSizer1.Add(self.button, 0, wx.ALL, 5) + + self.SetSizer(bSizer1) + self.Layout() + self.Centre(wx.BOTH) + self.button.Bind(wx.EVT_BUTTON, self.split) + + def split(self, event): + sFit = service.Fit.getInstance() + mainFrame = gui.mainFrame.MainFrame.getInstance() + fitID = mainFrame.getActiveFit() + sFit.splitDroneStack(fitID, self.drone, self.spinner.GetValue()) + wx.PostEvent(mainFrame, gui.fittingView.FitChanged(fitID=fitID)) + event.Skip()