[Bf-extensions-cvs] [9c045fdd] master: Add Curve Extra Objects: Cleanup, refactor some code

lijenstina noreply at git.blender.org
Sat Jun 3 13:38:44 CEST 2017


Commit: 9c045fdd8808b8745d0af66ce7dda1e0da592332
Author: lijenstina
Date:   Sat Jun 3 13:37:35 2017 +0200
Branches: master
https://developer.blender.org/rBA9c045fdd8808b8745d0af66ce7dda1e0da592332

Add Curve Extra Objects: Cleanup, refactor some code

Bumped version to 0.1.2
Pep8 cleanup
Consistent property definitions
Remove star imports
Some small UI fixes
Reorder the submenu items types Alphabetically
Add Curve braid: merge in the bpybraid and braid scripts
since they are relatively small
Add Simple Curve - use a property group for scene props
Add list of Menus and Panels available in the User Preferences

===================================================================

M	add_curve_extra_objects/__init__.py
M	add_curve_extra_objects/add_curve_aceous_galore.py
M	add_curve_extra_objects/add_curve_braid.py
M	add_curve_extra_objects/add_curve_celtic_links.py
M	add_curve_extra_objects/add_curve_curly.py
M	add_curve_extra_objects/add_curve_simple.py
M	add_curve_extra_objects/add_curve_spirals.py
M	add_curve_extra_objects/add_curve_spirofit_bouncespline.py
M	add_curve_extra_objects/add_curve_torus_knots.py
M	add_curve_extra_objects/add_surface_plane_cone.py
M	add_curve_extra_objects/beveltaper_curve.py
D	add_curve_extra_objects/bpybraid.py
D	add_curve_extra_objects/braid.py

===================================================================

diff --git a/add_curve_extra_objects/__init__.py b/add_curve_extra_objects/__init__.py
index f328ed9d..ae8cdf89 100644
--- a/add_curve_extra_objects/__init__.py
+++ b/add_curve_extra_objects/__init__.py
@@ -15,19 +15,20 @@
 #  Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 #
 # ##### END GPL LICENSE BLOCK #####
-# Contributed to by
+# Contributed to by:
 # testscreenings, Alejandro Omar Chocano Vasquez, Jimmy Hazevoet, meta-androcto #
-# Cmomoney, Jared Forsyth, Adam Newgas, Spivak Vladimir
+# Cmomoney, Jared Forsyth, Adam Newgas, Spivak Vladimir, Jared Forsyth, Atom    #
+# Antonio Osprite, Marius Giurgi (DolphinDream)
 
 bl_info = {
     "name": "Extra Objects",
     "author": "Multiple Authors",
-    "version": (0, 1),
+    "version": (0, 1, 2),
     "blender": (2, 76, 0),
     "location": "View3D > Add > Curve > Extra Objects",
     "description": "Add extra curve object types",
     "warning": "",
-    "wiki_url": "http://wiki.blender.org/index.php/Extensions:2.6/Py/"
+    "wiki_url": "https://wiki.blender.org/index.php/Extensions:2.6/Py/"
                 "Scripts/Curve/Curve_Objects",
     "category": "Add Curve"
     }
@@ -58,11 +59,21 @@ else:
     from . import add_curve_spirofit_bouncespline
 
 import bpy
-from bpy.types import Menu, AddonPreferences
-from bpy.props import StringProperty, IntProperty, BoolProperty
+from bpy.types import (
+        Menu,
+        AddonPreferences,
+        )
+from bpy.props import (
+        StringProperty,
+        BoolProperty,
+        )
 
-def convert_old_presets(data_path, msg_data_path, old_preset_subdir, new_preset_subdir, fixdic={}, ext=".py"):
-    ''' convert old presets '''
+
+def convert_old_presets(data_path, msg_data_path, old_preset_subdir,
+                        new_preset_subdir, fixdic={}, ext=".py"):
+    """
+    convert old presets
+    """
 
     def convert_presets(self, context):
         if not getattr(self, data_path, False):
