chiark / gitweb /
Added preferences to project planner to configure head size
authordaid <daid303@gmail.com>
Mon, 7 May 2012 14:03:42 +0000 (16:03 +0200)
committerdaid <daid303@gmail.com>
Mon, 7 May 2012 14:03:42 +0000 (16:03 +0200)
Cura/gui/projectPlanner.py
Cura/images/preferences.png [new file with mode: 0644]

index b24721e525eac793e1d62bb14bf781e3f1f36acf..673176273063ef6b7b734ec9e5e983ef4aabd538 100644 (file)
@@ -19,6 +19,8 @@ except:
 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
@@ -159,6 +161,8 @@ class projectPlanner(wx.Frame):
                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
@@ -228,6 +232,11 @@ class projectPlanner(wx.Frame):
        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
@@ -821,6 +830,41 @@ class ProjectSliceProgressWindow(wx.Frame):
                \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
diff --git a/Cura/images/preferences.png b/Cura/images/preferences.png
new file mode 100644 (file)
index 0000000..dab6b51
Binary files /dev/null and b/Cura/images/preferences.png differ