コード例 #1
0
ファイル: applet.py プロジェクト: gbaty/openalea
    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))
コード例 #2
0
ファイル: manager.py プロジェクト: pomme-abricot/core
    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
コード例 #3
0
        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])
コード例 #4
0
ファイル: test_new_layout.py プロジェクト: gbaty/openalea
    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])