Ejemplo n.º 1
0
    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

        from openalea.core.service.plugin import plugin_instance, plugin_instances

        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

        for f in kwds.pop('tests', []):
            self.interp.user_ns['run_%s' % f.__name__] = f
Ejemplo n.º 2
0
def main():
    import sys
    from openalea.oalab.shell import get_shell_class
    from openalea.core.service.ipython import interpreter
    from openalea.oalab.editor.highlight import Highlighter
    app = QtGui.QApplication(sys.argv)

    edit = TextEditor()
    Highlighter(edit)
    interp = interpreter()
    shell = get_shell_class()(interp)

    win = QtGui.QMainWindow()
    win.setCentralWidget(edit)

    dock_widget = QtGui.QDockWidget("IPython", win)
    interp.locals['mainwindow'] = win
    interp.locals['editor'] = edit
    interp.locals['shell'] = shell
    interp.locals['interpreter'] = interp

    dock_widget.setWidget(shell)
    win.addDockWidget(QtCore.Qt.BottomDockWidgetArea, dock_widget)

    win.show()
    win.raise_()
    app.exec_()
Ejemplo n.º 3
0
    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

        from openalea.core.service.plugin import plugin_instance, plugin_instances

        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 'functions:'
        for f in kwds.pop('tests', []):
            self.interp.user_ns['run_%s' % f.__name__] = f
            print 'run_%s' % f.__name__

        self.resize(QtCore.QSize(800, 600))
Ejemplo n.º 4
0
    def instantiate_widget(self):
        self._widget = dataflowview.GraphicalGraph.create_view(self.model._workflow, clone=True)
        self._clipboard = CompositeNodeFactory("Clipboard")

        from openalea.core.service.ipython import interpreter
        interp = interpreter()

        GraphOperator.globalInterpreter = interp
        self._operator = GraphOperator(graph=self.model._workflow,
                                       graphScene=self._widget.scene(),
                                       clipboard=self._clipboard,
                                       )
        self._widget.mainMenu = types.MethodType(mainMenu, self._widget)
        self._widget.applet = self
        self._widget._actions = None

        methods = {}
        methods['actions'] = actions
        methods['mainMenu'] = mainMenu
        methods['display_help'] = _display_help

        self._widget = adapt_widget(self._widget, methods)

        if not VIEWER3D_SET:
            _set_viewer3d()

        # todo: use services
        self.widget().scene().focusedItemChanged.connect(self.item_focus_change)

        return self.widget()
Ejemplo n.º 5
0
def main():
    import sys
    from openalea.oalab.shell import get_shell_class
    from openalea.core.service.ipython import interpreter
    from openalea.oalab.editor.highlight import Highlighter
    app = QtGui.QApplication(sys.argv)

    edit = TextEditor()
    Highlighter(edit)
    interp = interpreter()
    shell = get_shell_class()(interp)

    win = QtGui.QMainWindow()
    win.setCentralWidget(edit)

    dock_widget = QtGui.QDockWidget("IPython", win)
    interp.locals['mainwindow'] = win
    interp.locals['editor'] = edit
    interp.locals['shell'] = shell
    interp.locals['interpreter'] = interp

    dock_widget.setWidget(shell)
    win.addDockWidget(QtCore.Qt.BottomDockWidgetArea, dock_widget)

    win.show()
    win.raise_()
    app.exec_()
Ejemplo n.º 6
0
    def initialize(self):
        from openalea.core.world.world import World
        from openalea.core.service.ipython import interpreter

        world = World()
        world.update_namespace(interpreter())
        self.set_world(world)
Ejemplo n.º 7
0
 def namespace(self, **kwargs):
     from openalea.core.service.ipython import interpreter
     project_ns = ParadigmController.namespace(self, **kwargs)
     interp = interpreter()
     shell_ns = interp.user_ns
     ns = {}
     ns.update(shell_ns)
     ns.update(project_ns)
     return ns
