#!/usr/bin/env python
#Licence: GPLv2.0
import sys,os
from comp import *
from comp_diode import *
from comp_DeSat import *
import pygtk
if sys.platform == 'win32':
os.environ['PATH'] += ";lib;"
else:
pygtk.require('2.0')
import gtk
import gobject
assert gtk.pygtk_version >= (1,99,16), 'pygtk should be >= 1.99.16'
import gtk.glade
Var_C = [{"label_HtL":False,"label_LtH":False,"input_HtL":False,"input_LtH":False,
"input_Rfb":True,"result_Rfb":False,"label_Rfb":True,
"result_LtH":True,"result_HtL":True,"label_result_HtL":True,"label_result_LtH":True},
["result_HtL","result_LtH","result_Rfb"],
["option_hyster","option_neg"]]
Var_D = [{"label_HtL_D":False,"label_LtH_D":False,"input_HtL_D":False,"input_LtH_D":False,
"input_Rfb_D":True,"result_Rfb_D":False,"label_Rfb_D":True,
"result_LtH_D":True,"result_HtL_D":True,"label_result_HtL_D":True,"label_result_LtH_D":True},
["result_HtL_D","result_LtH_D","result_Rfb_D"]]
Var_DS = [{"label_HtL_DS":False,"label_LtH_DS":False,"input_HtL_DS":False,"input_LtH_DS":False,
"input_Rfb_DS":True,"result_Rfb_DS":False,"label_Rfb_DS":True,
"result_LtH_DS":True,"result_HtL_DS":True,"label_result_HtL_DS":True,"label_result_LtH_DS":True},
["result_HtL_DS","result_LtH_S","result_Rfb_DS"],
["option_hyster","option_neg"]]
class appgui:
def __init__(self):
gladefile="GUI.glade"
windowname="TESTING"
self.ref = False
self.calc = True
self.CC = comp()
self.Var = Var_C
self.wTree=gtk.glade.XML (gladefile,windowname)
dic = {"on_quit_button_clicked" : self.quit_clicked,
"on_change_current_page" : self.selection_change,
"on_option_hyster_group_changed" : self.calc_change,
"on_option_ref_changed" : self.ref_changed,
"on_changed" : self.var_changed,
"on_window_destroy" : (gtk.main_quit)}
self.wTree.signal_autoconnect (dic)
return
#####CALLLBACKS
def quit_clicked(self,widget):
gtk.main_quit()
return
def selection_change(self, widget,gpointer, guint):
#if text = "Comparator-Diode" : CC = comp_diode()
#elif text == "Comparator-DeSat": CC = comp_desat()
#else : CC = comp()
#self.RES,self.VOLTS = self.CC.pack_variables(self)
#disp_results(self)
if guint == 1:
self.Var = Var_D
self.CC = comp_diode()
elif guint == 2: self.Var = Var_DS
else:
self.Var = Var_C
self.CC = comp()
self.ref = False
self.calc = True
#self.RES,self.VOLTS = self.CC.pack_variables(self)
#disp_results(self)
return
def calc_change(self,widget):
self.calc = not(widget.get_active())
print self.calc
if self.calc:
for x in self.Var[0].keys():self.wTree.get_widget(x).set_property('visible', self.Var[0][x])
else:
for x in self.Var[0].keys():self.wTree.get_widget(x).set_property('visible', not(self.Var[0][x]))
#self.RES,self.VOLTS = self.CC.pack_variables(self)
#disp_results(self)
return
def ref_changed(self,widget):
self.ref = not(widget.get_active())
#self.RES,self.VOLTS = self.CC.pack_variables(self)
#disp_results(self)
return
def var_changed(self,widget):
#self.RES,self.VOLTS = self.CC.pack_variables(self)
#disp_results(self)
return
if __name__ == '__main__':
app=appgui()
gtk.main()