github / src / sharp / functions / macro.py @ a5c338e8
1 | 7ff49951 | Vincent Le Goff | # Copyright (c) 2016, LE GOFF Vincent |
---|---|---|---|
2 | # All rights reserved.
|
||
3 | |||
4 | # Redistribution and use in source and binary forms, with or without
|
||
5 | # modification, are permitted provided that the following conditions are met:
|
||
6 | |||
7 | # * Redistributions of source code must retain the above copyright notice, this
|
||
8 | # list of conditions and the following disclaimer.
|
||
9 | |||
10 | # * Redistributions in binary form must reproduce the above copyright notice,
|
||
11 | # this list of conditions and the following disclaimer in the documentation
|
||
12 | # and/or other materials provided with the distribution.
|
||
13 | |||
14 | # * Neither the name of ytranslate nor the names of its
|
||
15 | # contributors may be used to endorse or promote products derived from
|
||
16 | # this software without specific prior written permission.
|
||
17 | |||
18 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||
19 | # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||
20 | # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||
21 | # DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
||
22 | # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||
23 | # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||
24 | # SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||
25 | # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||
26 | # OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||
27 | # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||
28 | |||
29 | """Module containing the Macro function class."""
|
||
30 | |||
31 | from scripting.key import key_code |
||
32 | from scripting.macro import Macro as ObjMacro |
||
33 | from sharp import Function |
||
34 | |||
35 | class Macro(Function): |
||
36 | |||
37 | """Function SharpScript 'macro'."""
|
||
38 | |||
39 | def run(self, shortcut, action): |
||
40 | """Creates the macro."""
|
||
41 | key, modifiers = key_code(shortcut) |
||
42 | macro = ObjMacro(key, modifiers, action, self.sharp_engine)
|
||
43 | a5c338e8 | Vincent Le Goff | if self.world: |
44 | self.world.macros.append(macro) |