/usr/lib/python2.7/dist-packages/traitsui/include.py is in python-traitsui 4.4.0-1.3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 | #------------------------------------------------------------------------------
#
# 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: David C. Morrill
# Date: 10/18/2004
#
#------------------------------------------------------------------------------
""" Defines the Include class, which is used to represent a substitutable
element within a user interface View.
"""
#-------------------------------------------------------------------------------
# Imports:
#-------------------------------------------------------------------------------
from __future__ import absolute_import
from traits.api import Str
from .view_element import ViewSubElement
#-------------------------------------------------------------------------------
# 'Include' class:
#-------------------------------------------------------------------------------
class Include ( ViewSubElement ):
""" A substitutable user interface element, i.e., a placeholder in a view
definition.
When a view object constructs an attribute-editing window, any Include
objects within the view definition are replaced with a group or item
defined elsewhere in the object's inheritance tree, based on matching of the
name of the element. If no matching element is found, the Include object
is ignored.
An Include object can reference a group or item attribute on a parent class
or on a subclass. For example, the following class contains a view
definition that provides for the possibility that a subclass might add
"extra" attributes in the middle of the view::
class Person(HasTraits):
name = Str
age = Int
person_view = View('name', Include('extra'), 'age', kind='modal')
If you directly create an instance of Person, and edit its attributes,
the Include object is ignored.
The following class extends Person, and defines a group of "extra"
attributes to add to the view defined on Person::
class LocatedPerson(Person):
street = Str
city = Str
state = Str
zip = Int
extra = Group('street', 'city', 'state', 'zip')
The attribute-editing window for an instance of LocatedPerson displays
editors for these extra attributes.
"""
#---------------------------------------------------------------------------
# Trait definitions:
#---------------------------------------------------------------------------
# The name of the substitutable content
id = Str
#---------------------------------------------------------------------------
# Initializes the object:
#---------------------------------------------------------------------------
def __init__ ( self, id, **traits ):
""" Initializes the Include object.
"""
super( ViewSubElement, self ).__init__( **traits )
self.id = id
#---------------------------------------------------------------------------
# Returns a 'pretty print' version of the Include:
#---------------------------------------------------------------------------
def __repr__ ( self ):
""" Returns a "pretty print" version of the Include object.
"""
return "<%s>" % self.id
|