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
|
.. wxPython Phoenix documentation
This file was generated by Phoenix's sphinx generator and associated
tools, do not edit by hand.
Copyright: (c) 2011-2018 by Total Control Software
License: wxWindows License
.. include:: headings.inc
.. currentmodule:: wx.lib.docview
.. highlight:: python
.. _wx.lib.docview.Command:
==========================================================================================================================================
|phoenix_title| **wx.lib.docview.Command**
==========================================================================================================================================
``Command`` is a base class for modelling an application command,
which is an action usually performed by selecting a menu item, pressing a
toolbar button or any other means provided by the application to
change the data or view.
|
|class_hierarchy| Class Hierarchy
=================================
.. raw:: html
<div id="toggleBlock" onclick="return toggleVisibility(this)" class="closed" style="cursor:pointer;">
<img id="toggleBlock-trigger" src="_static/images/closed.png"/>
Inheritance diagram for class <strong>Command</strong>:
</div>
<div id="toggleBlock-summary" style="display:block;"></div>
<div id="toggleBlock-content" style="display:none;">
<p class="graphviz">
<center><img src="_static/images/inheritance/wx.lib.docview.Command_inheritance.png" alt="Inheritance diagram of Command" usemap="#dummy" class="inheritance"/></center>
</div>
<script type="text/javascript">toggleVisibilityOnLoad(document.getElementById('toggleBlock'))</script>
<map id="dummy" name="dummy"> <area shape="rect" id="node1" href="wx.lib.docview.Command.html" title="wx.lib.docview.Command" alt="" coords="5,83,184,112"/> <area shape="rect" id="node2" href="wx.Object.html" title="wx.Object" alt="" coords="53,5,135,35"/> </map>
</p>
|
|super_classes| Known Superclasses
==================================
:class:`wx.Object`
|
|method_summary| Methods Summary
================================
================================================================================ ================================================================================
:meth:`~wx.lib.docview.Command.__init__` Constructor. :class:`Command` is an abstract class, so you will need to
:meth:`~wx.lib.docview.Command.CanUndo` Returns ``True`` if the command can be undone, false otherwise.
:meth:`~wx.lib.docview.Command.Do` Override this member function to execute the appropriate action when
:meth:`~wx.lib.docview.Command.GetName` Returns the command name.
:meth:`~wx.lib.docview.Command.Undo` Override this member function to un-execute a previous :meth:`Do`.
================================================================================ ================================================================================
|
|api| Class API
===============
.. class:: Command(wx.Object)
``Command`` is a base class for modelling an application command,
which is an action usually performed by selecting a menu item, pressing a
toolbar button or any other means provided by the application to
change the data or view.
.. method:: __init__(self, canUndo = False, name = None)
Constructor. :class:`Command` is an abstract class, so you will need to
derive a new class and call this constructor from your own constructor.
``canUndo`` tells the command processor whether this command is undo-able.
You can achieve the same functionality by overriding the CanUndo member
function (if for example the criteria for undoability is context-
dependent).
``name`` must be supplied for the command processor to display the command
name in the application's edit menu.
.. method:: CanUndo(self)
Returns ``True`` if the command can be undone, false otherwise.
.. method:: Do(self)
Override this member function to execute the appropriate action when
called. Return ``True`` to indicate that the action has taken place, false
otherwise. Returning false will indicate to the command processor that
the action is not undoable and should not be added to the command
history.
.. method:: GetName(self)
Returns the command name.
.. method:: Undo(self)
Override this member function to un-execute a previous :meth:`Do`.
Return ``True`` to indicate that the action has taken place, ``False``
otherwise. Returning ``False`` will indicate to the command processor
that the action is not redoable and no change should be made to the
command history.
How you implement this command is totally application dependent, but
typical strategies include:
Perform an inverse operation on the last modified piece of data in the
document. When redone, a copy of data stored in command is pasted back
or some operation reapplied. This relies on the fact that you know the
ordering of Undos; the user can never Undo at an arbitrary position in
he command history.
Restore the entire document state (perhaps using document
transactioning). Potentially very inefficient, but possibly easier to
code if the user interface and data are complex, and an 'inverse
execute' operation is hard to write.
|