Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/kliment/Printrun.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGuillaume Seguin <guillaume@segu.in>2013-06-04 12:02:32 +0400
committerGuillaume Seguin <guillaume@segu.in>2013-06-04 12:02:32 +0400
commit5279dbe4d4408db62e09e49e698889f84f9fcd84 (patch)
tree5f450a9b6316a50b61808632b97579784c8f44fe /pronsole.py
parent3930fe4b5df32a62afea18ab0403b9e46529968b (diff)
parent3946378ca0ad1e52a8df336d007301754f467f03 (diff)
Merge branch 'experimental' of github.com:kliment/Printrun into experimental
Diffstat (limited to 'pronsole.py')
-rwxr-xr-xpronsole.py66
1 files changed, 54 insertions, 12 deletions
diff --git a/pronsole.py b/pronsole.py
index e349acf..df2e1bb 100755
--- a/pronsole.py
+++ b/pronsole.py
@@ -60,8 +60,22 @@ def setting_add_tooltip(func):
@wraps(func)
def decorator(self, *args, **kwargs):
widget = func(self, *args, **kwargs)
- if self.help:
- widget.SetToolTipString(self.help)
+ helptxt = self.help or ""
+ sep,deftxt = "",""
+ if len(helptxt):
+ sep = "\n"
+ if helptxt.find("\n") >= 0:
+ sep = "\n\n"
+ if self.default is not "":
+ deftxt = _("Default: ")
+ resethelp = _("(Control-doubleclick to reset to default value)")
+ if len(repr(self.default)) > 10:
+ deftxt += "\n " + repr(self.default).strip("'") + "\n" + resethelp
+ else:
+ deftxt += repr(self.default) + " " + resethelp
+ helptxt += sep + deftxt
+ if len(helptxt):
+ widget.SetToolTipString(helptxt)
return widget
return decorator
@@ -85,10 +99,18 @@ class Setting(object):
raise NotImplementedError
value = property(_get_value, _set_value)
+ def set_default(self, e):
+ import wx
+ if e.CmdDown() and e.ButtonDClick() and self.default is not "":
+ confirmation = wx.MessageDialog(None,_("Are you sure you want to reset the setting to the default value: {0!r} ?").format(self.default),_("Confirm set default"),wx.ICON_EXCLAMATION|wx.YES_NO|wx.NO_DEFAULT)
+ if confirmation.ShowModal() == wx.ID_YES:
+ self._set_value(self.default)
+
@setting_add_tooltip
def get_label(self, parent):
import wx
widget = wx.StaticText(parent, -1, self.label or self.name)
+ widget.set_default = self.set_default
return widget
@setting_add_tooltip
@@ -178,6 +200,9 @@ class BooleanSetting(wxSetting):
return bool(self._value)
def _set_value(self, value):
self._value = value
+ if self.widget:
+ self.widget.SetValue(bool(value))
+
value = property(_get_value, _set_value)
def get_specific_widget(self, parent):
@@ -186,6 +211,23 @@ class BooleanSetting(wxSetting):
self.widget.SetValue(bool(self.value))
return self.widget
+class StaticTextSetting(wxSetting):
+
+ def __init__(self, name, label = " ", text = "", help = None, group = None):
+ super(StaticTextSetting, self).__init__(name, "", label, help, group)
+ self.text = text
+
+ def update(self):
+ pass
+ def _get_value(self):
+ return ""
+ def _set_value(self, value):
+ pass
+ def get_specific_widget(self, parent):
+ import wx
+ self.widget = wx.StaticText(parent, -1, self.text)
+ return self.widget
+
class Settings(object):
#def _temperature_alias(self): return {"pla":210, "abs":230, "off":0}
#def _temperature_validate(self, v):
@@ -196,16 +238,16 @@ class Settings(object):
# defaults here.
# the initial value determines the type
self._add(StringSetting("port", "", _("Serial port"), _("Port used to communicate with printer")))
- self._add(ComboSetting("baudrate", 115200, self._baudrate_list(), _("Baud rate"), _("Communications Speed (default: 115200)")))
- self._add(SpinSetting("bedtemp_abs", 110, 0, 400, _("Bed temperature for ABS"), _("Heated Build Platform temp for ABS (default: 110 deg C)"), "Printer"))
- self._add(SpinSetting("bedtemp_pla", 60, 0, 400, _("Bed temperature for PLA"), _("Heated Build Platform temp for PLA (default: 60 deg C)"), "Printer"))
- self._add(SpinSetting("temperature_abs", 230, 0, 400, _("Extruder temperature for ABS"), _("Extruder temp for ABS (default: 230 deg C)"), "Printer"))
- self._add(SpinSetting("temperature_pla", 185, 0, 400, _("Extruder temperature for PLA"), _("Extruder temp for PLA (default: 185 deg C)"), "Printer"))
- self._add(SpinSetting("xy_feedrate", 3000, 0, 50000, _("X && Y manual feedrate"), _("Feedrate for Control Panel Moves in X and Y (default: 3000mm/min)"), "Printer"))
- self._add(SpinSetting("z_feedrate", 200, 0, 50000, _("Z manual feedrate"), _("Feedrate for Control Panel Moves in Z (default: 200mm/min)"), "Printer"))
- self._add(SpinSetting("e_feedrate", 100, 0, 1000, _("E manual feedrate"), _("Feedrate for Control Panel Moves in Extrusions (default: 300mm/min)"), "Printer"))
- self._add(StringSetting("slicecommand", "python skeinforge/skeinforge_application/skeinforge_utilities/skeinforge_craft.py $s", _("Slice command"), _("Slice command\n default:\n python skeinforge/skeinforge_application/skeinforge_utilities/skeinforge_craft.py $s)"), "External"))
- self._add(StringSetting("sliceoptscommand", "python skeinforge/skeinforge_application/skeinforge.py", _("Slicer options command"), _("Slice settings command\n default:\n python skeinforge/skeinforge_application/skeinforge.py"), "External"))
+ self._add(ComboSetting("baudrate", 115200, self._baudrate_list(), _("Baud rate"), _("Communications Speed")))
+ self._add(SpinSetting("bedtemp_abs", 110, 0, 400, _("Bed temperature for ABS"), _("Heated Build Platform temp for ABS (deg C)"), "Printer"))
+ self._add(SpinSetting("bedtemp_pla", 60, 0, 400, _("Bed temperature for PLA"), _("Heated Build Platform temp for PLA (deg C)"), "Printer"))
+ self._add(SpinSetting("temperature_abs", 230, 0, 400, _("Extruder temperature for ABS"), _("Extruder temp for ABS (deg C)"), "Printer"))
+ self._add(SpinSetting("temperature_pla", 185, 0, 400, _("Extruder temperature for PLA"), _("Extruder temp for PLA (deg C)"), "Printer"))
+ self._add(SpinSetting("xy_feedrate", 3000, 0, 50000, _("X && Y manual feedrate"), _("Feedrate for Control Panel Moves in X and Y (mm/min)"), "Printer"))
+ self._add(SpinSetting("z_feedrate", 200, 0, 50000, _("Z manual feedrate"), _("Feedrate for Control Panel Moves in Z (mm/min)"), "Printer"))
+ self._add(SpinSetting("e_feedrate", 100, 0, 1000, _("E manual feedrate"), _("Feedrate for Control Panel Moves in Extrusions (mm/min)"), "Printer"))
+ self._add(StringSetting("slicecommand", "python skeinforge/skeinforge_application/skeinforge_utilities/skeinforge_craft.py $s", _("Slice command"), _("Slice command"), "External"))
+ self._add(StringSetting("sliceoptscommand", "python skeinforge/skeinforge_application/skeinforge.py", _("Slicer options command"), _("Slice settings command"), "External"))
self._add(StringSetting("final_command", "", _("Final command"), _("Executable to run when the print is finished"), "External"))
self._add(HiddenSetting("project_offset_x", 0.0))