chiark / gitweb /
Added left/right config panels for better overview of config tab.
authordaid <daid303@gmail.com>
Thu, 23 Feb 2012 17:15:29 +0000 (18:15 +0100)
committerdaid <daid303@gmail.com>
Thu, 23 Feb 2012 17:15:29 +0000 (18:15 +0100)
Solved window start size problem
Made few adjustments to start/end code.

SkeinPyPy_NewUI/newui/mainWindow.py
SkeinPyPy_NewUI/newui/preview3d.py
SkeinPyPy_NewUI/skeinforge_application/alterations/end.gcode
SkeinPyPy_NewUI/skeinforge_application/alterations/start.gcode

index 616b0965dd95003737007df632675d29b0255887..6ae0d3a7f3e98329deed98471e0d82848fccc043 100644 (file)
@@ -51,53 +51,69 @@ class mainWindow(wx.Frame):
                                if skeinPyPySettingInfo[pluginName][settings.safeConfigName(pref.name)] == 'save':
                                        self.plugins[pluginName].preferencesDict[settings.safeConfigName(pref.name)] = pref
 
-               p = wx.Panel(self)
-               nb = wx.Notebook(p, size=(500,10))
+               p = self#wx.Panel(self)
+               nb = wx.Notebook(p)
                
                configPanel = wx.Panel(nb);
                nb.AddPage(configPanel, "Print config")
+               leftConfigPanel = wx.Panel(configPanel)
+               rightConfigPanel = wx.Panel(configPanel)
                sizer = wx.GridBagSizer(2, 2)
+               leftConfigPanel.SetSizer(sizer)
+               sizer = wx.GridBagSizer(2, 2)
+               rightConfigPanel.SetSizer(sizer)
+               sizer = wx.BoxSizer(wx.HORIZONTAL)
                configPanel.SetSizer(sizer)
+               sizer.Add(leftConfigPanel)
+               sizer.Add(rightConfigPanel)
                
-               self.AddTitle(configPanel, "Accuracy")
-               self.AddSetting(configPanel, "Layer height (mm)", self.plugins['carve'].preferencesDict['Layer_Height_mm'], 'Layer height in millimeters.\n0.2 is a good value for quick prints.\n0.1 gives high quality prints.')
-               self.AddTitle(configPanel, "Fill")
-               self.AddSetting(configPanel, "Solid layers", self.plugins['fill'].preferencesDict['Solid_Surface_Thickness_layers'])
-               self.AddSetting(configPanel, "Fill Density", self.plugins['fill'].preferencesDict['Infill_Solidity_ratio'])
-               self.AddTitle(configPanel, "Skirt")
-               self.AddSetting(configPanel, "Line count", self.plugins['skirt'].preferencesDict['Skirt_line_count'])
-               self.AddSetting(configPanel, "Start distance (mm)", self.plugins['skirt'].preferencesDict['Gap_Width_mm'])
-               self.AddTitle(configPanel, "Cool")
+               self.AddTitle(leftConfigPanel, "Accuracy")
+               self.AddSetting(leftConfigPanel, "Layer height (mm)", self.plugins['carve'].preferencesDict['Layer_Height_mm'], 'Layer height in millimeters.\n0.2 is a good value for quick prints.\n0.1 gives high quality prints.')
+               self.AddTitle(leftConfigPanel, "Fill")
+               self.AddSetting(leftConfigPanel, "Solid layers", self.plugins['fill'].preferencesDict['Solid_Surface_Thickness_layers'])
+               self.AddSetting(leftConfigPanel, "Fill Density", self.plugins['fill'].preferencesDict['Infill_Solidity_ratio'])
+               self.AddTitle(leftConfigPanel, "Skirt")
+               self.AddSetting(leftConfigPanel, "Line count", self.plugins['skirt'].preferencesDict['Skirt_line_count'])
+               self.AddSetting(leftConfigPanel, "Start distance (mm)", self.plugins['skirt'].preferencesDict['Gap_Width_mm'])
+               self.AddTitle(leftConfigPanel, "Cool")
                #self.AddSetting(configPanel, "Cool type", self.plugins['cool'].preferencesDict['Cool_Type'])
