Reference guide#

Class Inheritance diagram#

openalea.visualea.code_editor module#

Download the source file ../../src/openalea/visualea/code_editor.py.

Python code editor

class openalea.visualea.code_editor.AbstractCodeEditor(*args)[source]#

Bases: object

External code editor

edit_file(filename)[source]#

Open file in the editor

edit_module(module, class_name=None)[source]#

Edit the source file of a python module

is_empty()[source]#
is_widget()[source]#
class openalea.visualea.code_editor.Command(command)[source]#

Bases: object

Execute a command depending on a filename. Create a process and execute the command locally.

class openalea.visualea.code_editor.EditorSelector(parent, editors, params)[source]#

Bases: AbstractCodeEditor, QWidget

Dialog to select an editor

is_widget()[source]#
on_button_clicked()[source]#
class openalea.visualea.code_editor.ExternalCodeEditor(*args)[source]#

Bases: AbstractCodeEditor

External code editor

edit_file(filename)[source]#

Open file in the editor

get_command()[source]#

Return command to execute

is_widget()[source]#
class openalea.visualea.code_editor.NodeCodeEditor(factory, parent=None)[source]#

Bases: PythonCodeEditor

Default node editor

apply_changes()[source]#

Apply

edit_class(nodefactory)[source]#

Open class source in editor

save_changes()[source]#

Save module

class openalea.visualea.code_editor.PythonCodeEditor(parent=None)[source]#

Bases: QWidget, AbstractCodeEditor

Simple Python code editor

apply_changes()[source]#

Reload file

edit_file(filename)[source]#

Open file in the editor

edit_module(module, class_name=None)[source]#

Edit the source file of a python module

getText()[source]#

Return editor text

get_editor()[source]#

Return an editor object based on QScintilla if available. Else, return a standard editor.

goToLine(linenb)[source]#

Go to line nb

is_widget()[source]#
on_file_changed(path)[source]#
save_changes()[source]#

Save module

setText(str)[source]#

Set the text of the editor

openalea.visualea.code_editor.get_editor()[source]#

Return the editor class

openalea.visualea.compositenode_widget module#

Download the source file ../../src/openalea/visualea/compositenode_widget.py.

Composite Node Widgets

class openalea.visualea.compositenode_widget.DisplayGraphWidget(node, parent=None, autonomous=False)[source]#

Bases: NodeWidget, QWidget

Display widgets contained in the graph

exit()[source]#
open_widget()[source]#
run_node()#
set_autonomous()[source]#

Create autonomous widget with user applications buttons and dataflow

openalea.visualea.dialogs module#

Download the source file ../../src/openalea/visualea/dialogs.py.

QT4 Main window

class openalea.visualea.dialogs.ComboDelegate[source]#

Bases: QItemDelegate

Tool class used in IO editor It allows to choose an interface from a combobox in a QTable

createEditor(parent, option, index)[source]#

Create the editor

get_interfaces()[source]#

Return the list of availble interfaces

setEditorData(editor, index)[source]#

Accessor

setModelData(editor, model, index)[source]#

Accessor

class openalea.visualea.dialogs.DictEditor(pdict, parent)[source]#

Bases: QDialog, Ui_TableEditor

Dictionnary editor (used for node internals)

If accepted :
  • self.pdict contains the modified dictionary

  • self.modified_key contains the list of modified key

accept(self)[source]#
class openalea.visualea.dialogs.EditPackage(package, parent=None)[source]#

Bases: NewPackage

Edit package dialog

accept()[source]#

Accept dialog result

class openalea.visualea.dialogs.FactorySelector(default_factory=None, parent=None)[source]#

Bases: QDialog, Ui_FactorySelector

Dialog to select a particular CompositeNode factory

accept()[source]#

Accept dialog result

get_factory()[source]#

Return the selected factory

new_factory()[source]#

Create a new composite node

class openalea.visualea.dialogs.IOConfigDialog(inputs=(), outputs=(), parent=None)[source]#

Bases: QDialog, Ui_IOConfig

IO Configuration dialog

accept()[source]#

Valid IO

add_input()[source]#
add_output()[source]#
del_input()[source]#
del_output()[source]#
class openalea.visualea.dialogs.NewData(title, pmanager, parent=None, pkg_id=None)[source]#

Bases: QDialog, Ui_NewDataDialog

import data dialog

accept()[source]#

Accept Dialog result