Ejemplo n.º 8
0
    def __init__(self, interpreter=None, message="", log="", parent=None):
        """
        :param interpreter : InteractiveInterpreter in which
        the code will be executed

        :param message: welcome message string

        :param  parent: specifies the parent widget.
        If no parent widget has been specified, it is possible to
        exit the interpreter by Ctrl-D.
        """
        if interpreter is None:
            from openalea.core.service.ipython import interpreter

            interpreter = interpreter()
        # Set interpreter
        self.interpreter = interpreter
        self.interpreter.widget = self

        # Multiple Stream Redirection
        GraphicalStreamRedirection.__init__(self)

        # Compatibility with visualea
        self.runsource = self.interpreter.run_cell
        self.runcode = self.interpreter.runcode
        self.loadcode = self.interpreter.loadcode

        # Write welcome message
        self.write(message)

        # Set kernel manager
        try:
            from IPython.qt.inprocess import QtInProcessKernelManager
        except ImportError:
            import warnings

            message = "You are using a deprecated version of IPython (please update)."
            warnings.warn(message)

            # DEPRECATED !
            from IPython.frontend.qt.inprocess_kernelmanager import QtInProcessKernelManager

            km = QtInProcessKernelManager(kernel=self.interpreter)
            km.start_channels()
            self.interpreter.frontends.append(km)
            self.kernel_manager = km
        else:
            km = QtInProcessKernelManager()
            km.kernel = self.interpreter
            km.kernel.gui = "qt4"

            kernel_client = km.client()
            kernel_client.start_channels()

            self.kernel_manager = km
            self.kernel_client = kernel_client
Ejemplo n.º 9
0
    def __init__(self, session, parent=None, args=None):
        super(QtGui.QMainWindow, self).__init__()
        self.session = session
        interp = interpreter()
        interp.locals['mainwindow'] = self

        self.areas = {}
        for area_name in ('inputs', 'outputs', 'shell'):
            self.areas[area_name] = QtGui.QTabWidget()

        self.dockWidget("Inputs", self.areas['inputs'], name="Inputs",
                        position=QtCore.Qt.LeftDockWidgetArea)
        self.dockWidget("Outputs", self.areas['outputs'], name="Outputs",
                        position=QtCore.Qt.RightDockWidgetArea)
        self.dockWidget("Shell", self.areas['shell'], name="Shell, log and history",
                        position=QtCore.Qt.BottomDockWidgetArea)

        self.split = QtGui.QSplitter()
        self.setCentralWidget(self.split)

        menu_names = ('Project', 'Edit', 'Viewer', 'Help')

        # Classic menu
        self.menu_classic = {}
        menubar = QtGui.QMenuBar()

        for menu_name in menu_names:
            self.menu_classic[menu_name] = menubar.addMenu(menu_name)

        self.setMenuBar(menubar)

        # PanedMenu
        self.menu_paned = {}
        self.menu = PanedMenu()

        # Organize order of tabs
        for menu_name in menu_names:
            self.menu_paned[menu_name] = self.menu.addSpecialTab(menu_name)

        dock_menu = self.dockWidget("Menu", self.menu, position=QtCore.Qt.TopDockWidgetArea)
        dock_menu.setFeatures(QtGui.QDockWidget.NoDockWidgetFeatures)
        dock_menu.setContentsMargins(0, 0, 0, 0)
        widget = QtGui.QLabel()
        dock_menu.setTitleBarWidget(widget)

        size_policy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Maximum)
        dock_menu.setSizePolicy(size_policy)

        # Shell
        self.shell = get_shell_class()(interp)
        interp.locals['shell'] = self.shell
        self.add_applet(self.shell, 'Shell', area='shell')

        self.applets = self._plugins = {}