-               self.AddSetting(configPanel, "Minimal layer time", self.plugins['cool'].preferencesDict['Minimum_Layer_Time_seconds'])
-               self.AddTitle(configPanel, "Retraction")
-               self.AddSetting(configPanel, "Speed (mm/s)", self.plugins['dimension'].preferencesDict['Extruder_Retraction_Speed_mm/s'])
-               self.AddSetting(configPanel, "Distance (mm)", self.plugins['dimension'].preferencesDict['Retraction_Distance_millimeters'])
-               self.AddSetting(configPanel, "Extra length on start (mm)", self.plugins['dimension'].preferencesDict['Restart_Extra_Distance_millimeters'])
-               self.AddSetting(configPanel, "Minimal travel (mm)", self.plugins['dimension'].preferencesDict['Minimum_Travel_for_Retraction_millimeters'])
-
+               self.AddSetting(leftConfigPanel, "Minimal layer time", self.plugins['cool'].preferencesDict['Minimum_Layer_Time_seconds'])
+               self.AddTitle(rightConfigPanel, "Retraction")
+               self.AddSetting(rightConfigPanel, "Speed (mm/s)", self.plugins['dimension'].preferencesDict['Extruder_Retraction_Speed_mm/s'])
+               self.AddSetting(rightConfigPanel, "Distance (mm)", self.plugins['dimension'].preferencesDict['Retraction_Distance_millimeters'])
+               self.AddSetting(rightConfigPanel, "Extra length on start (mm)", self.plugins['dimension'].preferencesDict['Restart_Extra_Distance_millimeters'])
+               self.AddSetting(rightConfigPanel, "Minimal travel (mm)", self.plugins['dimension'].preferencesDict['Minimum_Travel_for_Retraction_millimeters'])
+               
                configPanel = wx.Panel(nb);
                nb.AddPage(configPanel, "Machine && Filament")
+               leftConfigPanel = wx.Panel(configPanel)
+               rightConfigPanel = wx.Panel(configPanel)
+               sizer = wx.GridBagSizer(2, 2)
+               leftConfigPanel.SetSizer(sizer)
                sizer = wx.GridBagSizer(2, 2)
+               rightConfigPanel.SetSizer(sizer)
+               sizer = wx.BoxSizer(wx.HORIZONTAL)
                configPanel.SetSizer(sizer)
+               sizer.Add(leftConfigPanel)
+               sizer.Add(rightConfigPanel)
                
