Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender-addons.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormano-wii <germano.costa@ig.com.br>2019-03-18 21:51:09 +0300
committermano-wii <germano.costa@ig.com.br>2019-03-18 21:51:09 +0300
commit742fa2002ee416cddcc81e90ca8dbaa5ab520428 (patch)
tree6e07f282107c044c21f1e1cc68691904625e12ba /mesh_snap_utilities_line/preferences.py
parent4aa080a1c338177ade30534f5d4ba20423446a8d (diff)
mesh_snap_utilities_line: Update for changes in Blender
Diffstat (limited to 'mesh_snap_utilities_line/preferences.py')
-rw-r--r--mesh_snap_utilities_line/preferences.py116
1 files changed, 91 insertions, 25 deletions
diff --git a/mesh_snap_utilities_line/preferences.py b/mesh_snap_utilities_line/preferences.py
index 7361284e..11b91dc4 100644
--- a/mesh_snap_utilities_line/preferences.py
+++ b/mesh_snap_utilities_line/preferences.py
@@ -16,6 +16,7 @@
# ##### END GPL LICENSE BLOCK #####
import bpy
+
from bpy.props import (
EnumProperty,
StringProperty,
@@ -25,6 +26,10 @@ from bpy.props import (
FloatProperty,
)
+from bpy.app.translations import contexts as i18n_contexts
+
+import rna_keymap_ui
+
class SnapUtilitiesPreferences(bpy.types.AddonPreferences):
# this must match the addon name, use '__package__'
@@ -67,38 +72,47 @@ class SnapUtilitiesPreferences(bpy.types.AddonPreferences):
step=1,
precision=3)
- out_color: FloatVectorProperty(name="OUT", default=(0.0, 0.0, 0.0, 0.5), size=4, subtype="COLOR", min=0, max=1)
- face_color: FloatVectorProperty(name="FACE", default=(1.0, 0.8, 0.0, 0.5), size=4, subtype="COLOR", min=0, max=1)
- edge_color: FloatVectorProperty(name="EDGE", default=(0.0, 0.8, 1.0, 0.5), size=4, subtype="COLOR", min=0, max=1)
- vert_color: FloatVectorProperty(name="VERT", default=(1.0, 0.5, 0.0, 0.5), size=4, subtype="COLOR", min=0, max=1)
- center_color: FloatVectorProperty(name="CENTER", default=(1.0, 0.0, 1.0, 1.0), size=4, subtype="COLOR", min=0, max=1)
- perpendicular_color: FloatVectorProperty(name="PERPENDICULAR", default=(0.1, 0.5, 0.5, 1.0), size=4, subtype="COLOR", min=0, max=1)
- constrain_shift_color: FloatVectorProperty(name="SHIFT CONSTRAIN", default=(0.8, 0.5, 0.4, 1.0), size=4, subtype="COLOR", min=0, max=1)
+ out_color: FloatVectorProperty(name="Floor", default=(0.0, 0.0, 0.0, 0.5), size=4, subtype="COLOR", min=0, max=1)
+ face_color: FloatVectorProperty(name="Face Highlighted", default=(1.0, 0.8, 0.0, 0.5), size=4, subtype="COLOR", min=0, max=1)
+ edge_color: FloatVectorProperty(name="Edge Highlighted", default=(0.0, 0.8, 1.0, 0.5), size=4, subtype="COLOR", min=0, max=1)
+ vert_color: FloatVectorProperty(name="Vertex Highlighted", default=(1.0, 0.5, 0.0, 0.5), size=4, subtype="COLOR", min=0, max=1)
+ center_color: FloatVectorProperty(name="Middle of the Edge", default=(1.0, 0.0, 1.0, 1.0), size=4, subtype="COLOR", min=0, max=1)
+ perpendicular_color: FloatVectorProperty(name="Perpendicular Point", default=(0.1, 0.5, 0.5, 1.0), size=4, subtype="COLOR", min=0, max=1)
+ constrain_shift_color: FloatVectorProperty(name="Shift Constrain", default=(0.8, 0.5, 0.4, 1.0), size=4, subtype="COLOR", min=0, max=1)
+
+ # hidden
+ tabs: EnumProperty(
+ name="Tabs",
+ items = [
+ ("GENERAL", "General", ""),
+ ("KEYMAPS", "Keymaps", ""),
+ ("COLORS", "Colors", ""),
+ ],
+ default="GENERAL")
def draw(self, context):
layout = self.layout
- layout.label(text="Snap Colors:")
- split = layout.split()
-
- col = split.column()
- col.prop(self, "out_color")
- col.prop(self, "constrain_shift_color")
- col = split.column()
- col.prop(self, "face_color")
- col = split.column()
- col.prop(self, "edge_color")
- col = split.column()
- col.prop(self, "vert_color")
- col = split.column()
- col.prop(self, "center_color")
- col = split.column()
- col.prop(self, "perpendicular_color")
-
+ # TAB BAR
row = layout.row()
+ row.prop(self, "tabs", expand=True)
+
+ box = layout.box()
+
+ if self.tabs == "GENERAL":
+ self.draw_general(box)
+ if self.tabs == "COLORS":
+ self.draw_snap_utilities_colors(box)
+
+ elif self.tabs == "KEYMAPS":
+ self.draw_snap_utilities_keymaps(context, box)
+
+ def draw_general(self, layout):
+ row = layout.row()
col = row.column()
- #col.label(text="Snap Items:")
+
+ col.label(text="Snap Properties:")
col.prop(self, "incremental")
col.prop(self, "increments_grid")
if self.increments_grid:
@@ -111,3 +125,55 @@ class SnapUtilitiesPreferences(bpy.types.AddonPreferences):
col.label(text="Line Tool:")
col.prop(self, "intersect")
col.prop(self, "create_face")
+
+ def draw_snap_utilities_colors(self, layout):
+ layout.use_property_split = True
+
+ flow = layout.grid_flow(row_major=False, columns=0, even_columns=True, even_rows=False, align=False)
+
+ flow.prop(self, "out_color")
+ flow.prop(self, "constrain_shift_color")
+ flow.prop(self, "face_color")
+ flow.prop(self, "edge_color")
+ flow.prop(self, "vert_color")
+ flow.prop(self, "center_color")
+ flow.prop(self, "perpendicular_color")
+
+ def draw_snap_utilities_keymaps(self, context, layout):
+ from .keys import (
+ generate_snap_utilities_global_keymaps,
+ generate_snap_utilities_tools_keymaps,
+ )
+
+ wm = context.window_manager
+ #kc = wm.keyconfigs.addon
+ kc = wm.keyconfigs.user
+
+ layout.label(text="Global:")
+
+ for km_name, km_args, km_content in generate_snap_utilities_global_keymaps():
+ km = kc.keymaps.get(km_name)
+ if km:
+ self.draw_snap_utilities_km(kc, km, layout)
+
+ layout.label(text="Tools:")
+
+ for km_name, km_args, km_content in generate_snap_utilities_tools_keymaps():
+ km = kc.keymaps.get(km_name)
+ if km:
+ self.draw_snap_utilities_km(kc, km, layout)
+
+ @staticmethod
+ def draw_snap_utilities_km(kc, km, layout):
+ layout.context_pointer_set("keymap", km)
+
+ row = layout.row()
+ row.prop(km, "show_expanded_items", text="", emboss=False)
+ row.label(text=km.name, text_ctxt=i18n_contexts.id_windowmanager)
+
+ if km.show_expanded_items:
+ col = layout.column()
+
+ for kmi in km.keymap_items:
+ if "snap_utilities" in kmi.idname:
+ rna_keymap_ui.draw_kmi(["ADDON", "USER", "DEFAULT"], kc, km, kmi, col, 0)