Ejemplo n.º 10
0
 def _push_applet_to_shell(self):
     interp = interpreter()
     interp.user_ns['debug_dict'] = dict(
         container=self,
         c_applets=self._applets,
         c_tabwidget=self._tabwidget,
         frame=self._tabwidget.currentWidget(),
         applet_dict=self._tabwidget._applets,
         applet=self._tabwidget._applets[self._tabwidget.currentIndex()]
     )
     for k, v in interp.user_ns['debug_dict'].items():
         interp.user_ns['debug_%s' % k] = v
Ejemplo n.º 11
0
    def __init__(self, interpreter=None, message="", log='', parent=None):
        """
        :param interpreter : InteractiveInterpreter in which
        the code will be executed

        :param message: welcome message string

        :param  parent: specifies the parent widget.
        If no parent widget has been specified, it is possible to
        exit the interpreter by Ctrl-D.
        """
        if interpreter is None:
            from openalea.core.service.ipython import interpreter
            interpreter = interpreter()
        # Set interpreter
        self.interpreter = interpreter
        self.interpreter.widget = self

        # Multiple Stream Redirection
        GraphicalStreamRedirection.__init__(self)

        # Compatibility with visualea
        self.runsource = self.interpreter.run_cell
        self.runcode = self.interpreter.runcode
        self.loadcode = self.interpreter.loadcode

        # Write welcome message
        self.write(message)

        # Set kernel manager
        try:
            from IPython.qt.inprocess import QtInProcessKernelManager
        except ImportError:
            import warnings
            message = "You are using a deprecated version of IPython (please update)."
            warnings.warn(message)

            # DEPRECATED !
            from IPython.frontend.qt.inprocess_kernelmanager import QtInProcessKernelManager
            km = QtInProcessKernelManager(kernel=self.interpreter)
            km.start_channels()
            self.interpreter.frontends.append(km)
            self.kernel_manager = km
        else:
            km = QtInProcessKernelManager()
            km.kernel = self.interpreter
            km.kernel.gui = 'qt4'

            kernel_client = km.client()
            kernel_client.start_channels()

            self.kernel_manager = km
            self.kernel_client = kernel_client
Ejemplo n.º 12
0
 def _push_applet_to_shell(self):
     interp = interpreter()
     interp.user_ns['debug_dict'] = dict(
         container=self,
         c_applets=self._applets,
         c_tabwidget=self._tabwidget,
         frame=self._tabwidget.currentWidget(),
         applet_dict=self._tabwidget._applets,
         applet=self._tabwidget._applets[self._tabwidget.currentIndex()]
     )
     for k, v in interp.user_ns['debug_dict'].items():
         interp.user_ns['debug_%s' % k] = v
Ejemplo n.º 13
0
    def __init__(self, interpreter=None, message="", log='', parent=None):
        """
        :param interpreter : InteractiveInterpreter in which
        the code will be executed

        :param message: welcome message string

        :param  parent: specifies the parent widget.
        If no parent widget has been specified, it is possible to
        exit the interpreter by Ctrl-D.
        """
        RichJupyterWidget.__init__(self, parent)

        if interpreter is None:
            from openalea.core.service.ipython import interpreter
            interpreter = interpreter()
        # Set interpreter
        self.interpreter = interpreter

        # Set kernel manager
        km = QtInProcessKernelManager()
        km.start_kernel(show_banner=False)
        self.kernel_manager = km

        #km.kernel = self.interpreter
        #km.kernel.gui = 'qt4'

        self.kernel = self.kernel_manager.kernel
        self.kernel.gui = 'qt'
        #self.interpreter = self.kernel

        self.shell = self.kernel.shell

        self.kernel_client = self.kernel_manager.client()
        self.kernel_client.start_channels()

        self.kernel.locals = self.kernel.shell.user_ns

        # For Debug Only
        # self.interpreter.locals['shell'] = self

        # Compatibility with visualea
        self.runsource = self.interpreter.run_cell
        self.runcode = self.interpreter.runcode
        self.loadcode = self.interpreter.loadcode

        # Write welcome message
        self.interpreter.widget = self
        #self.write(message)
        # Multiple Stream Redirection
        GraphicalStreamRedirection.__init__(self, self.kernel.stdout,
                                            self.kernel.stderr)