-               self.AddTitle(configPanel, "Machine size")
-               self.AddSetting(configPanel, "Width (mm)", settings.IntSpin().getFromValue(10, "machine_width", None, 1000, 205))
-               self.AddSetting(configPanel, "Depth (mm)", settings.IntSpin().getFromValue(10, "machine_depth", None, 1000, 205))
-               self.AddSetting(configPanel, "Height (mm)", settings.IntSpin().getFromValue(10, "machine_height", None, 1000, 200))
-
-               self.AddTitle(configPanel, "Machine nozzle")
-               self.AddSetting(configPanel, "Nozzle size (mm)", self.plugins['carve'].preferencesDict['Edge_Width_mm'])
-
-               self.AddTitle(configPanel, "Speed")
-               self.AddSetting(configPanel, "Print speed (mm/s)", self.plugins['speed'].preferencesDict['Feed_Rate_mm/s'])
-               self.AddSetting(configPanel, "Travel speed (mm/s)", self.plugins['speed'].preferencesDict['Travel_Feed_Rate_mm/s'])
-               self.AddSetting(configPanel, "Max Z speed (mm/z)", self.plugins['speed'].preferencesDict['Maximum_Z_Feed_Rate_mm/s'])
-               self.AddSetting(configPanel, "Bottom Layer Speed Ratio", self.plugins['speed'].preferencesDict['Object_First_Layer_Feed_Rate_Infill_Multiplier_ratio'])
-
-               self.AddTitle(configPanel, "Filament")
-               self.AddSetting(configPanel, "Diameter (mm)", self.plugins['dimension'].preferencesDict['Filament_Diameter_mm'])
-               self.AddSetting(configPanel, "Packing Density", self.plugins['dimension'].preferencesDict['Filament_Packing_Density_ratio'])
+               self.AddTitle(leftConfigPanel, "Machine size")
+               self.AddSetting(leftConfigPanel, "Width (mm)", settings.IntSpin().getFromValue(10, "machine_width", None, 1000, 205))
+               self.AddSetting(leftConfigPanel, "Depth (mm)", settings.IntSpin().getFromValue(10, "machine_depth", None, 1000, 205))
+               self.AddSetting(leftConfigPanel, "Height (mm)", settings.IntSpin().getFromValue(10, "machine_height", None, 1000, 200))
+
+               self.AddTitle(leftConfigPanel, "Machine nozzle")
+               self.AddSetting(leftConfigPanel, "Nozzle size (mm)", self.plugins['carve'].preferencesDict['Edge_Width_mm'])
+
+               self.AddTitle(leftConfigPanel, "Speed")
+               self.AddSetting(leftConfigPanel, "Print speed (mm/s)", self.plugins['speed'].preferencesDict['Feed_Rate_mm/s'])
+               self.AddSetting(leftConfigPanel, "Travel speed (mm/s)", self.plugins['speed'].preferencesDict['Travel_Feed_Rate_mm/s'])
+               self.AddSetting(leftConfigPanel, "Max Z speed (mm/z)", self.plugins['speed'].preferencesDict['Maximum_Z_Feed_Rate_mm/s'])
+               self.AddSetting(leftConfigPanel, "Bottom Layer Speed Ratio", self.plugins['speed'].preferencesDict['Object_First_Layer_Feed_Rate_Infill_Multiplier_ratio'])
+
+               self.AddTitle(rightConfigPanel, "Filament")
+               self.AddSetting(rightConfigPanel, "Diameter (mm)", self.plugins['dimension'].preferencesDict['Filament_Diameter_mm'])
+               self.AddSetting(rightConfigPanel, "Packing Density", self.plugins['dimension'].preferencesDict['Filament_Packing_Density_ratio'])
                
                nb.AddPage(alterationPanel.alterationPanel(nb), "Start/End-GCode")
 
@@ -110,18 +126,18 @@ class mainWindow(wx.Frame):
                self.Bind(wx.EVT_BUTTON, self.OnSlice, sliceButton)
 
                sizer = wx.GridBagSizer()
-               sizer.Add(nb, (0,0), span=(2,1), flag=wx.EXPAND)
+               p.SetSizer(sizer)
+               sizer.Add(nb, (0,0), span=(1,1), flag=wx.EXPAND)
                sizer.Add(self.preview3d, (0,1), span=(1,3), flag=wx.EXPAND)
-               sizer.Add(loadButton, (1,1))
-               sizer.Add(sliceButton, (1,2))
                sizer.AddGrowableCol(2)
                sizer.AddGrowableRow(0)
-               p.SetSizer(sizer)
-
+               sizer.Add(loadButton, (1,1))
+               sizer.Add(sliceButton, (1,2))
+               
                self.panel = p
                self.sizer = sizer
 
-               self.SetSize((800, 400))
+               self.Fit()
                self.Centre()
                self.Show(True)
        
@@ -130,14 +146,14 @@ class mainWindow(wx.Frame):
                sizer = panel.GetSizer()
                title = wx.StaticText(panel, -1, name)
                title.SetFont(wx.Font(8, wx.FONTFAMILY_DEFAULT, wx.NORMAL, wx.FONTWEIGHT_BOLD))
