pyface-6.1.2/ 0000755 0000765 0000024 00000000000 13515277240 013736 5 ustar cwebster staff 0000000 0000000 pyface-6.1.2/PKG-INFO 0000644 0000765 0000024 00000006056 13515277240 015042 0 ustar cwebster staff 0000000 0000000 Metadata-Version: 1.1
Name: pyface
Version: 6.1.2
Summary: traits-capable windowing framework
Home-page: http://docs.enthought.com/pyface
Author: ETS Developers
Author-email: enthought-dev@enthought.com
License: BSD
Download-URL: https://github.com/enthought/pyface
Description-Content-Type: UNKNOWN
Description: ==========================================
pyface: traits-capable windowing framework
==========================================
.. image:: https://travis-ci.org/enthought/pyface.svg?branch=master
:target: https://travis-ci.org/enthought/pyface
.. image:: https://ci.appveyor.com/api/projects/status/68nfb049cdq9wqd1/branch/master?svg=true
:target: https://ci.appveyor.com/project/EnthoughtOSS/pyface/branch/master
.. image:: https://codecov.io/github/enthought/pyface/coverage.svg?branch=master
:target: https://codecov.io/github/enthought/pyface?branch=master
The pyface project contains a toolkit-independent GUI abstraction layer,
which is used to support the "visualization" features of the Traits package.
Thus, you can write code in terms of the Traits API (views, items, editors,
etc.), and let pyface and your selected toolkit and back-end take care of
the details of displaying them.
The following GUI backends are supported:
- wxPython
- PyQt
- PySide
**Warning:** The default toolkit if none is supplied is ``qt4``.
This changed from ``wx`` in Pyface 5.0..
Documentation
-------------
* `Online Documentation `_.
* `API Documentation `_.
Prerequisites
-------------
Pyface depends on:
* a GUI toolkit: one of PySide, PyQt or WxPython
* `Traits `_
* Pygments for syntax highlighting in the Qt code editor widget.
* some widgets may have additional optional dependencies.
Platform: Windows
Platform: Linux
Platform: Mac OS-X
Platform: Unix
Platform: Solaris
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: MacOS
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: OS Independent
Classifier: Operating System :: POSIX
Classifier: Operating System :: Unix
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Software Development
Classifier: Topic :: Software Development :: Libraries
pyface-6.1.2/appveyor-clean-cache.txt 0000644 0000765 0000024 00000000002 13462774551 020465 0 ustar cwebster staff 0000000 0000000 1
pyface-6.1.2/TODO.txt 0000644 0000765 0000024 00000001120 13462774551 015246 0 ustar cwebster staff 0000000 0000000 * Remove the import of pyface.resource for core functionality in
resource_manager.py and i_image_resource.py.
* Remove the dependency on etsdevtools.developer AND apptools.io by refactoring
dock features modules.
* Remove the dock dependence on TraitsBackendWX by removing the direct imports
of traitsui.wx.
* Need to make use of drag and drop features optional in this project's code
(see dock, grid, sheet, tree, and viewer/tree_viewer) or help make
traits.util's drag_and_drop module backend agnostic. Right now, it has
a runtime dependency that wx be installed.
pyface-6.1.2/pyface/ 0000755 0000765 0000024 00000000000 13515277235 015211 5 ustar cwebster staff 0000000 0000000 pyface-6.1.2/pyface/tree/ 0000755 0000765 0000024 00000000000 13515277236 016151 5 ustar cwebster staff 0000000 0000000 pyface-6.1.2/pyface/tree/node_monitor.py 0000644 0000765 0000024 00000010420 13462774551 021217 0 ustar cwebster staff 0000000 0000000 #------------------------------------------------------------------------------
# Copyright (c) 2005, Enthought, Inc.
# All rights reserved.
#
# This software is provided without warranty under the terms of the BSD
# license included in enthought/LICENSE.txt and may be redistributed only
# under the conditions described in the aforementioned license. The license
# is also available online at http://www.enthought.com/licenses/BSD.txt
# Thanks for using Enthought open source!
#
# Author: Enthought, Inc.
# Description:
#------------------------------------------------------------------------------
""" A monitor for appearance and structural changes to a node. """
# Standard library imports.
import logging
# Enthought library imports.
from traits.api import Any, Event, HasTraits
# Local imports.
from .node_event import NodeEvent
# Create a logger for this module.
logger = logging.getLogger(__name__)
class NodeMonitor(HasTraits):
""" A monitor for appearance and structural changes to a node. """
#### 'NodeMonitor' interface ##############################################
# The node that we are monitoring.
node = Any
#### Events ####
# Fired when child nodes in the node that we are monitoring have changed in
# some way that affects their appearance but NOT their structure.
nodes_changed = Event(NodeEvent)
# Fired when child nodes have been inserted into the node that we are
# monitoring.
nodes_inserted = Event(NodeEvent)
# Fired when child nodes have been removed from the node that we are
# monitoring.
nodes_removed = Event(NodeEvent)
# Fired when child nodes have been replaced in the node that we are
# monitoring.
nodes_replaced = Event(NodeEvent)
# Fired when the structure of the node that we are monitoring has changed
# DRASTICALLY (i.e., we do not have enough information to make individual
# changes/inserts/removals).
structure_changed = Event(NodeEvent)
###########################################################################
# 'NodeMonitor' interface.
###########################################################################
#### public methods #######################################################
def start(self):
""" Start listening to changes to the node. """
if self.node.obj is not None:
self._setup_trait_change_handlers(self.node.obj)
return
def stop(self):
""" Stop listening to changes to the node. """
if self.node.obj is not None:
self._setup_trait_change_handlers(self.node.obj, remove=True)
return
def fire_nodes_changed(self, children=[]):
""" Fires the nodes changed event. """
self.nodes_changed = NodeEvent(node=self.node, children=children)
return
def fire_nodes_inserted(self, children, index=-1):
""" Fires the nodes inserted event.
If the index is -1 it means the nodes were appended.
fixme: The tree and model should probably have an 'appended' event.
"""
self.nodes_inserted = NodeEvent(
node=self.node, children=children, index=index
)
return
def fire_nodes_removed(self, children):
""" Fires the nodes removed event. """
self.nodes_removed = NodeEvent(node=self.node, children=children)
return
def fire_nodes_replaced(self, old_children, new_children):
""" Fires the nodes replaced event. """
self.nodes_replaced = NodeEvent(
node=self.node, old_children=old_children, children=new_children
)
return
def fire_structure_changed(self):
""" Fires the structure changed event. """
self.structure_changed = NodeEvent(node=self.node)
return
#### protected methods ####################################################
def _setup_trait_change_handlers(self, obj, remove=False):
""" Add or remove trait change handlers to/from a node. """
logger.debug('%s trait listeners on (%s) in NodeMonitor (%s)',
(remove and 'Removing' or 'Adding'), obj, self)
pass # derived classes should do something here!
return
#### EOF ######################################################################
pyface-6.1.2/pyface/tree/tree.py 0000644 0000765 0000024 00000001175 13462774551 017471 0 ustar cwebster staff 0000000 0000000 # Copyright (c) 2017, Enthought, Inc.
# All rights reserved.
#
# This software is provided without warranty under the terms of the BSD
# license included in enthought/LICENSE.txt and may be redistributed only
# under the conditions described in the aforementioned license. The license
# is also available online at http://www.enthought.com/licenses/BSD.txt
# Thanks for using Enthought open source!
""" The implementation of a tree control with a model/ui architecture.
"""
# Import the toolkit specific version.
from __future__ import absolute_import
from pyface.toolkit import toolkit_object
Tree = toolkit_object('tree.tree:Tree')
pyface-6.1.2/pyface/tree/images/ 0000755 0000765 0000024 00000000000 13515277236 017416 5 ustar cwebster staff 0000000 0000000 pyface-6.1.2/pyface/tree/images/document.png 0000644 0000765 0000024 00000000515 13462774551 021746 0 ustar cwebster staff 0000000 0000000 PNG
IHDR a bKGD pHYs tIME8`&B