Ejemplo n.º 14
0
    def __init__(self):
        import traceback
        traceback.print_stack(file=sys.__stdout__)

        self._project = None
        self._is_proj = False
        self._debug = False
        self.gui = True

        self.tmpdir = path(get_openalea_tmp_dir())

        self._config = MainConfig()
        self.extension = None

        self.applet = {}
        self.manager = {}

        self.package_manager = package_manager
        self.control_manager = ControlManager()
        self.project_manager = ProjectManager()
        self.plugin_manager = PluginManager()
        self.plugin_instance_manager = PluginInstanceManager()

        self.manager['control'] = self.control_manager
        self.manager['package'] = self.package_manager
        self.manager['project'] = self.project_manager
        self.manager['plugin'] = self.plugin_manager
        self.manager['plugin_instance'] = self.plugin_instance_manager

        self.world = World()

        self.interpreter = interpreter()

        # Hack if interpreter is an object from class TerminalInteractiveShell
        if not hasattr(self.interpreter, "shell"):
            self.interpreter.shell = self.interpreter
        if hasattr(self.interpreter.shell, "events"):
            self.interpreter.shell.events.register("post_execute",
                                                   self.add_to_history)
        else:
            print("You need ipython >= 2.0 to use history.")

#         self.project_manager.set_shell(self.interpreter.shell)

        self.interpreter.locals['session'] = self

        self.old_syspath = sys.path

        self.load_default()

        self.__class__.instantiated = True
Ejemplo n.º 15
0
    def __init__(self):
        import traceback
        traceback.print_stack(file=sys.__stdout__)

        self._project = None
        self._is_proj = False
        self._debug = False
        self.gui = True

        self.tmpdir = path(get_openalea_tmp_dir())

        self._config = MainConfig()
        self.extension = None

        self.applet = {}
        self.manager = {}

        self.package_manager = package_manager
        self.control_manager = ControlManager()
        self.project_manager = ProjectManager()
        self.plugin_manager = PluginManager()
        self.plugin_instance_manager = PluginInstanceManager()

        self.manager['control'] = self.control_manager
        self.manager['package'] = self.package_manager
        self.manager['project'] = self.project_manager
        self.manager['plugin'] = self.plugin_manager
        self.manager['plugin_instance'] = self.plugin_instance_manager

        self.world = World()

        self.interpreter = interpreter()

        # Hack if interpreter is an object from class TerminalInteractiveShell
        if not hasattr(self.interpreter, "shell"):
            self.interpreter.shell = self.interpreter
        if hasattr(self.interpreter.shell, "events"):
            self.interpreter.shell.events.register("post_execute", self.add_to_history)
        else:
            print("You need ipython >= 2.0 to use history.")

#         self.project_manager.set_shell(self.interpreter.shell)

        self.interpreter.locals['session'] = self

        self.old_syspath = sys.path

        self.load_default()

        self.__class__.instantiated = True
Ejemplo n.º 16
0
    def initialize(self):
        from openalea.core.world.world import World
        from openalea.core.service.ipython import interpreter
        world = World()
        world.update_namespace(interpreter())
        self.set_world(world)

        set_default_control(self._controls,'img_filename')
        set_default_control(self._controls,'cell_vertex_filename')
        # set_default_control(self._controls,'triangulation_filename')

        set_default_control(self._controls,'initialize')

        self._fill_manager()

        self._set_manager(self._manager)
Ejemplo n.º 17
0
    def initialize(self):
        from openalea.core.world.world import World
        from openalea.core.service.ipython import interpreter
        world = World()
        world.update_namespace(interpreter())
        self.set_world(world)

        set_default_control(self._controls, 'img_filename')
        set_default_control(self._controls, 'cell_vertex_filename')
        # set_default_control(self._controls,'triangulation_filename')

        set_default_control(self._controls, 'initialize')

        self._fill_manager()

        self._set_manager(self._manager)