@@ -104,6 +115,7 @@ def convert_old_presets(data_path, msg_data_path, old_preset_subdir, new_preset_
             file_preset = open(new_file_path, 'w')
             file_preset.write("import bpy\n")
             file_preset.write("op = bpy.context.active_operator\n")
+
             for prop, value in vars(op).items():
                 if isinstance(value, str):
                     file_preset.write("op.%s = '%s'\n" % (prop, str(value)))
@@ -114,37 +126,106 @@ def convert_old_presets(data_path, msg_data_path, old_preset_subdir, new_preset_
 
         setattr(self, msg_data_path, "Converted %d old presets" % len(files))
         return None
+
     return convert_presets
 
 
+# Addons Preferences
+
 class CurveExtraObjectsAddonPreferences(AddonPreferences):
     bl_idname = __name__
 
-    spiral_fixdic = {"spiral_type": ['ARCH', 'ARCH', 'LOG', 'SPHERE', 'TORUS'],
-              "curve_type": ['POLY', 'NURBS'],
-              "spiral_direction": ['COUNTER_CLOCKWISE', 'CLOCKWISE']
-                     }
-    update_spiral_presets_msg = StringProperty(default="Nothing to do")
+    spiral_fixdic = {
+            "spiral_type": ['ARCH', 'ARCH', 'LOG', 'SPHERE', 'TORUS'],
+            "curve_type": ['POLY', 'NURBS'],
+            "spiral_direction": ['COUNTER_CLOCKWISE', 'CLOCKWISE']
+            }
+    update_spiral_presets_msg = StringProperty(
+            default="Nothing to do"
+            )
     update_spiral_presets = BoolProperty(
             name="Update Old Presets",
             description="Update presets to reflect data changes",
             default=False,
-            update=convert_old_presets("update_spiral_presets",  # this props name
-                                       "update_spiral_presets_msg",  # message prop
-                                       "operator/curve.spirals",
-                                       "curve_extras/curve.spirals",
-                                       fixdic=spiral_fixdic)
+            update=convert_old_presets(
+                    "update_spiral_presets",  # this props name
+                    "update_spiral_presets_msg",  # message prop
+                    "operator/curve.spirals",
+                    "curve_extras/curve.spirals",
+                    fixdic=spiral_fixdic
+                    )
+            )
+    show_menu_list = BoolProperty(
+            name="Menu List",
+            description="Show/Hide the Add Menu items",
+            default=False
+            )
+    show_panel_list = BoolProperty(
+            name="Panels List",
+            description="Show/Hide the Panel items",
+            default=False
             )
 
     def draw(self, context):
         layout = self.layout
-        layout.label(text="Spirals")
+        box = layout.box()
+        box.label(text="Spirals:")
+
         if self.update_spiral_presets:
-            layout.label(self.update_spiral_presets_msg, icon='FILE_TICK')
+            box.label(self.update_spiral_presets_msg, icon="FILE_TICK")
         else:
-            layout.prop(self, "update_spiral_presets")
+            box.prop(self, "update_spiral_presets")
+
+        icon_1 = "TRIA_RIGHT" if not self.show_menu_list else "TRIA_DOWN"
+        box = layout.box()
+        box.prop(self, "show_menu_list", emboss=False, icon=icon_1)
+
+        if self.show_menu_list:
+            box.label(text="Items located in the Add Menu > Curve (default shortcut Ctrl + A):",
+                      icon="LAYER_USED")
+            box.label(text="2D Objects:", icon="LAYER_ACTIVE")
+            box.label(text="Angle, Arc, Circle, Distance, Ellipse, Line, Point, Polygon,",
+                      icon="LAYER_USED")
+            box.label(text="Polygon ab, Rectangle, Rhomb, Sector, Segment, Trapezoid",
+                      icon="LAYER_USED")
+            box.label(text="Curve Profiles:", icon="LAYER_ACTIVE")
+            box.label(text="Arc, Arrow, Cogwheel, Cycloid, Flower, Helix (3D),",
+                      icon="LAYER_USED")
+            box.label(text="Noise (3D), Nsided, Profile, Rectangle, Splat, Star",
+                      icon="LAYER_USED")
+            box.label(text="Curve Spirals:", icon="LAYER_ACTIVE")
+            box.label(text="Archemedian, Logarithmic, Spheric, Torus",
+                      icon="LAYER_USED")
+            box.label(text="Knots:", icon="LAYER_ACTIVE")
+            box.label(text="Torus Knots Plus, Celtic Links, Braid Knot",
+                      icon="LAYER_USED")
+            box.label(text="Curly Curve", icon="LAYER_ACTIVE")
+            box.label(text="Bevel/Taper:", icon="LAYER_ACTIVE")
+            box.label(text="Add Curve as Bevel, Add Curve as Taper",
+                      icon="LAYER_USED")
+
+            box.label(text="Items located in the Add Menu > Surface (default shortcut Ctrl + A):",
+                      icon="LAYER_USED")
+            box.label(text="Wedge, Cone, Star, Plane",
+                      icon="LAYER_ACTIVE")
 
-class INFO_MT_curve_knots_add1(bpy.types.Menu):
+        icon_2 = "TRIA_RIGHT" if not self.show_panel_list else "TRIA_DOWN"
+        box = layout.box()
+        box.prop(self, "show_panel_list", emboss=False, icon=icon_2)
+
+        if self.show_panel_list:
+            box.label(text="Panel located in 3D View Tools Region > Create:",
+                      icon="LAYER_ACTIVE")
+            box.label(text="Spline:", icon="LAYER_ACTIVE")
+            box.label(text="SpiroFit, Bounce Spline, Catenary", icon="LAYER_USED")
+            box.label(text="Panel located in 3D View Tools Region > Tools:",
+                      icon="LAYER_ACTIVE")
+            box.label(text="Simple Curve:", icon="LAYER_ACTIVE")
+            box.label(text="Available if the Active Object is a Curve was created with 2D Objects",
+                     icon="LAYER_USED")
+
+
+class INFO_MT_curve_knots_add1(Menu):
     # Define the "Extras" menu
     bl_idname = "curve_knots_add"
     bl_label = "Plants"
@@ -152,13 +233,10 @@ class INFO_MT_curve_knots_add1(bpy.types.Menu):
     def draw(self, context):
         layout = self.layout
         layout.operator_context = 'INVOKE_REGION_WIN'
-        layout.operator("curve.torus_knot_plus",
-                        text="Torus Knot Plus")
-        layout.operator("curve.celtic_links",
-                        text="Celtic Links")
-        layout.operator("mesh.add_braid",
-                        text="Braid Knot")
 
+        layout.operator("curve.torus_knot_plus", text="Torus Knot Plus")
+        layout.operator("curve.celtic_links", text="Celtic Links")
+        layout.operator("mesh.add_braid", text="Braid Knot")
 
 
 # Define "Extras" menus
@@ -166,31 +244,38 @@ def menu_func(self, context):
     if context.mode != 'OBJECT':
         # fix in D2142 will allow to work in EDIT_CURVE
         return None
+
     layout = self.layout
 
-    layout.operator_menu_enum("mesh.curveaceous_galore",
-                         "ProfileType",
-                         icon='CURVE_DATA')
-    layout.operator_menu_enum("curve.spirals",
-                         "spiral_type",
-                         icon='CURVE_DATA')
+    layout.operator_menu_enum("mesh.curveaceous_galore", "ProfileType",
+                              icon='CURVE_DATA')
+    layout.operator_menu_enum("curve.spirals", "spiral_type",
+                              icon='CURVE_DATA')
     layout.separator()
+
     layout.menu("curve_knots_add", text="Knots", icon='CURVE_DATA')
     layout.separator()
-    layout.operator("curve.curlycurve", text="Curly Curve", icon='CURVE_DATA')
-    layout.menu("OBJECT_MT_bevel_taper_curve_menu", text="Bevel/Taper", icon='CURVE_DATA')
+    layout.operator("curve.curlycurve", text="Curly Curve",
+                    icon='CURVE_DATA')
+    layout.menu("OBJECT_MT_bevel_taper_curve_menu", text="Bevel/Taper",
+                icon='CURVE_DATA')
 
 
 def menu_surface(self, context):
-    layout = self.layout
     self.layout.separator()
     if context.mode == 'EDIT_SURFACE':
-        self.layout.operator("curve.smooth_x_times", text="Special Smooth", icon="MOD_CURVE")
+        self.layout.operator("curve.smooth_x_times",
+                             text="Special Smooth", icon="MOD_CURVE")
     elif context.mode == 'OBJECT':
-        self.layout.operator("object.add_

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-extensions-cvs mailing list