[Bf-extensions-cvs] SVN commit: /data/svn/bf-extensions [2415] branches/geodesic_domes/ funnylayout.py: An example how to build 'strange' (but nice) GUI
Peter K.H. Gragert
pkhgragert at gmail.com
Mon Oct 10 17:53:34 CEST 2011
Revision: 2415
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-extensions&revision=2415
Author: pkhg
Date: 2011-10-10 15:53:33 +0000 (Mon, 10 Oct 2011)
Log Message:
-----------
An example how to build 'strange' (but nice) GUI
Added Paths:
-----------
branches/geodesic_domes/funnylayout.py
Added: branches/geodesic_domes/funnylayout.py
===================================================================
--- branches/geodesic_domes/funnylayout.py (rev 0)
+++ branches/geodesic_domes/funnylayout.py 2011-10-10 15:53:33 UTC (rev 2415)
@@ -0,0 +1,89 @@
+#http://blenderartists.org/forum/showthread.php?t=210513&p=1799525&viewfull=1#post1799525
+#http://blenderartists.org/forum/showthread.php?210513-blender-2.56-UI-scripting
+#----------------------------------------------------------
+# File layout.py
+#----------------------------------------------------------
+import bpy
+from bpy.props import IntProperty
+
+class LayoutPanel(bpy.types.Panel):
+ bl_label = "Panel with funny layout"
+ bl_space_type = "VIEW_3D"
+ bl_region_type = "TOOL_PROPS"
+
+ def draw(self, context):
+ layout = self.layout
+
+ layout.label("First row")
+ row = layout.row(align=True)
+ row.alignment = 'EXPAND'
+ row.operator("object.button", text="1").mode = 1
+ row.operator("object.button", text="2", icon='MESH_DATA').mode = 2
+ row.operator("object.button", icon='LAMP_DATA')
+
+ row = layout.row(align=False)
+ row.alignment = 'LEFT'
+ row.operator("object.button", text="4").mode = 4
+ row.operator("object.button", text="", icon='MATERIAL').mode =5
+ row.operator("object.button", text="6", icon='BLENDER').mode=6
+ row.operator("object.button", text="7", icon='WORLD').mode=7
+
+ layout.label("Third row", icon='TEXT')
+ row = layout.row()
+ row.alignment = 'RIGHT'
+ row.operator("object.button", text="8").mode=8
+ row.operator("object.button", text="9", icon='SCENE').mode=9
+ row.operator("object.button", text="10", icon='BRUSH_INFLATE').mode=10
+ #etc for the other object.buttons calls mode = ....
+ layout.label("Fourth row", icon='ACTION')
+ row = layout.row()
+ box = row.box()
+ box.operator("object.button", text="11", emboss=False)
+ box.operator("object.button", text="12", emboss=False)
+ col = row.column()
+ subrow = col.row()
+ subrow.operator("object.button", text="13")
+ subrow.operator("object.button", text="14")
+ subrow = col.row(align=True)
+ subrow.operator("object.button", text="15")
+ subrow.operator("object.button", text="16")
+ box = row.box()
+ box.operator("object.button", text="17")
+ box.separator()
+ box.operator("object.button", text="18")
+ box.operator("object.button", text="19")
+
+ layout.label("Fifth row")
+ row = layout.row()
+ split = row.split(percentage=0.25)
+ col = split.column()
+ col.operator("object.button", text="21")
+ col.operator("object.button", text="22")
+ split = split.split(percentage=0.3)
+ col = split.column()
+ col.operator("object.button", text="23")
+ split = split.split(percentage=0.5)
+ col = split.column()
+ col.operator("object.button", text="24")
+ col.operator("object.button", text="25")
+
+
+class OBJECT_OT_Button(bpy.types.Operator):
+ bl_idname = "object.button"
+ bl_label = "Button"
+ mode = IntProperty(name="mode",min =-100, max =20,soft_max=10,default =-99)
+ def execute(self, context):
+ print("Hello world!")
+ print(self.mode)
+ return{'FINISHED'}
+
+def register():
+ bpy.utils.register_module(__name__)
+ pass
+
+def unregister():
+ bpy.utils.unregister_module(__name__)
+ pass
+
+if __name__ == "__main__":
+ register()
More information about the Bf-extensions-cvs
mailing list