Ejemplo n.º 18
0
    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))
Ejemplo n.º 19
0
    def __init__(self, name=None, **kwds):
        from openalea.core.service.ipython import interpreter
        self.interp = interpreter()

        self.inputs_info = []
        self.outputs_info = []

        self.name = name

        self._ns = {}
        self._code = {}
        self._initial_code = ''

        self.outputs = []
        code = kwds.pop('code', None)
        if code:
            self.set_code(code)
Ejemplo n.º 20
0
    def __init__(self, name=None, **kwds):
        from openalea.core.service.ipython import interpreter
        self.interp = interpreter()

        self.inputs_info = []
        self.outputs_info = []

        self.name = name

        self._ns = {}
        self._code = {}
        self._initial_code = ''

        self.outputs = []
        code = kwds.pop('code', None)
        if code:
            self.set_code(code)
Ejemplo n.º 21
0
    def __init__(self, items=None, item_proxy=None, autoload=['entry_points']):
        # GenericManager
        GenericManager.__init__(self, items, item_proxy, autoload)
        self.default_group = "local"

        # ProjectManager
        self.tmpdir = Path(get_openalea_tmp_dir())
        self._cproject = None
        self._cwd = Path('.').abspath()
        self.old_syspath = sys.path

        self.cm = ControlManager()

        self.repositories = self.search_path()
        self.previous_project = "temp"

        self.shell = interpreter()
        self.cproject = None
Ejemplo n.º 22
0
    def __init__(self):
        Observed.__init__(self)
        AbstractListener.__init__(self)

        self.tmpdir = Path(get_openalea_tmp_dir())
        self._cproject = None
        self._cwd = Path('.').abspath()
        self.old_syspath = sys.path

        self.cm = ControlManager()

        self.projects = []
        self.repositories = self.search_path()
        self.previous_project = "temp"

        self.shell = interpreter()
        # TODO Search in preference file if user has path to append in self.repositories
        self.cproject = self.default()
Ejemplo n.º 23
0
def main():
    from openalea.vpltk.qt import QtGui
    import sys

    app = QtGui.QApplication(sys.argv)

    from openalea.core.service.ipython import interpreter
    interpreter = interpreter()

    interpreter.user_ns['interp'] = interpreter
    # Set Shell Widget
    shellwdgt = ShellWidget(interpreter)
    interpreter.user_ns['shell'] = shellwdgt

    mainWindow = QtGui.QMainWindow()
    mainWindow.setCentralWidget(shellwdgt)
    mainWindow.show()

    app.exec_()
Ejemplo n.º 24
0
def test_clean_ns():
    from openalea.core.model import PythonModel
    from openalea.core.service.ipython import interpreter
    interp = interpreter()
    interp.user_ns['ipython_ns'] = 1

    model = PythonModel(name='clean')
    model.outputs_info = [OutputObj('ns')]
    model.inputs_info = [InputObj('a=0'), InputObj('b')]
    model.set_step_code('local_to_model=1\nns = dir()')

    initial_ns = dict(initial_ns=1)
    model_local_ns = model(namespace=initial_ns, b=1)
    model_varname = ['a', 'b', 'local_to_model']
    for varname in model_varname:
        assert varname in model_local_ns
    for varname in model_varname:
        assert varname not in interp.user_ns
    assert 'ipython_ns' in interp.user_ns
Ejemplo n.º 25
0
def test_clean_ns():
    from openalea.core.model import PythonModel
    from openalea.core.service.ipython import interpreter
    interp = interpreter()
    interp.user_ns['ipython_ns'] = 1

    model = PythonModel(name='clean')
    model.outputs_info = [OutputObj('ns')]
    model.inputs_info = [InputObj('a=0'), InputObj('b')]
    model.set_step_code('local_to_model=1\nns = dir()')

    initial_ns = dict(initial_ns=1)
    model_local_ns = model(namespace=initial_ns, b=1)
    model_varname = ['a', 'b', 'local_to_model']
    for varname in model_varname:
        assert varname in model_local_ns
    for varname in model_varname:
        assert varname not in interp.user_ns
    assert 'ipython_ns' in interp.user_ns
