/usr/lib/python2.7/dist-packages/traitsui/menu.py is in python-traitsui 4.5.1-1.
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 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 | #------------------------------------------------------------------------------
#
# 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: 12/19/2004
#
#------------------------------------------------------------------------------
""" Defines the standard menu bar for use with Traits UI windows and panels,
and standard actions and buttons.
"""
#-------------------------------------------------------------------------------
# Imports:
#-------------------------------------------------------------------------------
from __future__ import absolute_import
from traits.api import Str
# Import and rename the needed PyFace elements:
from pyface.action.api import ToolBarManager as ToolBar
from pyface.action.api import MenuBarManager as MenuBar
from pyface.action.api import MenuManager as Menu
from pyface.action.api import Group as ActionGroup
from pyface.action.api import Action as PyFaceAction
#-------------------------------------------------------------------------------
# 'Action' class (extends the core pyface Action class):
#-------------------------------------------------------------------------------
class Action ( PyFaceAction ):
""" An action on a menu bar in a Traits UI window or panel.
"""
#---------------------------------------------------------------------------
# Trait definitions:
#---------------------------------------------------------------------------
# Pre-condition for showing the action. If the expression evaluates to False,
# the action is not visible (and disappears if it was previously visible).
# If the value evaluates to True, the action becomes visible. All
# **visible_when** conditions are checked each time that any trait value
# is edited in the display. Therefore, you can use **visible_when**
# conditions to hide or show actions in response to user input.
visible_when = Str
# Pre-condition for enabling the action. If the expression evaluates to
# False, the action is disabled, that is, it cannot be selected. All
# **enabled_when** conditions are checked each time that any trait value
# is edited in the display. Therefore, you can use **enabled_when**
# conditions to enable or disable actions in response to user input.
enabled_when = Str
# Boolean expression indicating when the action is displayed with a check
# mark beside it. This attribute applies only to actions that are included
# in menus.
checked_when = Str
# Pre-condition for including the action in the menu bar or toolbar. If the
# expression evaluates to False, the action is not defined in the display.
# Conditions for **defined_when** are evaluated only once, when the display
# is first constructed.
defined_when = Str
# The method to call to perform the action, on the Handler for the window.
# The method must accept a single parameter, which is a UIInfo object.
# Because Actions are associated with Views rather than Handlers, you must
# ensure that the Handler object for a particular window has a method with
# the correct name, for each Action defined on the View for that window.
action = Str
#-------------------------------------------------------------------------------
# Standard actions and menu bar definitions:
#-------------------------------------------------------------------------------
# Menu separator:
Separator = ActionGroup
# The standard "close window" action:
CloseAction = Action(
name = 'Close',
action = '_on_close'
)
# The standard "undo last change" action:
UndoAction = Action(
name = 'Undo',
action = '_on_undo',
defined_when = 'ui.history is not None',
enabled_when = 'ui.history.can_undo'
)
# The standard "redo last undo" action:
RedoAction = Action(
name = 'Redo',
action = '_on_redo',
defined_when = 'ui.history is not None',
enabled_when = 'ui.history.can_redo'
)
# The standard "revert all changes" action:
RevertAction = Action(
name = 'Revert',
action = '_on_revert',
defined_when = 'ui.history is not None',
enabled_when = 'ui.history.can_undo'
)
# The standard "show help" action:
HelpAction = Action(
name = 'Help',
action = 'show_help'
)
# The standard Traits UI menu bar:
StandardMenuBar = MenuBar(
Menu( CloseAction,
name = 'File' ),
Menu( UndoAction,
RedoAction,
RevertAction,
name = 'Edit' ),
Menu( HelpAction,
name = 'Help' )
)
#-------------------------------------------------------------------------------
# Standard buttons (i.e. actions):
#-------------------------------------------------------------------------------
NoButton = Action( name = '' )
# Appears as two buttons: **Undo** and **Redo**. When **Undo** is clicked, the
# most recent change to the data is cancelled, restoring the previous value.
# **Redo** cancels the most recent "undo" operation.
UndoButton = Action( name = 'Undo' )
# When the user clicks the **Revert** button, all changes made in the window are
# cancelled and the original values are restored. If the changes have been
# applied to the model (because the user clicked **Apply** or because the window
# is live), the model data is restored as well. The window remains open.
RevertButton = Action( name = 'Revert' )
# When theuser clicks the **Apply** button, all changes made in the window are
# applied to the model. This option is meaningful only for modal windows.
ApplyButton = Action( name = 'Apply' )
# When the user clicks the **OK** button, all changes made in the window are
# applied to the model, and the window is closed.
OKButton = Action( name = 'OK' )
# When the user clicks the **Cancel** button, all changes made in the window
# are discarded; if the window is live, the model is restored to the values it
# held before the window was opened. The window is then closed.
CancelButton = Action( name = 'Cancel' )
# When the user clicks the **Help** button, the current help handler is
# invoked. If the default help handler is used, a pop-up window is displayed,
# which contains the **help** text for the top-level Group (if any), and for
# the items in the view. If the default help handler has been overridden,
# the action is determined by the custom help handler. See
# **traitsui.help**.
HelpButton = Action( name = 'Help' )
OKCancelButtons = [ OKButton, CancelButton ]
ModalButtons = [ ApplyButton, RevertButton, OKButton, CancelButton, HelpButton ]
LiveButtons = [ UndoButton, RevertButton, OKButton, CancelButton, HelpButton ]
# The window has no command buttons:
NoButtons = [ NoButton ]
|