Inherits from
- HasTraits: enthought.traits.has_traits.HasTraits
Attributes
Inherited from base classes
Method summary
- organize_rows(self, dep_graph)
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(self, name = None, view_element = None)
- trait_view_elements(self)
- trait_views(self, klass = None)
- traits(self, **metadata)
- validate_trait(self, name, value)
Methods
- organize_rows(self, dep_graph)
Convert the dependency graph into row based layout scheme.
The layout organizes the nodes into rows based on their dependencies. The first row is the elements without any dependencies. The next row is the set of nodes that only depend on nodes in previous rows and so on. In this way, the nodes progress from the "input" nodes on the first rows to the "output" nodes on the last row.
The function returns a list of lists. Each row in the list is the set of nodes that should be laid out on that row.
- Example:
>>> g = {'foo': [], ... 'bar': ['foo'], ... 'baz': ['foo'], ... 'zi': ['bar'], ... 'za': ['baz'], ... 'ze': ['baz'], ... 'zoo': ['zi','za', 'ze'], ... } >>> layout_engine = RowLayoutEngine() >>> layout_engine._organize_rows(g) [['foo'], ['bar', 'baz'], ['zi', 'ze', 'za'], ['zoo']]- Note: This only works for graphs that don't have any cycles
- in them. A cycle will currently cause this to fail and print a warning on the status bar.