[Bf-extensions-cvs] [7fc71a4] master: Is key Free: Use property group for Scene props
lijenstina
noreply at git.blender.org
Mon Apr 24 02:25:30 CEST 2017
Commit: 7fc71a4856f65c42f5c0711d440d2e2136df0de3
Author: lijenstina
Date: Mon Apr 24 02:24:39 2017 +0200
Branches: master
https://developer.blender.org/rBA7fc71a4856f65c42f5c0711d440d2e2136df0de3
Is key Free: Use property group for Scene props
Bumped version to 1.0.2
Move the scene properties into a separate group
The props can be accessed through
bpy.context.scene.is_keyfree
===================================================================
M development_iskeyfree.py
===================================================================
diff --git a/development_iskeyfree.py b/development_iskeyfree.py
index 8db3919..4b6c08b 100644
--- a/development_iskeyfree.py
+++ b/development_iskeyfree.py
@@ -19,16 +19,26 @@
# PEP8 compliant (https://www.python.org/dev/peps/pep-0008)
bl_info = {
- 'name': 'Is key Free',
- 'author': 'Antonio Vazquez (antonioya)',
- 'version': (1, 0, 1),
+ "name": "Is key Free",
+ "author": "Antonio Vazquez (antonioya)",
+ "version": (1, 0, 2),
"blender": (2, 6, 9),
- 'location': 'Properties pane > IsKeyFree Tools',
- 'description': 'Find free shortcuts and inform of used keys',
- 'category': 'Development'}
+ "location": "Properties pane > IsKeyFree Tools",
+ "description": "Find free shortcuts and inform of used keys",
+ "category": "Development"}
import bpy
-from bpy.props import StringProperty, BoolProperty, EnumProperty
+from bpy.props import (
+ StringProperty,
+ BoolProperty,
+ EnumProperty,
+ PointerProperty,
+ )
+from bpy.types import (
+ Operator,
+ Panel,
+ PropertyGroup,
+ )
# ------------------------------------------------------
@@ -66,6 +76,7 @@ class MyChecker():
wm = bpy.context.window_manager
mykeys = []
+
for context, keyboardmap in wm.keyconfigs.user.keymaps.items():
for myitem in keyboardmap.keymap_items:
if myitem.active is True and myitem.type == findkey:
@@ -77,7 +88,6 @@ class MyChecker():
continue
if oskey is True and myitem.oskey is not True:
continue
-
t = (context,
myitem.type,
"Ctrl" if myitem.ctrl is True else "",
@@ -131,45 +141,48 @@ class MyChecker():
# verify if key is valid
@classmethod
def isvalidkey(cls, txt):
- allkeys = ["LEFTMOUSE", "MIDDLEMOUSE", "RIGHTMOUSE", "BUTTON4MOUSE", "BUTTON5MOUSE", "BUTTON6MOUSE",
- "BUTTON7MOUSE",
- "ACTIONMOUSE", "SELECTMOUSE", "MOUSEMOVE", "INBETWEEN_MOUSEMOVE", "TRACKPADPAN", "TRACKPADZOOM",
- "MOUSEROTATE", "WHEELUPMOUSE", "WHEELDOWNMOUSE", "WHEELINMOUSE", "WHEELOUTMOUSE", "EVT_TWEAK_L",
- "EVT_TWEAK_M", "EVT_TWEAK_R", "EVT_TWEAK_A", "EVT_TWEAK_S", "A", "B", "C", "D", "E", "F", "G", "H",
- "I", "J",
- "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "ZERO", "ONE", "TWO",
- "THREE", "FOUR", "FIVE", "SIX", "SEVEN", "EIGHT", "NINE", "LEFT_CTRL", "LEFT_ALT", "LEFT_SHIFT",
- "RIGHT_ALT",
- "RIGHT_CTRL", "RIGHT_SHIFT", "OSKEY", "GRLESS", "ESC", "TAB", "RET", "SPACE", "LINE_FEED",
- "BACK_SPACE",
- "DEL", "SEMI_COLON", "PERIOD", "COMMA", "QUOTE", "ACCENT_GRAVE", "MINUS", "SLASH", "BACK_SLASH",
- "EQUAL",
- "LEFT_BRACKET", "RIGHT_BRACKET", "LEFT_ARROW", "DOWN_ARROW", "RIGHT_ARROW", "UP_ARROW", "NUMPAD_2",
- "NUMPAD_4", "NUMPAD_6", "NUMPAD_8", "NUMPAD_1", "NUMPAD_3", "NUMPAD_5", "NUMPAD_7", "NUMPAD_9",
- "NUMPAD_PERIOD", "NUMPAD_SLASH", "NUMPAD_ASTERIX", "NUMPAD_0", "NUMPAD_MINUS", "NUMPAD_ENTER",
- "NUMPAD_PLUS",
- "F1", "F2", "F3", "F4", "F5", "F6", "F7", "F8", "F9", "F10", "F11", "F12", "F13", "F14", "F15",
- "F16", "F17",
- "F18", "F19", "PAUSE", "INSERT", "HOME", "PAGE_UP", "PAGE_DOWN", "END", "MEDIA_PLAY", "MEDIA_STOP",
- "MEDIA_FIRST", "MEDIA_LAST", "TEXTINPUT", "WINDOW_DEACTIVATE", "TIMER", "TIMER0", "TIMER1", "TIMER2",
- "TIMER_JOBS", "TIMER_AUTOSAVE", "TIMER_REPORT", "TIMERREGION", "NDOF_MOTION", "NDOF_BUTTON_MENU",
- "NDOF_BUTTON_FIT", "NDOF_BUTTON_TOP", "NDOF_BUTTON_BOTTOM", "NDOF_BUTTON_LEFT", "NDOF_BUTTON_RIGHT",
- "NDOF_BUTTON_FRONT", "NDOF_BUTTON_BACK", "NDOF_BUTTON_ISO1", "NDOF_BUTTON_ISO2",
- "NDOF_BUTTON_ROLL_CW",
- "NDOF_BUTTON_ROLL_CCW", "NDOF_BUTTON_SPIN_CW", "NDOF_BUTTON_SPIN_CCW", "NDOF_BUTTON_TILT_CW",
- "NDOF_BUTTON_TILT_CCW", "NDOF_BUTTON_ROTATE", "NDOF_BUTTON_PANZOOM", "NDOF_BUTTON_DOMINANT",
- "NDOF_BUTTON_PLUS", "NDOF_BUTTON_MINUS", "NDOF_BUTTON_ESC", "NDOF_BUTTON_ALT", "NDOF_BUTTON_SHIFT",
- "NDOF_BUTTON_CTRL", "NDOF_BUTTON_1", "NDOF_BUTTON_2", "NDOF_BUTTON_3", "NDOF_BUTTON_4",
- "NDOF_BUTTON_5",
- "NDOF_BUTTON_6", "NDOF_BUTTON_7", "NDOF_BUTTON_8", "NDOF_BUTTON_9", "NDOF_BUTTON_10",
- "NDOF_BUTTON_A",
- "NDOF_BUTTON_B", "NDOF_BUTTON_C"]
+ allkeys = [
+ "LEFTMOUSE", "MIDDLEMOUSE", "RIGHTMOUSE", "BUTTON4MOUSE", "BUTTON5MOUSE", "BUTTON6MOUSE",
+ "BUTTON7MOUSE",
+ "ACTIONMOUSE", "SELECTMOUSE", "MOUSEMOVE", "INBETWEEN_MOUSEMOVE", "TRACKPADPAN", "TRACKPADZOOM",
+ "MOUSEROTATE", "WHEELUPMOUSE", "WHEELDOWNMOUSE", "WHEELINMOUSE", "WHEELOUTMOUSE", "EVT_TWEAK_L",
+ "EVT_TWEAK_M", "EVT_TWEAK_R", "EVT_TWEAK_A", "EVT_TWEAK_S", "A", "B", "C", "D", "E", "F", "G", "H",
+ "I", "J",
+ "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "ZERO", "ONE", "TWO",
+ "THREE", "FOUR", "FIVE", "SIX", "SEVEN", "EIGHT", "NINE", "LEFT_CTRL", "LEFT_ALT", "LEFT_SHIFT",
+ "RIGHT_ALT",
+ "RIGHT_CTRL", "RIGHT_SHIFT", "OSKEY", "GRLESS", "ESC", "TAB", "RET", "SPACE", "LINE_FEED",
+ "BACK_SPACE",
+ "DEL", "SEMI_COLON", "PERIOD", "COMMA", "QUOTE", "ACCENT_GRAVE", "MINUS", "SLASH", "BACK_SLASH",
+ "EQUAL",
+ "LEFT_BRACKET", "RIGHT_BRACKET", "LEFT_ARROW", "DOWN_ARROW", "RIGHT_ARROW", "UP_ARROW", "NUMPAD_2",
+ "NUMPAD_4", "NUMPAD_6", "NUMPAD_8", "NUMPAD_1", "NUMPAD_3", "NUMPAD_5", "NUMPAD_7", "NUMPAD_9",
+ "NUMPAD_PERIOD", "NUMPAD_SLASH", "NUMPAD_ASTERIX", "NUMPAD_0", "NUMPAD_MINUS", "NUMPAD_ENTER",
+ "NUMPAD_PLUS",
+ "F1", "F2", "F3", "F4", "F5", "F6", "F7", "F8", "F9", "F10", "F11", "F12", "F13", "F14", "F15",
+ "F16", "F17",
+ "F18", "F19", "PAUSE", "INSERT", "HOME", "PAGE_UP", "PAGE_DOWN", "END", "MEDIA_PLAY", "MEDIA_STOP",
+ "MEDIA_FIRST", "MEDIA_LAST", "TEXTINPUT", "WINDOW_DEACTIVATE", "TIMER", "TIMER0", "TIMER1", "TIMER2",
+ "TIMER_JOBS", "TIMER_AUTOSAVE", "TIMER_REPORT", "TIMERREGION", "NDOF_MOTION", "NDOF_BUTTON_MENU",
+ "NDOF_BUTTON_FIT", "NDOF_BUTTON_TOP", "NDOF_BUTTON_BOTTOM", "NDOF_BUTTON_LEFT", "NDOF_BUTTON_RIGHT",
+ "NDOF_BUTTON_FRONT", "NDOF_BUTTON_BACK", "NDOF_BUTTON_ISO1", "NDOF_BUTTON_ISO2",
+ "NDOF_BUTTON_ROLL_CW",
+ "NDOF_BUTTON_ROLL_CCW", "NDOF_BUTTON_SPIN_CW", "NDOF_BUTTON_SPIN_CCW", "NDOF_BUTTON_TILT_CW",
+ "NDOF_BUTTON_TILT_CCW", "NDOF_BUTTON_ROTATE", "NDOF_BUTTON_PANZOOM", "NDOF_BUTTON_DOMINANT",
+ "NDOF_BUTTON_PLUS", "NDOF_BUTTON_MINUS", "NDOF_BUTTON_ESC", "NDOF_BUTTON_ALT", "NDOF_BUTTON_SHIFT",
+ "NDOF_BUTTON_CTRL", "NDOF_BUTTON_1", "NDOF_BUTTON_2", "NDOF_BUTTON_3", "NDOF_BUTTON_4",
+ "NDOF_BUTTON_5",
+ "NDOF_BUTTON_6", "NDOF_BUTTON_7", "NDOF_BUTTON_8", "NDOF_BUTTON_9", "NDOF_BUTTON_10",
+ "NDOF_BUTTON_A",
+ "NDOF_BUTTON_B", "NDOF_BUTTON_C"
+ ]
try:
allkeys.index(txt)
return True
except ValueError:
return False
+
mychecker = MyChecker() # Global class handler
@@ -178,7 +191,7 @@ mychecker = MyChecker() # Global class handler
# ------------------------------------------------------
-class RunActionCheck(bpy.types.Operator):
+class RunActionCheck(Operator):
bl_idname = "iskeyfree.action_check"
bl_label = ""
bl_description = "Verify if the selected shortcut is free"
@@ -188,11 +201,11 @@ class RunActionCheck(bpy.types.Operator):
# ------------------------------
# noinspection PyUnusedLocal
def execute(self, context):
- scene = context.scene
- txt = scene.iskeyfree_data.upper()
+ scene = context.scene.is_keyfree
+ txt = scene.data.upper()
global mychecker
- mychecker.check(txt, scene.iskeyfree_use_crtl, scene.iskeyfree_use_alt, scene.iskeyfree_use_shift,
- scene.iskeyfree_use_oskey)
+ mychecker.check(txt, scene.use_crtl, scene.use_alt, scene.use_shift,
+ scene.use_oskey)
return {'FINISHED'}
@@ -200,7 +213,7 @@ class RunActionCheck(bpy.types.Operator):
# ------------------------------------------------------
# Defines UI panel
# ------------------------------------------------------
-class UIControlPanel(bpy.types.Panel):
+class UIControlPanel(Panel):
bl_space_type = "TEXT_EDITOR"
bl_region_type = "UI"
bl_label = "Is Key Free"
@@ -208,20 +221,20 @@ class UIControlPanel(bpy.types.Panel):
# noinspection PyUnusedLocal
def draw(self, context):
layout = self.layout
- scene = context.scene
+ scene = context.scene.is_keyfree
row = layout.row(align=True)
- row.prop(scene, "iskeyfree_data")
+ row.prop(scene, "data")
row.operator("iskeyfree.action_check", icon="VIEWZOOM")
row = layout.row(align=True)
- row.prop(scene, "iskeyfree_use_crtl", toggle=True)
- row.prop(scene, "iskeyfree_use_alt", toggle=True)
- row.prop(scene, "iskeyfree_use_shift", toggle=True)
- row.prop(scene, "iskeyfree_use_oskey", toggle=True)
+ row.prop(scene, "use_crtl", toggle=True)
+ row.prop(scene, "use_alt", toggle=True)
+ row.prop(scene, "use_shift", toggle=True)
+ row.prop(scene, "use_oskey", toggle=True)
row = layout.row()
- row.prop(scene, "iskeyfree_numpad")
+ row.prop(scene, "numpad")
global mychecker
mylist = mychecker.getlist()
@@ -258,238 +271,237 @@ class UIControlPanel(bpy.types.Panel
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-extensions-cvs
mailing list