예제 #1
0
    def __init__(self, main_window):

        super(backend_settings, self).__init__(main_window,
                                               ui=u'widgets.backend_settings')
        self.tab_name = u'__backend_settings__'

        for backend_type in backend._backend_types:
            try:
                _backend = backend.get_backend_class(self.experiment,
                                                     backend_type)
            except:
                _backend = None

            layout = getattr(self.ui, u'layout_%s' % backend_type)
            label = getattr(self.ui, u'label_%s' % backend_type)
            # Horribly ugly way to clear the previous settings
            while layout.count() > 1:
                w = layout.itemAt(1)
                layout.removeItem(w)
                w.widget().hide()
                sip.delete(w)
            if _backend is None:
                label.setText(_(u"Failed to load backend"))
            elif not hasattr(_backend, u"settings") or _backend.settings == \
             None:
                label.setText(_(u"No settings for %s") % _backend.__name__)
            else:
                label.setText(_(u"Settings for %s:") % _backend.__name__)
                layout.addWidget(
                    settings_widget(self.main_window, _backend.settings))
예제 #2
0
	def __init__(self, main_window):

		super(backend_settings, self).__init__(main_window,
			ui=u'widgets.backend_settings')
		self.tab_name = u'__backend_settings__'

		for backend_type in backend._backend_types:
			try:
				_backend = backend.get_backend_class(self.experiment,
					backend_type)
			except:
				_backend = None
				
			layout = getattr(self.ui, u'layout_%s' % backend_type)
			label = getattr(self.ui, u'label_%s' % backend_type)
			# Horribly ugly way to clear the previous settings
			while layout.count() > 1:
				w = layout.itemAt(1)
				layout.removeItem(w)
				w.widget().hide()
				sip.delete(w)
			if _backend is None:
				label.setText(_(u"Failed to load backend"))				
			elif not hasattr(_backend, u"settings") or _backend.settings == \
				None:
				label.setText(_(u"No settings for %s") % _backend.__name__)
			else:
				label.setText(_(u"Settings for %s:") % _backend.__name__)
				layout.addWidget(settings_widget(self.main_window,
					_backend.settings))
예제 #3
0
def close_display(experiment):
    """
	desc:
		Calls the back-end specific close_display function.

	arguments:
		experiment:		The experiment object.
		type:			experiment
	"""

    cls = backend.get_backend_class(experiment, u'canvas')
    cls.close_display(experiment)
예제 #4
0
def close_sound(experiment):
    """
	desc:
		Calls the back-end specific close_sound function.

	arguments:
		experiment:		The experiment object.
		type:			experiment
	"""

    cls = backend.get_backend_class(experiment, u'sampler')
    cls.close_sound(experiment)
예제 #5
0
def close_sound(experiment):

	"""
	desc:
		Calls the back-end specific close_sound function.

	arguments:
		experiment:		The experiment object.
		type:			experiment
	"""

	cls = backend.get_backend_class(experiment, u'sampler')
	cls.close_sound(experiment)
예제 #6
0
def close_display(experiment):

    """
	desc:
		Calls the back-end specific close_display function.

	arguments:
		experiment:		The experiment object.
		type:			experiment
	"""

    cls = backend.get_backend_class(experiment, u"canvas")
    cls.close_display(experiment)
예제 #7
0
def Clock(experiment, *arglist, **kwdict):
    """
	desc:
		A factory that returns a back-end specific clock object.

	arguments:
		experiment:
			desc:	The experiment object.
			type:	experiment

	argument-list:
		arglist:	See clock.__init__().

	keyword-dict:
		kwdict:		See clock.__init__().
	"""

    cls = backend.get_backend_class(experiment, u'clock')
    return cls(experiment, *arglist, **kwdict)
예제 #8
0
def keyboard(experiment, *arglist, **kwdict):

	"""
	desc:
		A factory that returns a back-end specific keyboard object.

	arguments:
		experiment:
			desc:	The experiment object.
			type:	experiment

	argument-list:
		arglist:	See keyboard.__init__().

	keyword-dict:
		kwdict:		See keyboard.__init__().
	"""

	cls = backend.get_backend_class(experiment, u'keyboard')
	return cls(experiment, *arglist, **kwdict)
예제 #9
0
def log(experiment, *arglist, **kwdict):

    """
	desc:
		A factory that returns a back-end specific log object.

	arguments:
		experiment:
			desc:	The experiment object.
			type:	experiment

	argument-list:
		arglist:	See clock.__init__().

	keyword-dict:
		kwdict:		See clock.__init__().
	"""

    cls = backend.get_backend_class(experiment, u"log")
    return cls(experiment, *arglist, **kwdict)