Inherits from
- HasTraits: enthought.traits.has_traits.HasTraits
Attributes
- context_viewer
The view model for the current project's context.
context_viewer = Instance(ContextVariableList)
- data_directory
The data directory.
data_directory = Str()
- file_directory
The directory for other files.
file_directory = Str()
- function_library
The Function Library fixme: This should probably not live here.
function_library = Instance(FunctionLibrary, args = ())
- function_search
The Function Search fixme: This should probably not live here.
function_search = Instance(FunctionSearch, args = ())
- html_window
Window for displaying HTML help for functions. FIXME: It would be better to re-factor this into an active_help_item trait with an HTML Editor.
html_window = Instance(HtmlInfoUI, args = ())
- project
The currently loaded, active project
project = Instance(Project)
- status
Status bar text
status = Str
Inherited from base classes
Method summary
- __init__(self, code = None, data_context = None, *args, **kwargs)
- add_function_object_to_model(self, item, x = None, y = None)
- add_function_to_execution_model(self, function_call, x = None, y = None)
- assign_binding(self, graph_node, variable, name)
- collapse_all_boxes(self)
- collapse_box(self, box)
- delete_names(self, new)
- execute_for_binding(self, variable, old, new)
- execute_for_names(self, names = None)
- execute_for_statements(self)
- expand_all_boxes(self)
- expand_box(self, box)
- experiment_changed(self, object, name, old, new)
- get_active_project(self)
- html_window_set_function_help(self, function_name, module_name)
- html_window_set_html(self, text)
- html_window_set_text(self, text)
- load_code_from_file(self, filename)
- load_context(self, context, mode = 'add')
- load_project(self, dirname)
- relayout_boxes(self)
- remove_function_from_execution_model(self, function_call)
- run_custom_ui(self, filename, live = True)
- save_code_to_file(self, filename = '')
- save_project(self, dirname)
- scale_and_center(self)
- select_function_on_canvas(self, item)
- trait_view(self, name = None, view_elements = None)
- update_function_variable_binding(self, function_call, variable, new_binding)
- update_node_ui(self, node)
- update_node_with_edits(self, node, edited_node)
Inherited from base classes
- __deepcopy__(self, memo)
- __getstate__(self)
- __prefix_trait__(self, name, is_set)
- __reduce_ex__(self, protocol)
- __setstate__(self, state, trait_change_notify = True)
- add_class_trait(cls, name, *trait)
- add_trait(self, name, *trait)
- add_trait_category(cls, category)
- add_trait_listener(self, object, prefix = '')
- all_trait_names(self)
- base_trait(self, name)
- class_default_traits_view(cls)
- class_editable_traits(cls)
- class_trait_names(cls, **metadata)
- class_trait_view(cls, name = None, view_element = None)
- class_trait_view_elements(cls)
- class_traits(cls, **metadata)
- clone_traits(self, traits = None, memo = None, copy = None, **metadata)
- configure_traits(self, filename = None, view = None, kind = None, edit = True, context = None, handler = None, id = '', scrollable = None, **args)
- copy_traits(self, other, traits = None, memo = None, copy = None, **metadata)
- copyable_trait_names(self, **metadata)
- default_traits_view(self)
- edit_traits(self, view = None, parent = None, kind = None, context = None, handler = None, id = '', scrollable = None, **args)
- editable_traits(self)
- has_traits_interface(self, *interfaces)
- on_trait_change(self, handler, name = None, remove = False, dispatch = 'same', priority = False, deferred = False)
- print_traits(self, show_help = False, **metadata)
- remove_trait(self, name)
- remove_trait_listener(self, object, prefix = '')
- reset_traits(self, traits = None, **metadata)
- set_trait_dispatch_handler(cls, name, klass, override = False)
- sync_trait(self, trait_name, object, alias = None, mutual = True, remove = False)
- trait(self, name, force = False, copy = False)
- trait_context(self)
- trait_get(self, *names, **metadata)
- trait_monitor(cls, handler, remove = False)
- trait_names(self, **metadata)
- trait_set(self, trait_change_notify = True, **traits)
- trait_setq(self, **traits)
- trait_subclasses(cls, all = False)
- trait_view_elements(self)
- trait_views(self, klass = None)
- traits(self, **metadata)
- validate_trait(self, name, value)
Methods
- __init__(self, code = None, data_context = None, *args, **kwargs)
- add_function_object_to_model(self, item, x = None, y = None)
Add the double clicked or dropped FunctionCall object to the code/canvas.
The added function is also marked as selected.
If "New Function" is clicked, we hand back a FunctionCall based on a LocalFunctionInfo. Otherwise, we hand back a FunctionCall based on a PythonFunctionInfo.
# fixme: We need to add LocalFunctionInfo objects to the # FunctionLibrary somehow.
- add_function_to_execution_model(self, function_call, x = None, y = None)
Add a function/expression/etc to the active execution model.
Include optional information about the location of the item on the canvas.
- assign_binding(self, graph_node, variable, name)
Assign the binding of a variable for a graph node to a particular name.
- collapse_all_boxes(self)
Collapse all of the boxes on the canvas
- collapse_box(self, box)
- delete_names(self, new)
When the user clicks the "Delete" menu item on the context UI, actually perform the deletion.
- execute_for_binding(self, variable, old, new)
This is a HACK. FIXME: Just executing the code when a variable binding changes. This will update the context. The @on_trait_change() decorator isn't working on the two functions above this one after you double click to edit a canvas box.
- execute_for_names(self, names = None)
When the user clicks the "Execute" menu item on the context UI, actually execute the code.
- execute_for_statements(self)
When the list of statements changes, re-execute all of the code.
- expand_all_boxes(self)
Expand all of the boxes on the canvas
- expand_box(self, box)
Expand a particular box on the canvas
- experiment_changed(self, object, name, old, new)
- get_active_project(self)
- html_window_set_function_help(self, function_name, module_name)
- html_window_set_html(self, text)
- html_window_set_text(self, text)
- load_code_from_file(self, filename)
- load_context(self, context, mode = 'add')
Load a new context.
Parameters
- context : IContext
- The context to be loaded.
- mode : str, optional
- If 'add', add all of the data to the current context. If 'new', simply add to the list of contexts. If 'substitute', replace the current context.
- load_project(self, dirname)
Load a new project into the application. If there is an existing project, it will be lost. It is the caller's responsibility to save out the existing project.
- relayout_boxes(self)
Re-layout all of the boxes on the screen
- remove_function_from_execution_model(self, function_call)
Remove a function from the execution model
- run_custom_ui(self, filename, live = True)
Load a module to visually interact with the context.
Parameters
- filename : str
- The filename of the module with the view. It should expose a function called "viewable(context)" which takes an ExecutingContext and returns a HasTraits instance which can be edited with .edit_traits().
- live : bool, optional
- If True, then the interaction happens directly with the context itself. If False, a "copy-on-write" shadow context is put in front of the context.
- save_code_to_file(self, filename = '')
- save_project(self, dirname)
Saves the current project to the given directory.
- scale_and_center(self)
Set the appropriate zoom level and position to see all of the blocks on the canvas
- select_function_on_canvas(self, item)
Mark an item as selected on the canvas.
Currently selected items are unselected.
- fixme: We really should have an execution_view_model that
- keeps track of selection, etc. so that views other than the canvas can react to and control changes in a more coherent way.
- trait_view(self, name = None, view_elements = None)
- update_function_variable_binding(self, function_call, variable, new_binding)
Assign a variable a new binding
- update_node_ui(self, node)
Update the UI for the given node.
- update_node_with_edits(self, node, edited_node)
Update a function/expression in the execution model with an edited copy.