Ejemplo n.º 26
0
def main():
    from openalea.vpltk.qt import QtGui
    import sys

    app = QtGui.QApplication(sys.argv)

    from openalea.core.service.ipython import interpreter
    interpreter = interpreter()

    interpreter.user_ns['interp'] = interpreter
    # Set Shell Widget
    shellwdgt = ShellWidget(interpreter=interpreter)
    interpreter.user_ns['shell'] = shellwdgt

    mainWindow = QtGui.QMainWindow()
    mainWindow.setCentralWidget(shellwdgt)
    mainWindow.show()

    app.exec_()
Ejemplo n.º 27
0
def main():
    import sys
    from openalea.vpltk.qt import QtGui
    from openalea.core.service.ipython import interpreter
    from openalea.oalab.shell import ShellWidget

    # Create Window with IPython shell
    app = QtGui.QApplication(sys.argv)
    interp = interpreter()
    shellwdgt = ShellWidget(interp)
    mainWindow = QtGui.QMainWindow()
    mainWindow.setCentralWidget(shellwdgt)
    mainWindow.show()

    # Create Project Manager
    pm = ProjectManager()

    # Create or load project
    name = "project_test"
    pm.load(name)

    app.exec_()
 def initialize(self):
     from openalea.core.world.world import World
     from openalea.core.service.ipython import interpreter
     world = World()
     world.update_namespace(interpreter())
     self.set_world(world)
Ejemplo n.º 29
0
 def test_get_interpreter_twice(self):
     interp = interpreter()
     interp2 = interpreter()
     assert interp is not None
     assert interp is interp2
Ejemplo n.º 30
0
 def test_get_interpreter_twice(self):
     interp = interpreter()
     interp2 = interpreter()
     assert interp is not None
     assert interp is interp2
Ejemplo n.º 31
0
 def setUp(self):
     self.ip = interpreter()
     self.ipy = IPythonInterpreter() if IPythonInterpreter else None
     self.py = PythonInterpreter()
Ejemplo n.º 32
0
 def setUp(self):
     self.ip = interpreter()
     self.ipy = IPythonInterpreter()
     self.py = PythonInterpreter()
Ejemplo n.º 33
0
 def setUp(self):
     self.ip = interpreter()
     self.ipy = IPythonInterpreter() if IPythonInterpreter else None
     self.py = PythonInterpreter()
Ejemplo n.º 34
0
    def __init__(self, session, parent=None, args=None):
        super(QtGui.QMainWindow, self).__init__()
        self.session = session
        interp = interpreter()
        interp.locals['mainwindow'] = self

        self.areas = {}
        for area_name in ('inputs', 'outputs', 'shell'):
            self.areas[area_name] = QtGui.QTabWidget()

        self.dockWidget("Inputs",
                        self.areas['inputs'],
                        name="Inputs",
                        position=QtCore.Qt.LeftDockWidgetArea)
        self.dockWidget("Outputs",
                        self.areas['outputs'],
                        name="Outputs",
                        position=QtCore.Qt.RightDockWidgetArea)
        self.dockWidget("Shell",
                        self.areas['shell'],
                        name="Shell, log and history",
                        position=QtCore.Qt.BottomDockWidgetArea)

        self.split = QtGui.QSplitter()
        self.setCentralWidget(self.split)

        menu_names = ('Project', 'Edit', 'Viewer', 'Help')

        # Classic menu
        self.menu_classic = {}
        menubar = QtGui.QMenuBar()

        for menu_name in menu_names:
            self.menu_classic[menu_name] = menubar.addMenu(menu_name)

        self.setMenuBar(menubar)

        # PanedMenu
        self.menu_paned = {}
        self.menu = PanedMenu()

        # Organize order of tabs
        for menu_name in menu_names:
            self.menu_paned[menu_name] = self.menu.addSpecialTab(menu_name)

        dock_menu = self.dockWidget("Menu",
                                    self.menu,
                                    position=QtCore.Qt.TopDockWidgetArea)
        dock_menu.setFeatures(QtGui.QDockWidget.NoDockWidgetFeatures)
        dock_menu.setContentsMargins(0, 0, 0, 0)
        widget = QtGui.QLabel()
        dock_menu.setTitleBarWidget(widget)

        size_policy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred,
                                        QtGui.QSizePolicy.Maximum)
        dock_menu.setSizePolicy(size_policy)

        # Shell
        self.shell = get_shell_class()(interp)
        interp.locals['shell'] = self.shell
        self.add_applet(self.shell, 'Shell', area='shell')

        self.applets = self._plugins = {}