-               sizer.Add(title, (sizer.GetRows(),1), (1,3), flag=wx.EXPAND)
-               sizer.Add(wx.StaticLine(panel), (sizer.GetRows()+1,1), (1,3), flag=wx.EXPAND)
+               sizer.Add(title, (sizer.GetRows(),sizer.GetCols()), (1,3), flag=wx.EXPAND)
+               sizer.Add(wx.StaticLine(panel), (sizer.GetRows()+1,sizer.GetCols()), (1,3), flag=wx.EXPAND)
                sizer.SetRows(sizer.GetRows() + 2)
        
        def AddSetting(self, panel, name, setting, help = 'Help: TODO'):
                "Add a setting to the configuration panel"
                sizer = panel.GetSizer()
-               sizer.Add(wx.StaticText(panel, -1, name), (sizer.GetRows(),1), flag=wx.ALIGN_CENTER_VERTICAL)
+               sizer.Add(wx.StaticText(panel, -1, name), (sizer.GetRows(),sizer.GetCols()), flag=wx.ALIGN_CENTER_VERTICAL)
                ctrl = None
                if setting.__class__ is settings.FloatSpin:
                        ctrl = wx.TextCtrl(panel, -1, str(setting.value))
@@ -151,9 +167,9 @@ class mainWindow(wx.Frame):
                else:
                        ctrl.setting = setting
                        self.controlList.append(ctrl)
-                       sizer.Add(ctrl, (sizer.GetRows(),2), flag=wx.ALIGN_BOTTOM|wx.EXPAND)
+                       sizer.Add(ctrl, (sizer.GetRows(),sizer.GetCols()+1), flag=wx.ALIGN_BOTTOM|wx.EXPAND)
                helpButton = wx.Button(panel, -1, "?", style=wx.BU_EXACTFIT)
-               sizer.Add(helpButton, (sizer.GetRows(),3))
+               sizer.Add(helpButton, (sizer.GetRows(),sizer.GetCols()+2))
                helpButton.SetToolTip(wx.ToolTip(help))
                sizer.SetRows(sizer.GetRows()+1)
                return ctrl
index 3df62ed10c1598e2c42f2b57871cfae39cde09da..af950d822448a56b33bc62789ac9c004bb1d4a22 100644 (file)
@@ -22,6 +22,7 @@ class previewPanel(wx.Panel):
                wx.Panel.__init__(self, parent,-1)\r
                \r
                self.SetBackgroundColour(wx.SystemSettings.GetColour(wx.SYS_COLOUR_3DDKSHADOW))\r
+               self.SetMinSize((400,300))\r
 \r
                self.glCanvas = GLCanvas(self, -1)\r
                wx.EVT_PAINT(self.glCanvas, self.OnPaint)\r
index a981292e81b26071ef4eff700e657a15d63ed835..64fe937ca3d7d57fe161e234e7ecfb1c32194f88 100644 (file)
@@ -3,8 +3,7 @@ M104 S0                (extruder heat off)
 M106                   (fan on)
 G91                    (relative positioning)
 G1 Z+10 E-5 F400       (move Z up a bit and retract filament by 5mm)
-G1 X-20 Y-20 F1500     (move X and Y over a bit)
+G28 X0 Y0              (move X/Y to min endstops, so the head is out of the way)
 M84                    (steppers off)
 G90                    (absolute positioning)
 (end of end.gcode)
-
index 0dca1c4354b2c287972d66a9ceabd730459043fb..4c30955001ed5b519e541e80e62433b6f4a28868 100644 (file)
@@ -1,5 +1,4 @@
 (start of start.txt)
-M92 E926.5 (the number of extruder steps to take in 1mm of filament)
 G21        (metric values)
 G21
 G21        (all the extra G21 commands are comments - skeinforge eats lines without a gcode)
@@ -28,4 +27,3 @@ G21
 G1 X100 Y100 F3500 (go to the middle of the platform)
 G1 Z0.0 F400   (back to Z=0 and start the print!)
 (end of start.txt)
-