[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