from gui import machineCom
from gui import printWindow
from gui import simpleMode
+from gui import projectPlanner
from gui import icon
from util import profile
from util import version
i = fileMenu.Append(-1, 'Preferences...')
self.Bind(wx.EVT_MENU, self.OnPreferences, i)
fileMenu.AppendSeparator()
+ i = fileMenu.Append(-1, 'Open project planner...')
+ self.Bind(wx.EVT_MENU, self.OnProjectPlanner, i)
+ fileMenu.AppendSeparator()
i = fileMenu.Append(wx.ID_EXIT, 'Quit')
self.Bind(wx.EVT_MENU, self.OnQuit, i)
menubar.Append(fileMenu, '&File')
ecw = expertConfig.expertConfigWindow()
ecw.Centre()
ecw.Show(True)
+
+ def OnProjectPlanner(self, e):
+ pp = projectPlanner.projectPlanner()
+ pp.Centre()
+ pp.Show(True)
def removeSliceProgress(self, spp):
self.progressPanelList.remove(spp)
from __future__ import absolute_import\r
import __init__\r
\r
-import wx, threading, re, subprocess, sys\r
+import wx, threading, re, subprocess, sys, os\r
+from wx.lib import buttons\r
\r
from gui import machineCom\r
from gui import icon\r
self.handle = None\r
self.thread = None\r
\r
+class PrintCommandButton(buttons.GenBitmapButton):\r
+ def __init__(self, parent, command, bitmapFilename, size=(20,20)):\r
+ self.bitmap = wx.Bitmap(os.path.join(os.path.split(__file__)[0], "../images", bitmapFilename))\r
+ super(PrintCommandButton, self).__init__(parent.directControlPanel, -1, self.bitmap, size=size)\r
+\r
+ self.command = command\r
+ self.parent = parent\r
+\r
+ self.SetBezelWidth(1)\r
+ self.SetUseFocusIndicator(False)\r
+\r
+ self.Bind(wx.EVT_BUTTON, self.OnClick)\r
+\r
+ def OnClick(self, e):\r
+ self.parent.sendCommand(self.command)\r
+ e.Skip()\r
+\r
class printWindow(wx.Frame):\r
"Main user interface window"\r
def __init__(self):\r
self.sizer.Add(self.printButton, pos=(2,1))\r
self.sizer.Add(self.cancelButton, pos=(3,1))\r
self.sizer.Add(self.progress, pos=(4,0), span=(1,2), flag=wx.EXPAND)\r
-\r
+ \r
self.sizer.Add(wx.StaticText(self.panel, -1, "Temp:"), pos=(0,3))\r
self.sizer.Add(self.temperatureSelect, pos=(0,4))\r
+ \r
+ self.directControlPanel = wx.Panel(self.panel)\r
+ self.sizer.Add(self.directControlPanel, pos=(1,3), span=(5,4))\r
+ \r
+ sizer = wx.GridBagSizer(2, 2)\r
+ self.directControlPanel.SetSizer(sizer)\r
+ sizer.Add(PrintCommandButton(self, 'G1 Y100 F6000', 'object-mul-y-add.png'), pos=(0,3))\r
+ sizer.Add(PrintCommandButton(self, 'G1 Y10 F6000', 'object-mul-y-add.png'), pos=(1,3))\r
+ sizer.Add(PrintCommandButton(self, 'G1 Y1 F6000', 'object-mul-y-add.png'), pos=(2,3))\r
+\r
+ sizer.Add(PrintCommandButton(self, 'G1 Y-1 F6000', 'object-mul-y-sub.png'), pos=(4,3))\r
+ sizer.Add(PrintCommandButton(self, 'G1 Y-10 F6000', 'object-mul-y-sub.png'), pos=(5,3))\r
+ sizer.Add(PrintCommandButton(self, 'G1 Y-100 F6000', 'object-mul-y-sub.png'), pos=(6,3))\r
+\r
+ sizer.Add(PrintCommandButton(self, 'G1 X-100 F6000', 'object-mul-x-sub.png'), pos=(3,0))\r
+ sizer.Add(PrintCommandButton(self, 'G1 X-10 F6000', 'object-mul-x-sub.png'), pos=(3,1))\r
+ sizer.Add(PrintCommandButton(self, 'G1 X-1 F6000', 'object-mul-x-sub.png'), pos=(3,2))\r
+\r
+ sizer.Add(PrintCommandButton(self, 'G1 X1 F6000', 'object-mul-x-add.png'), pos=(3,4))\r
+ sizer.Add(PrintCommandButton(self, 'G1 X10 F6000', 'object-mul-x-add.png'), pos=(3,5))\r
+ sizer.Add(PrintCommandButton(self, 'G1 X100 F6000', 'object-mul-x-add.png'), pos=(3,6))\r
+\r
+ sizer.Add(PrintCommandButton(self, 'G1 Z10 F200', 'object-max-size.png'), pos=(0,6))\r
+ sizer.Add(PrintCommandButton(self, 'G1 Z1 F200', 'object-max-size.png'), pos=(1,6))\r
+ sizer.Add(PrintCommandButton(self, 'G1 Z0.1 F200', 'object-max-size.png'), pos=(2,6))\r
+\r
+ sizer.Add(PrintCommandButton(self, 'G1 Z0.1 F200', 'object-max-size.png'), pos=(4,6))\r
+ sizer.Add(PrintCommandButton(self, 'G1 Z1 F200', 'object-max-size.png'), pos=(5,6))\r
+ sizer.Add(PrintCommandButton(self, 'G1 Z10 F200', 'object-max-size.png'), pos=(6,6))\r
\r
self.sizer.AddGrowableRow(3)\r
self.sizer.AddGrowableCol(0)\r
#self.loadButton.Enable(self.printIdx == None)\r
self.printButton.Enable(self.machineConnected and self.gcodeList != None and self.printIdx == None)\r
self.cancelButton.Enable(self.printIdx != None)\r
+ self.temperatureSelect.Enable(self.machineConnected)\r
+ self.directControlPanel.Enable(self.machineConnected)\r
\r
def UpdateProgress(self):\r
status = ""\r