Advertisement
Guest User

Untitled

a guest
Feb 8th, 2012
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.40 KB | None | 0 0
  1. #!/usr/bin/env python
  2.  
  3. import linuxcnc
  4. import os
  5. import hal
  6. import hal_glib
  7. from gladevcp.persistence import IniFile,widget_defaults,set_debug,select_widgets
  8.  
  9. class HandlerClass:
  10.  
  11. def __init__(self, halcomp,builder,useropts):
  12. self.halcomp = halcomp
  13. self.builder = builder
  14. self.useropts = useropts
  15. self.defaults = {
  16. # the following names will be saved/restored as method attributes
  17. # the save/restore mechanism is strongly typed - the variables type will be derived from the type of the
  18. # initialization value. Currently supported types are: int, float, bool, string
  19. IniFile.vars : { 'Travel_Offset' : 1.10, 'ArcOK_Timeout' : 1.20, 'Gap_Distance' : 0.150 },
  20. # Retains all HAL output widgets' state:
  21. IniFile.widgets: widget_defaults(select_widgets(self.builder.get_objects(), hal_only=True,output_only = True)),
  22. }
  23.  
  24. #self.defaults = { # these will be saved/restored as method attributes
  25. #IniFile.vars: { 'nhits' : 0, 'lifetime_ticks': 0, 'a': 1.67, 'd': True, 'c' : "a string"},
  26. # we're interested restoring state to output HAL widgets only
  27. # NB: this does NOT restore state pf plain gtk objects - set hal_only to False to do this
  28. #IniFile.widgets: widget_defaults(select_widgets(self.builder.get_objects(), hal_only=True,output_only = True)),
  29. #}
  30.  
  31.  
  32. self.ini_filename = __name__ + '.ini'
  33. print self.ini_filename
  34. self.ini = IniFile(self.ini_filename,self.defaults,self.builder)
  35. self.ini.restore_state(self)
  36.  
  37. def on_window1_destroy(self,obj,data=None):
  38. print "on_destroy() - saving state)"
  39. self.ini.save_state(self)
  40.  
  41. def on_hal_spinbutton1_realize(self,widget):
  42. widget.set_value(self.Travel_Offset)
  43.  
  44. def on_hal_spinbutton1_destroy(self,widget,data=None):
  45. self.Travel_Offset = widget.get_value()
  46.  
  47. def on_hal_spinbutton2_realize(self,widget):
  48. widget.set_value(self.ArcOK_Timeout)
  49.  
  50. def on_hal_spinbutton2_destroy(self,widget,data=None):
  51. self.ArcOK_Timeout = widget.get_value()
  52.  
  53. def on_hal_spinbutton3_realize(self,widget):
  54. widget.set_value(self.Gap_Distance)
  55.  
  56. def on_hal_spinbutton3_destroy(self,widget,data=None):
  57. self.Gap_Distance = widget.get_value()
  58.  
  59. def on_hal_led1_realize(self,widget):
  60. widget.set_blink_rate(150)
  61.  
  62. def on_hal_led7_realize(self,widget):
  63. widget.set_blink_rate(300)
  64.  
  65. def get_handlers(halcomp,builder,useropts):
  66. print "get_handlers"
  67. return [HandlerClass(halcomp,builder,useropts)]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement