Fix apply button operation

git-svn-id: svn+ssh://svn.marcochapeau.org/laditools/trunk@152 bfe161da-02ef-4cea-8c43-ae261ea21ac6
This commit is contained in:
nedko 2008-09-02 19:43:50 +00:00
parent 53e2bcf421
commit f854d4e9ee
1 changed files with 23 additions and 12 deletions

View File

@ -39,6 +39,9 @@ class parameter:
def get_value(self):
return self.proxy.get_value(self.name)
def set_value(self, value):
return self.proxy.set_value(self.name, value)
def get_short_description(self):
return self.proxy.get_short_description(self.name)
@ -58,6 +61,9 @@ class parameters_proxy:
def get_value(self, name):
pass
def set_value(self, name, value):
pass
def get_short_description(self, name):
pass
@ -71,6 +77,9 @@ class engine_parameters_proxy(parameters_proxy):
def get_value(self, name):
return jack.get_engine_param_value(name)
def set_value(self, name, value):
jack.set_engine_param_value(name, value)
def get_short_description(self, name):
return jack.get_engine_short_description(name)
@ -84,6 +93,9 @@ class driver_parameters_proxy(parameters_proxy):
def get_value(self, name):
return jack.get_driver_param_value(name)
def set_value(self, name, value):
jack.set_driver_param_value(name, value)
def get_short_description(self, name):
return jack.get_driver_short_description(name)
@ -127,16 +139,17 @@ class ladiconf (gtk.glade.XML):
mapping = widget_map[param.get_type()]
make_function = mapping[0]
container = mapping[1]
param.widget = make_function(param)
param.widget.show_all()
widget = make_function(param)
widget.show_all()
param.modified = False
container.pack_start(param.widget, False)
container.pack_start(widget, False)
def make_checkbox(self, param):
widget = gtk.CheckButton(param.get_name())
widget.set_active(param.get_value()[2])
widget.set_tooltip_text(param.get_short_description())
widget.connect("toggled", self.on_param_update, param)
param.widget = widget
return widget
def make_spinbutton(self, param):
@ -153,6 +166,7 @@ class ladiconf (gtk.glade.XML):
param_widget.pack_start(param_label)
param_widget.pack_start(widget)
widget.connect("changed", self.on_param_update, param)
param.widget = widget
return param_widget
def make_textentry(self, param):
@ -167,6 +181,7 @@ class ladiconf (gtk.glade.XML):
param_widget.pack_start(param_label)
param_widget.pack_start(widget)
widget.connect("changed", self.on_param_update, param)
param.widget = widget
return param_widget
def on_param_update(self, widget, param):
@ -178,18 +193,14 @@ class ladiconf (gtk.glade.XML):
for param in params:
if not param.modified:
continue
print param.name
continue
widget_type = type(self.engine_param_dict[changed_engine_param])
widget_type = type(param.widget)
if widget_type is gtk.CheckButton:
self.jack.set_engine_param_value (changed_engine_param, self.engine_param_dict[changed_engine_param].get_active ())
param.set_value(param.widget.get_active())
elif widget_type is gtk.SpinButton:
self.jack.set_engine_param_value (changed_engine_param, self.engine_param_dict[changed_engine_param].get_value ())
param.set_value(param.widget.get_value())
elif widget_type is gtk.Entry:
self.jack.set_engine_param_value (changed_engine_param, self.engine_param_dict[changed_engine_param].get_text ())
self.apply_button.set_sensitive (False)
self.changed_engine_params = []
self.changed_driver_params = []
param.set_value(param.widget.get_text())
self.apply_button.set_sensitive(False)
def on_quit (self, data=None):
gtk.main_quit ()