[Bf-extensions-cvs] [9fefecaa] master: archipack: version 1.2.4 - preset menu

Stephen Leger noreply at git.blender.org
Tue Jun 13 13:47:54 CEST 2017


Commit: 9fefecaabb5efa9cba54acb2a4e6c574c269d750
Author: Stephen Leger
Date:   Tue Jun 13 13:47:09 2017 +0200
Branches: master
https://developer.blender.org/rBAC9fefecaabb5efa9cba54acb2a4e6c574c269d750

archipack: version 1.2.4 - preset menu

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

M	archipack/__init__.py
A	archipack/addon_updater.py
A	archipack/addon_updater_ops.py
M	archipack/archipack_2d.py
M	archipack/archipack_autoboolean.py
M	archipack/archipack_door.py
M	archipack/archipack_fence.py
M	archipack/archipack_gl.py
M	archipack/archipack_manipulator.py
A	archipack/archipack_object.py
M	archipack/archipack_polylib.py
M	archipack/archipack_preset.py
M	archipack/archipack_reference_point.py
A	archipack/archipack_roof2d.py
M	archipack/archipack_slab.py
M	archipack/archipack_stair.py
M	archipack/archipack_truss.py
M	archipack/archipack_wall2.py
M	archipack/archipack_window.py
M	archipack/bmesh_utils.py
M	archipack/materialutils.py
A	archipack/presets/archipack_door/160x200_dual.png
A	archipack/presets/archipack_door/160x200_dual.py
A	archipack/presets/archipack_door/400x240_garage.png
A	archipack/presets/archipack_door/400x240_garage.py
A	archipack/presets/archipack_door/80x200.png
A	archipack/presets/archipack_door/80x200.py
A	archipack/presets/archipack_fence/glass_panels.png
A	archipack/presets/archipack_fence/glass_panels.py
A	archipack/presets/archipack_fence/inox_glass_concrete.png
A	archipack/presets/archipack_fence/inox_glass_concrete.py
A	archipack/presets/archipack_fence/metal.png
A	archipack/presets/archipack_fence/metal.py
A	archipack/presets/archipack_fence/metal_glass.png
A	archipack/presets/archipack_fence/metal_glass.py
A	archipack/presets/archipack_fence/wood.png
A	archipack/presets/archipack_fence/wood.py
A	archipack/presets/archipack_stair/i_wood_over_concrete.png
A	archipack/presets/archipack_stair/i_wood_over_concrete.py
A	archipack/presets/archipack_stair/l_wood_over_concrete.png
A	archipack/presets/archipack_stair/l_wood_over_concrete.py
A	archipack/presets/archipack_stair/o_wood_over_concrete.png
A	archipack/presets/archipack_stair/o_wood_over_concrete.py
A	archipack/presets/archipack_stair/u_wood_over_concrete.png
A	archipack/presets/archipack_stair/u_wood_over_concrete.py
A	archipack/presets/archipack_window/120x110_flat_2.png
A	archipack/presets/archipack_window/120x110_flat_2.py
A	archipack/presets/archipack_window/120x110_flat_2_elliptic.png
A	archipack/presets/archipack_window/120x110_flat_2_elliptic.py
A	archipack/presets/archipack_window/120x110_flat_2_oblique.png
A	archipack/presets/archipack_window/120x110_flat_2_oblique.py
A	archipack/presets/archipack_window/120x110_flat_2_round.png
A	archipack/presets/archipack_window/120x110_flat_2_round.py
A	archipack/presets/archipack_window/180x110_flat_3.png
A	archipack/presets/archipack_window/180x110_flat_3.py
A	archipack/presets/archipack_window/180x210_flat_3.png
A	archipack/presets/archipack_window/180x210_flat_3.py
A	archipack/presets/archipack_window/180x210_rail_2.png
A	archipack/presets/archipack_window/180x210_rail_2.py
A	archipack/presets/archipack_window/240x210_rail_3.png
A	archipack/presets/archipack_window/240x210_rail_3.py
A	archipack/presets/archipack_window/80x80_flat_1.png
A	archipack/presets/archipack_window/80x80_flat_1.py
A	archipack/presets/archipack_window/80x80_flat_1_circle.png
A	archipack/presets/archipack_window/80x80_flat_1_circle.py
A	archipack/presets/missing.png

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