browse_file()[source]#

Open File browser

create_datafactory(pkgmanager)[source]#

Create, register and return a new CompositeNodeFactory

get_data()[source]#

Return the dialog data in a tuple (name, nin, nout, category, description)

get_package()[source]#

Return the selected package

class openalea.visualea.dialogs.NewGraph(title, pmanager, parent=None, factory=None, io=True, inputs=(), outputs=(), pkg_id=None, name='')[source]#

Bases: QDialog, Ui_NewGraphDialog

New composite node dialog

accept()[source]#

Accept Dialog result

create_cnfactory(pkgmanager)[source]#

Create, register and return a new CompositeNodeFactory

create_nodefactory(pkgmanager)[source]#

Create, register and return a NodeFactory

edit_io()[source]#

Open IO Config Dialog

get_data()[source]#

Return the dialog data in a tuple (name, nin, nout, category, description)

get_package()[source]#

Return the selected package

update_factory()[source]#

Update factory with value

class openalea.visualea.dialogs.NewPackage(pkgs, name='', parent=None, metainfo=None)[source]#

Bases: QDialog, Ui_NewPackageDialog

New package dialog

accept()[source]#

Accept dialog result

get_data()[source]#

Return a tuple (name, metainfo, path) metainfo is a dictionnary

path_clicked()[source]#
set_data(name, path, metainfo)[source]#

Set the dialog data

class openalea.visualea.dialogs.NodeChooser(parent)[source]#

Bases: QDialog, Ui_NodeChooser

Dialog allowing to choose a node (package view)

accept()[source]#

Validate result

get_selection()[source]#

Return selected factory

search(name='', nb_inputs=-1, nb_outputs=-1)[source]#

Add node to combo box selector corresponding to request @param name @param nb_inputs @param nb_outputs

class openalea.visualea.dialogs.PreferenceNode(inputs=(), outputs=())[source]#

Bases: Node

class openalea.visualea.dialogs.PreferencesDialog(parent)[source]#

Bases: QDialog, Ui_Preferences

Preferences dialog

accept()[source]#

Validate dialog results

add_search_path()[source]#

Package Manager : Add a path in the list

build_gui_for_component(componentName, conf)[source]#
remove_search_path()[source]#

Package Manager : Remove a path in the list

select_editor()[source]#

Select Python Editor command

valid_editor()[source]#

Valid editor parameter

valid_search_path()[source]#

Set the search path in the package manager

valid_ui()[source]#

Valid UI Parameters

class openalea.visualea.dialogs.ShowPortDialog(node, parent)[source]#

Bases: QDialog, Ui_ListEdit

Port show status configuration dialog

accept()[source]#

Set port status in the node

openalea.visualea.graph_operator.port module#

class openalea.visualea.graph_operator.port.PortOperators(master)[source]#

Bases: Base

The PortOperators defines the output options of an output connector.

An output connector can be sent to

  • the datapool,

  • the python interpreter

  • or print

by right clicking on the output connector and selected the appropriate option, as shown on this screenshot.

../_images/visualea_output_port.png
port_print_value()[source]#

Print the value of the connector

port_send_to_console()[source]#

a portconnector to send output on a port directly to the console. :authors: Thomas Cokelaer, Daniel Barbeau

port_send_to_pool()[source]#

Send data from a connector to the dataflow

This function is related to the menu that pops up when right clicking on a node.

openalea.visualea.dataflowview.vertex module#

class openalea.visualea.dataflowview.vertex.EvalObserver(callback)[source]#

Bases: AbstractListener

notify(sender, event)[source]#

This function is called by observed objects

Parameters:
  • sender – the observed object which send notification

  • event – the data associated to the notification

class openalea.visualea.dataflowview.vertex.GraphicalInVertex(vertex, graph, parent=None)[source]#

Bases: GraphicalVertex

initialise_from_model()[source]#
polishEvent()[source]#
class openalea.visualea.dataflowview.vertex.GraphicalOutVertex(vertex, graph, parent=None)[source]#

Bases: GraphicalVertex

initialise_from_model()[source]#
polishEvent()[source]#
class openalea.visualea.dataflowview.vertex.GraphicalPort(parent, port)[source]#

Bases: QGraphicsEllipseItem, Connector

A vertex port