Ejemplo n.º 35
0
from openalea.core.service.control import new_control
from openalea.core.service.data import DataFactory
from openalea.core.service.model import ModelFactory

from openalea.oalab.paradigm.python import PythonModelController
from openalea.oalab.paradigm.visualea import VisualeaModelController
from openalea.core.world.world import World

from openalea.oalab.service.paradigm import paradigm_controller


from openalea.vpltk.qt import QtGui

from openalea.core.service.ipython import interpreter
interp = interpreter()
interp.user_ns['interp'] = interp


pm = PackageManager()
pm.init()


def composite_node():
    inputs = []
    outputs = []
    for io in list('abcd'):
        inputs.append({'name': io, 'desc': 'Input %s' % io.upper(), 'value': 0})
        outputs.append({'name': io, 'desc': 'Input %s' % io.upper()})

    sg = CompositeNode(inputs=inputs, outputs=outputs)
Ejemplo n.º 36
0
from openalea.vpltk.qt import QtGui
from openalea.oalab.gui.container import ParadigmContainer
from openalea.oalab.session.session import Session

if __name__ == '__main__':
    instance = QtGui.QApplication.instance()
    if instance is None:
        app = QtGui.QApplication([])
    else:
        app = instance

    from openalea.core.service.ipython import interpreter
    from openalea.oalab.shell import get_shell_class

    # Set interpreter
    interpreter = interpreter()
    interpreter.user_ns['interp'] = interpreter
    interpreter.user_ns.update(locals())
    # Set Shell Widget

    widget = QtGui.QWidget()
    layout = QtGui.QHBoxLayout(widget)

    shellwdgt = get_shell_class()(interpreter)

    editor = ParadigmContainer(None, None)
    interpreter.user_ns['editor'] = editor
    session = Session()
    session.debug = True
    interpreter.user_ns['session'] = session
Ejemplo n.º 37
0
from openalea.core.pkgmanager import PackageManager

from openalea.core.service.control import new_control
from openalea.core.service.data import DataFactory
from openalea.core.service.model import ModelFactory

from openalea.oalab.gui.paradigm.python import PythonModelController
from openalea.oalab.gui.paradigm.visualea import VisualeaModelController
from openalea.oalab.world.world import World

from openalea.oalab.service.paradigm import paradigm_controller

from openalea.vpltk.qt import QtGui

from openalea.core.service.ipython import interpreter
interp = interpreter()
interp.user_ns['interp'] = interp

pm = PackageManager()
pm.init()


def composite_node():
    inputs = []
    outputs = []
    for io in list('abcd'):
        inputs.append({
            'name': io,
            'desc': 'Input %s' % io.upper(),
            'value': 0
        })
Ejemplo n.º 38
0
def init():
    ip = interpreter()
    discover_projects()
    ip.user_ns.update(locals())
    ip.user_ns.update(globals())