diff --git a/archipack/__init__.py b/archipack/__init__.py
index 56c0bcc4..a496dedf 100644
--- a/archipack/__init__.py
+++ b/archipack/__init__.py
@@ -31,7 +31,7 @@ bl_info = {
     'author': 's-leger',
     'license': 'GPL',
     'deps': 'shapely',
-    'version': (1, 2, 3),
+    'version': (1, 2, 4),
     'blender': (2, 7, 8),
     'location': 'View3D > Tools > Create > Archipack',
     'warning': '',
@@ -55,11 +55,12 @@ if "bpy" in locals():
     imp.reload(archipack_stair)
     imp.reload(archipack_wall)
     imp.reload(archipack_wall2)
-    # imp.reload(archipack_roof2d)
+    imp.reload(archipack_roof2d)
     imp.reload(archipack_slab)
     imp.reload(archipack_fence)
     imp.reload(archipack_truss)
     imp.reload(archipack_rendering)
+    imp.reload(addon_updater_ops)
     try:
         imp.reload(archipack_polylib)
         HAS_POLYLIB = True
@@ -78,11 +79,12 @@ else:
     from . import archipack_stair
     from . import archipack_wall
     from . import archipack_wall2
-    # from . import archipack_roof2d
+    from . import archipack_roof2d
     from . import archipack_slab
     from . import archipack_fence
     from . import archipack_truss
     from . import archipack_rendering
+    from . import addon_updater_ops
     try:
         """
             polylib depends on shapely
@@ -95,8 +97,6 @@ else:
         HAS_POLYLIB = False
         pass
 
-    # from . import archipack_polylib
-
     print("archipack: ready")
 
 # noinspection PyUnresolvedReferences
@@ -108,9 +108,10 @@ from bpy.types import (
     )
 from bpy.props import (
     EnumProperty, PointerProperty,
-    StringProperty,
+    StringProperty, BoolProperty,
     IntProperty, FloatProperty, FloatVectorProperty
     )
+
 from bpy.utils import previews
 icons_collection = {}
 
@@ -228,6 +229,41 @@ class Archipack_Pref(AddonPreferences):
             min=0, max=1
             )
 
+    # addon updater preferences
+
+    auto_check_update = BoolProperty(
+        name="Auto-check for Update",
+        description="If enabled, auto-check for updates using an interval",
+        default=False,
+        )
+
+    updater_intrval_months = IntProperty(
+        name='Months',
+        description="Number of months between checking for updates",
+        default=0,
+        min=0
+        )
+    updater_intrval_days = IntProperty(
+        name='Days',
+        description="Number of days between checking for updates",
+        default=7,
+        min=0,
+        )
+    updater_intrval_hours = IntProperty(
+        name='Hours',
+        description="Number of hours between checking for updates",
+        default=0,
+        min=0,
+        max=23
+        )
+    updater_intrval_minutes = IntProperty(
+        name='Minutes',
+        description="Number of minutes between checking for updates",
+        default=0,
+        min=0,
+        max=59
+        )
+
     def draw(self, context):
         layout = self.layout
         row = layout.row()
@@ -258,6 +294,7 @@ class Archipack_Pref(AddonPreferences):
         col.label(text="Manipulators:")
         col.prop(self, "arrow_size")
         col.prop(self, "handle_size")
+        addon_updater_ops.update_settings_ui(self, context)
 
 
 # ----------------------------------------------------
@@ -392,8 +429,9 @@ class TOOLS_PT_Archipack_Tools(Panel):
         box = row.box()
         box.label("Auto boolean")
         row = box.row(align=True)
-        row.operator("archipack.auto_boolean", text="Robust", icon='HAND').interactive = False
-        row.operator("archipack.auto_boolean", text="Interactive", icon='AUTO').interactive = True
+        # row.operator("archipack.auto_boolean", text="Robust", icon='HAND').mode = 'ROBUST'
+        # row.operator("archipack.auto_boolean", text="Interactive", icon='AUTO').mode = 'INTERACTIVE'
+        row.operator("archipack.auto_boolean", text="AutoBoolean", icon='AUTO').mode = 'HYBRID'
         row = layout.row(align=True)
         box = row.box()
         box.label("Rendering")
@@ -416,6 +454,8 @@ class TOOLS_PT_Archipack_Create(Panel):
 
     def draw(self, context):
         global icons_collection
+        addon_updater_ops.check_for_update_background(context)
+
         icons = icons_collection["main"]
         layout = self.layout
         row = layout.row(align=True)
@@ -424,24 +464,29 @@ class TOOLS_PT_Archipack_Create(Panel):
         row = box.row(align=True)
         col = row.column()
         subrow = col.row(align=True)
-        subrow.operator("archipack.window",
+        subrow.operator("archipack.window_preset_menu",
+                    text="Window",
                     icon_value=icons["window"].icon_id
-                    ).mode = 'CREATE'
-        subrow.operator("archipack.window_draw",
+                    ).preset_operator = "archipack.window"
+        subrow.operator("archipack.window_preset_menu",
                     text="",
-                    icon='GREASEPENCIL')
+                    icon='GREASEPENCIL'
+                    ).preset_operator = "archipack.window_draw"
         col = row.column()
         subrow = col.row(align=True)
-        subrow.operator("archipack.door",
+        subrow.operator("archipack.door_preset_menu",
+                    text="Door",
                     icon_value=icons["door"].icon_id
-                    ).mode = 'CREATE'
-        subrow.operator("archipack.door_draw",
+                    ).preset_operator = "archipack.door"
+        subrow.operator("archipack.door_preset_menu",
                     text="",
-                    icon='GREASEPENCIL')
+                    icon='GREASEPENCIL'
+                    ).preset_operator = "archipack.door_draw"
         row = box.row(align=True)
-        row.operator("archipack.stair",
+        row.operator("archipack.stair_preset_menu",
+                    text="Stair",
                     icon_value=icons["stair"].icon_id
-                    )
+                    ).preset_operator = "archipack.stair"
         row = box.row(align=True)
         row.operator("archipack.wall2",
                     icon_value=icons["wall"].icon_id
@@ -450,18 +495,16 @@ class TOOLS_PT_Archipack_Create(Panel):
         row.operator("archipack.wall2_from_curve", text="", icon='CURVE_DATA')
 
         row = box.row(align=True)
-        row.operator("archipack.fence",
+        row.operator("archipack.fence_preset_menu",
+                    text="Fence",
                     icon_value=icons["fence"].icon_id
-                    )
+                    ).preset_operator = "archipack.fence"
         row.operator("archipack.fence_from_curve", text="", icon='CURVE_DATA')
-        # row = box.row(align=True)
-        # row.operator("archipack.roof", icon='CURVE_DATA')
         row = box.row(align=True)
         row.operator("archipack.truss",
                     icon_value=icons["truss"].icon_id
                     )
         row = box.row(align=True)
-        # row.operator("archipack.slab")
         row.operator("archipack.slab_from_curve",
                     icon_value=icons["slab"].icon_id
                     )
@@ -471,14 +514,21 @@ class TOOLS_PT_Archipack_Create(Panel):
                     icon_value=icons["wall"].icon_id)
         row.operator("archipack.slab_from_wall",
                     icon_value=icons["slab"].icon_id
-                    )
+                    ).ceiling = False
+        row.operator("archipack.slab_from_wall",
+                    text="->Ceiling",
+                    icon_value=icons["slab"].icon_id
+                    ).ceiling = True
 
+        addon_updater_ops.update_notice_box_ui(self, context)
+        # row = box.row(align=True)
+        # row.operator("archipack.roof", icon='CURVE_DATA')
 
 # ----------------------------------------------------
 # ALT + A menu
 # ----------------------------------------------------
 
-# Define "Archipack" menu
+
 def menu_func(self, context):
     global icons_collection
     icons = icons_collection["main"]
@@ -489,22 +539,22 @@ def menu_func(self, context):
                     text="Wall",
                     icon_value=icons["wall"].icon_id
                     )
-    layout.operator("archipack.window",
+    layout.operator("archipack.window_preset_menu",
                     text="Window",
                     icon_value=icons["window"].icon_id
-                    ).mode = 'CREATE'
-    layout.operator("archipack.door",
+                    ).preset_operator = "archipack.window"
+    layout.operator("archipack.door_preset_menu",
                     text="Door",
                     icon_value=icons["door"].icon_id
-                    ).mode = 'CREATE'
-    layout.operator("archipack.stair",
+                    ).preset_operator = "archipack.door"
+    layout.operator("archipack.stair_preset_menu",
                     text="Stair",
                     icon_value=icons["stair"].icon_id
-                    )
-    layout.operator("archipack.fence",
+                    ).preset_operator = "archipack.stair"
+    layout.operator("archipack.fence_preset_menu",
                     text="Fence",
                     icon_value=icons["fence"].icon_id
-                    )
+                    ).preset_operator = "archipack.fence"
     layout.operator("archipack.truss",
                     text="Truss",
                     icon_value=icons["truss"].icon_id
@@ -538,7 +588,7 @@ def register():
         name, ext = os.path.splitext(icon)
         icons.load(name, os.path.join(icons_dir, icon), 'IMAGE')
     icons_collection["main"] = icons
-    
+
     archipack_snap.register()
     archipack_manipulator.register()
     archipack_reference_point.register()
@@ -548,7 +598,7 @@ def register():
     archipack_stair.register()
     archipack_wall.register()
     archipack_wall2.register()
-    # archipack_roof2d.register()
+    archipack_roof2d.register()
     archipack_slab.register()
     archipack_fence.register()
     archipack_truss.register()
@@ -562,6 +612,8 @@ def register():
     WindowManager.archipack = PointerProperty(type=archipack_data)
     bpy.utils.register_class(Archipack_Pref)
     update_panel(None, bpy.context)
+
+    addon_updater_ops.register(bl_info)
     # bpy.utils.register_module(__name__)
 
 
@@ -583,7 +635

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-extensions-cvs mailing list