from gui import opengl\r
from gui import toolbarUtil\r
from gui import icon\r
+from gui import configBase\r
+from gui import validators\r
from util import profile\r
from util import util3d\r
from util import stl\r
toolbarUtil.RadioButton(self.toolbar, group, 'object-top-on.png', 'object-top-off.png', 'Topdown view', callback=self.OnTopClick).SetValue(True)\r
self.toolbar.AddSeparator()\r
toolbarUtil.NormalButton(self.toolbar, self.OnQuit, 'exit.png', 'Close project planner')\r
+ self.toolbar.AddSeparator()\r
+ toolbarUtil.NormalButton(self.toolbar, self.OnPreferences, 'preferences.png', 'Project planner preferences')\r
\r
self.toolbar.Realize()\r
\r
def OnQuit(self, e):\r
self.Close()\r
\r
+ def OnPreferences(self, e):\r
+ prefDialog = preferencesDialog(self)\r
+ prefDialog.Centre()\r
+ prefDialog.Show(True)\r
+ \r
def OnSaveProject(self, e):\r
dlg=wx.FileDialog(self, "Save project file", os.path.split(profile.getPreference('lastFile'))[0], style=wx.FD_SAVE)\r
dlg.SetWildcard("Project files (*.curaproject)|*.curaproject")\r
\r
wx.CallAfter(self.abortButton.SetLabel, 'Close')\r
\r
+class preferencesDialog(configBase.configWindowBase):\r
+ def __init__(self, parent):\r
+ super(preferencesDialog, self).__init__(title="Project Planner Preferences")\r
+ \r
+ self.parent = parent\r
+ wx.EVT_CLOSE(self, self.OnClose)\r
+ \r
+ extruderAmount = int(profile.getPreference('extruder_amount'))\r
+ \r
+ left, right, main = self.CreateConfigPanel(self)\r
+ configBase.TitleRow(left, 'Machine head size')\r
+ c = configBase.SettingRow(left, 'Head size - X towards home (mm)', 'extruder_head_size_min_x', '0', 'Size of your printer head in the X direction, on the Ultimaker your fan is in this direction.', type = 'preference')\r
+ validators.validFloat(c, 0.1)\r
+ c = configBase.SettingRow(left, 'Head size - X towards end (mm)', 'extruder_head_size_max_x', '0', 'Size of your printer head in the X direction.', type = 'preference')\r
+ validators.validFloat(c, 0.1)\r
+ c = configBase.SettingRow(left, 'Head size - Y towards home (mm)', 'extruder_head_size_min_y', '0', 'Size of your printer head in the Y direction.', type = 'preference')\r
+ validators.validFloat(c, 0.1)\r
+ c = configBase.SettingRow(left, 'Head size - Y towards end (mm)', 'extruder_head_size_max_y', '0', 'Size of your printer head in the Y direction.', type = 'preference')\r
+ validators.validFloat(c, 0.1)\r
+ \r
+ self.okButton = wx.Button(left, -1, 'Ok')\r
+ left.GetSizer().Add(self.okButton, (left.GetSizer().GetRows(), 1))\r
+ self.okButton.Bind(wx.EVT_BUTTON, self.OnClose)\r
+ \r
+ self.MakeModal(True)\r
+ main.Fit()\r
+ self.Fit()\r
+\r
+ def OnClose(self, e):\r
+ self.parent.headSizeMin = util3d.Vector3(profile.getPreferenceFloat('extruder_head_size_min_x'), profile.getPreferenceFloat('extruder_head_size_min_y'),0)\r
+ self.parent.headSizeMax = util3d.Vector3(profile.getPreferenceFloat('extruder_head_size_max_x'), profile.getPreferenceFloat('extruder_head_size_max_y'),0)\r
+\r
+ self.MakeModal(False)\r
+ self.Destroy()\r
+\r
def main():\r
app = wx.App(False)\r
projectPlanner().Show(True)\r