forgot to add gpl licence block
[blender-addons-contrib.git] / space_view3d_manipulator_Menu.py
1 #re creating the functionality of the manipulator menu from 2.49
2
3 # ##### BEGIN GPL LICENSE BLOCK #####
4 #
5 #  This program is free software; you can redistribute it and/or
6 #  modify it under the terms of the GNU General Public License
7 #  as published by the Free Software Foundation; either version 2
8 #  of the License, or (at your option) any later version.
9 #
10 #  This program is distributed in the hope that it will be useful,
11 #  but WITHOUT ANY WARRANTY; without even the implied warranty of
12 #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 #  GNU General Public License for more details.
14 #
15 #  You should have received a copy of the GNU General Public License
16 #  along with this program; if not, write to the Free Software Foundation,
17 #  Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
18 #
19 # ##### END GPL LICENSE BLOCK #####
20
21
22 bl_info = {
23     'name': '3d View: Manipulator Menu',
24     'author': 'MichaelW',
25     'version': '1',
26     'blender': (2, 5, 3),
27     "api": 35324,
28     'location': 'View3D > Ctrl Space ',
29     'description': 'Menu to change the manipulator type and/or disable it',
30     'wiki_url': 'http://wiki.blender.org/index.php/Extensions:2.5/Py/'\
31         'Scripts/3D_interaction/Manipulator_Menu',
32     'tracker_url': 'https://projects.blender.org/tracker/index.php?'\
33         'func=detail&aid=22092',
34     'category': '3D View'}
35
36
37
38
39
40
41 import bpy
42
43 def main(context):
44     bpy.context.space_data.manipulator = False
45
46 #class VIEW3D_OT_disable_manipulator(bpy.types.Operator):
47 #    ''''''
48 #    bl_idname = "VIEW3D_OT_disable_manipulator"
49 #    bl_label = "disable manipulator"
50 #
51 #    def poll(self, context):
52 #        return context.active_object != None
53 #
54 #    def execute(self, context):
55 #        main(context)
56 #        return {'FINISHED'}
57 #
58
59
60 class VIEW3D_MT_ManipulatorMenu(bpy.types.Menu):
61     bl_label = "ManipulatorType"
62
63     def draw(self, context):
64         layout = self.layout
65         layout.operator_context = 'INVOKE_REGION_WIN'
66
67
68
69         prop = layout.operator("view3d.enable_manipulator",text ='Translate', icon='MAN_TRANS')
70         prop.translate = True
71
72         prop = layout.operator("view3d.enable_manipulator",text ='Rotate', icon='MAN_ROT')
73         prop.rotate = True
74
75         prop = layout.operator("view3d.enable_manipulator",text ='Scale', icon='MAN_SCALE')
76         prop.scale = True
77         layout.separator()
78
79         prop = layout.operator("view3d.enable_manipulator",text ='Combo', icon='MAN_SCALE')
80         prop.scale = True
81         prop.rotate = True
82         prop.translate = True
83
84         layout.separator()
85
86         bpy.context.space_data.show_manipulator =True
87 #        layout.operator("view3d.disable_manipulator",text ='Disable', icon='MANIPUL')
88 #        layout.separator()
89
90
91             
92 def register():
93     bpy.utils.register_module(__name__)
94     kc = bpy.data.window_managers[0].keyconfigs.default
95     km = kc.keymaps.get('3D View Generic')
96     if km is None:
97         km = kc.keymaps.new(name="3D View Generic")
98
99     kmi = km.keymap_items.new('wm.call_menu', 'SPACE', 'PRESS' , ctrl=True)
100     kmi.properties.name = "VIEW3D_MT_ManipulatorMenu"
101
102
103 def unregister():
104     bpy.utils.unregister_module(__name__)
105     kc = bpy.data.window_managers[0].keyconfigs.default
106     km = kc.keymaps["3D View Generic"]
107
108     for kmi in km.items:
109         if kmi.idname == 'wm.call_menu':
110             if kmi.properties.name == "VIEW3D_MT_ManipulatorMenu":
111                 km.keymap_items.remove(kmi)
112                 break
113
114 if __name__ == "__main__":
115     register