HEIGHT = 7.0#
MAX_TIPLEN = 400#
WIDTH = 7.0#
change_observed(old, new)[source]#
clear_observed(*args)[source]#
close_and_delete(obj)[source]#
contextMenuEvent(self, event: QGraphicsSceneContextMenuEvent | None)[source]#
get_id()[source]#
initialise_from_model()[source]#
itemChange(self, change: QGraphicsItem.GraphicsItemChange, value: Any) Any#
notify(sender, event)[source]#

called by the observed when something happens to it.

paint(self, painter: QPainter | None, option: QStyleOptionGraphicsItem | None, widget: QWidget | None = None)[source]#
port()#
class openalea.visualea.dataflowview.vertex.GraphicalVertex(vertex, graph, parent=None)[source]#

Bases: ObserverOnlyGraphicalVertex

contextMenuEvent(event)[source]#

Context menu event : Display the menu

mouseDoubleClickEvent(self, event: QGraphicsSceneMouseEvent | None)[source]#
class openalea.visualea.dataflowview.vertex.HiddenPort(parent)[source]#

Bases: QGraphicsItem

Graphical representation of hidden ports

add_to_view(view)[source]#
boundingRect(self) QRectF[source]#
get_id()[source]#
initialise_from_model()[source]#
paint(self, painter: QPainter | None, option: QStyleOptionGraphicsItem | None, widget: QWidget | None = None)[source]#
size()[source]#
sizeHint(blop, blip)[source]#
class openalea.visualea.dataflowview.vertex.ObserverOnlyGraphicalVertex(vertex, graph, parent=None)[source]#

Bases: Vertex, AleaQGraphicsRoundedRectItem

add_port(modelPort)[source]#
all_inputs_visible()[source]#
default_bottom_color = <PyQt5.QtGui.QColor object>#
default_corner_radius = 1.2#
default_error_color = <PyQt5.QtGui.QColor object>#
default_margin = 3.0#
default_pen_color = <PyQt5.QtGui.QColor object>#
default_pen_error_color = <PyQt5.QtGui.QColor object>#
default_pen_selected_color = <PyQt5.QtGui.QColor object>#
default_top_color = <PyQt5.QtGui.QColor object>#
default_unlazy_color = <PyQt5.QtGui.QColor object>#
default_user_application_color = <PyQt5.QtGui.QColor object>#
delayMargins = 7.0#
endPos = 1.0#
evalColor = <PyQt5.QtGui.QColor object>#
get_editor_instance()[source]#
get_view_data(key)[source]#
initialise_from_model()[source]#
itemChange(change, value)[source]#

Used mainly to capture position changes from the QGraphicsScene and store it in the model so that it can be saved.

layout_items()[source]#
maxTipLength = 400#
mousePressEvent(self, event: QGraphicsSceneMouseEvent | None)#
notify(sender, event)[source]#

Notification sent by the vertex associated to the item

outMargins = 5.0#
paint(painter, options, widget)[source]#

Qt-specific call to paint things.

pen_width = 1.0#
portSpacing = 5.0#
refresh_geometry()[source]#
remove_port(modelPort)[source]#
remove_ports(filter=<function ObserverOnlyGraphicalVertex.<lambda>>)[source]#
set_editor_instance(editor)[source]#
set_graphical_caption(caption)[source]#

Sets the name displayed in the vertex widget, doesn’t change the vertex data

set_graphical_tooltip(rawtooltip)[source]#
startPos = 0.0#
store_view_data(**kwargs)[source]#
terminate_from_model()[source]#
update_colors()[source]#
update_delay_item()[source]#
update_hidden_port_item()[source]#

openalea.visualea.gui_catalog module#

Catalog of InterfaceWidgets

class openalea.visualea.gui_catalog.IBoolWidget(node, parent, parameter_str, interface)[source]#

Bases: IInterfaceWidget, QWidget

integer spin box widget

notify(sender, event)[source]#

Notification sent by node

on_stateChanged(*args, **kwargs)#
class openalea.visualea.gui_catalog.ICodeStrWidget(node, parent, parameter_str, interface)[source]#

Bases: ITextStrWidget

notify(sender, event)[source]#

Notification sent by node

valueChanged(*args, **kwargs)#
class openalea.visualea.gui_catalog.IDateTimeWidget(node, parent, parameter_str, interface)[source]#

Bases: IInterfaceWidget, QWidget

Date widget

notify(sender, event)[source]#

Notification sent by node

