def __init__(self, layout=None, **kwds): """ tests: list of function runnable in shell (name changed to run_<funcname>) layout_file """ OALabMainWin.__init__(self, layout=layout, **kwds) self.interp = interpreter() self.interp.user_ns['mainwin'] = self self.interp.user_ns['splittable'] = self.splittable self.interp.user_ns['debug'] = self.debug self.interp.user_ns['QtCore'] = QtCore self.interp.user_ns['QtGui'] = QtGui def applet(name): return plugin_instance('oalab.applet', name) def applets(name): return plugin_instances('oalab.applet', name) self.interp.user_ns['applet'] = applet self.interp.user_ns['applets'] = applets print 'VARIABLES AVAILABLE IN SHELL ...' print '\nAPPLICATION:' print ' - mainwin' print ' - splittable' print ' - QtCore' print ' - QtGui' print '\nAPPLETS:' for plugin in plugins('oalab.applet'): if plugin_instance_exists('oalab.applet', plugin.name): varname = camel_case_to_lower(plugin.name) self.interp.user_ns['plugin_%s' % varname] = plugin self.interp.user_ns[varname] = plugin_instance('oalab.applet', plugin.name) print ' -', varname print '\nFUNCTIONS:' for f in kwds.pop('tests', []): self.interp.user_ns['run_%s' % f.__name__] = f f.func_globals['ns'] = self.interp.user_ns print ' - run_%s' % f.__name__ self.resize(QtCore.QSize(800, 600))
def generate_item_name(cls, item): try: name = item.name except AttributeError: try: name = item.__class__.__name__ except AttributeError: name = str(item.__class__) if hasattr(item, 'name_conversion'): if item.name_conversion == PluginDef.UNCHANGED: return name elif item.name_conversion == PluginDef.DROP_PLUGIN: return drop_plugin(name) else: return camel_case_to_lower(drop_plugin(name)) else: return name
return [self.menu_edit, self.action_menu_1] def initialize(self): print "initialize", self class TestAppletPlugin(object): name = 'TestApplet' label = 'Test Applet' def __call__(self): return TestApplet from openalea.core.service.plugin import register_plugin, plugins from openalea.core.util import camel_case_to_lower register_plugin(TestAppletPlugin, 'oalab.applet') if __name__ == '__main__': SAMPLE_WIDGET = 'FileBrowser' sample_widget = camel_case_to_lower(SAMPLE_WIDGET) def hello_world(): print 'Hello OpenAleaLab world' def change_applet(applet_name='TestApplet'): widget = ns[sample_widget] widget.parent_tab.set_applet(applet_name) test_applet(SAMPLE_WIDGET, tests=[hello_world, change_applet])
def initialize(self): print "initialize", self class TestAppletPlugin(object): name = "TestApplet" label = "Test Applet" def __call__(self): return TestApplet from openalea.core.service.plugin import register_plugin, plugins from openalea.core.util import camel_case_to_lower register_plugin(TestAppletPlugin, "oalab.applet") if __name__ == "__main__": SAMPLE_WIDGET = "FileBrowser" sample_widget = camel_case_to_lower(SAMPLE_WIDGET) def hello_world(): print "Hello OpenAleaLab world" def change_applet(applet_name="TestApplet"): widget = ns[sample_widget] widget.parent_tab.set_applet(applet_name) test_applet(SAMPLE_WIDGET, tests=[hello_world, change_applet])