on_valueChanged(*args, **kwargs)#
class openalea.visualea.gui_catalog.IDictWidget(node, parent, parameter_str, interface)[source]#

Bases: IInterfaceWidget, QWidget

List edit widget

keyPressEvent(self, a0: QKeyEvent | None)#
notify(sender, event)[source]#

Notification sent by node

on_button_clicked(*args, **kwargs)#
on_itemclick(*args, **kwargs)#
update_list()[source]#

Rebuild the list

update_state()[source]#

Enable or disable widget depending of its state

class openalea.visualea.gui_catalog.IDirStrWidget(node, parent, parameter_str, interface)[source]#

Bases: IStrWidget

File name Line Edit Widget

last_result = '/home/docs'#
on_button_clicked()[source]#
on_valueChanged(*args, **kwargs)#
class openalea.visualea.gui_catalog.IEnumStrWidget(node, parent, parameter_str, interface)[source]#

Bases: IInterfaceWidget, QWidget

String Enumeration widget

get_widget_value()[source]#
notify(sender, event)[source]#

Notification sent by node

set_interface(interface)[source]#
set_widget_value(newval)[source]#
valueChanged(*args, **kwargs)#
class openalea.visualea.gui_catalog.IFileStrWidget(node, parent, parameter_str, interface)[source]#

Bases: IStrWidget

File name Line Edit Widget

last_result = '/home/docs'#
on_button_clicked()[source]#
on_valueChanged(*args, **kwargs)#
class openalea.visualea.gui_catalog.IFloatWidget(node, parent, parameter_str, interface)[source]#

Bases: IInterfaceWidget, QWidget

Float spin box widget

get_widget_value()[source]#
notify(sender, event)[source]#

Notification sent by node

on_valueChanged(*args, **kwargs)#
set_interface(interface)[source]#
set_widget_value(newval)[source]#
class openalea.visualea.gui_catalog.IIntWidget(node, parent, parameter_str, interface)[source]#

Bases: IInterfaceWidget, QWidget

integer spin box widget

notify(sender, event)[source]#

Notification sent by node

on_valueChanged(*args, **kwargs)#
class openalea.visualea.gui_catalog.IRGBColorWidget(node, parent, parameter_str, interface)[source]#

Bases: IInterfaceWidget, QWidget

RGB Color Widget

notify(*args, **kwargs)#

Notification sent by node

widget_clicked(event)[source]#
class openalea.visualea.gui_catalog.ISequenceWidget(node, parent, parameter_str, interface)[source]#

Bases: IInterfaceWidget, QWidget

List edit widget

get_widget_value()[source]#
keyPressEvent(self, a0: QKeyEvent | None)#
notify(sender, event)[source]#

Notification sent by node

on_button_clicked(*args, **kwargs)#
on_buttonmoins_clicked(*args, **kwargs)#
on_buttonplus_clicked(*args, **kwargs)#
on_itemchanged(*args, **kwargs)#
on_itemclick(item)[source]#
set_widget_value(seq)[source]#
update_list(*args, **kwargs)#
update_state()[source]#

Enable or disable widget depending of its state

class openalea.visualea.gui_catalog.IStrWidget(node, parent, parameter_str, interface)[source]#

Bases: IInterfaceWidget, QWidget

Line Edit widget

MAX_LEN = 100000#
get_widget_value()[source]#
notify(sender, event)[source]#

Notification sent by node

on_valueChanged(*args, **kwargs)#
set_widget_value(newval)[source]#
class openalea.visualea.gui_catalog.ITextStrWidget(node, parent, parameter_str, interface)[source]#

Bases: IInterfaceWidget, QWidget

Multi-Line Edit widget

MAX_LEN = 1000000#
notify(sender, event)[source]#

Notification sent by node

on_valueChanged(*args, **kwargs)#
setEnabled(self, a0: bool)[source]#
class openalea.visualea.gui_catalog.ITupleWidget(node, parent, parameter_str, interface)[source]#

Bases: IInterfaceWidget, QWidget

Tuple widget

notify(sender, event)[source]#

Notification sent by node

on_valueChanged(*args, **kwargs)#
openalea.visualea.gui_catalog.isiterable(seq)[source]#

openalea.visualea.images_rc module#

Download the source file ../../src/openalea/visualea/images_rc.py.

openalea.visualea.images_rc.qCleanupResources()[source]#
openalea.visualea.images_rc.qInitResources()[source]#