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:
Diffstat (limited to 'object_carver/carver_preferences.py')
-rw-r--r--object_carver/carver_preferences.py194
1 files changed, 194 insertions, 0 deletions
diff --git a/object_carver/carver_preferences.py b/object_carver/carver_preferences.py
new file mode 100644
index 00000000..b7131193
--- /dev/null
+++ b/object_carver/carver_preferences.py
@@ -0,0 +1,194 @@
+import bpy
+from bpy.props import (
+ BoolProperty,
+ IntProperty,
+ PointerProperty,
+ StringProperty,
+)
+
+class CarverPrefs(bpy.types.AddonPreferences):
+ bl_idname = __name__
+
+ Enable_Tab_01: BoolProperty(
+ name="Info",
+ description="Some general information and settings about the add-on",
+ default=False
+ )
+ Enable_Tab_02: BoolProperty(
+ name="Hotkeys",
+ description="List of the shortcuts used during carving",
+ default=False
+ )
+ bpy.types.Scene.Key_Create: StringProperty(
+ name="Object creation",
+ description="Object creation",
+ maxlen=1,
+ default="C"
+ )
+ bpy.types.Scene.Key_Update: StringProperty(
+ name="Auto Bevel Update",
+ description="Auto Bevel Update",
+ maxlen=1,
+ default="A",
+ )
+ bpy.types.Scene.Key_Bool: StringProperty(
+ name="Boolean type",
+ description="Boolean operation type",
+ maxlen=1,
+ default="T",
+ )
+ bpy.types.Scene.Key_Brush: StringProperty(
+ name="Brush Mode",
+ description="Brush Mode",
+ maxlen=1,
+ default="B",
+ )
+ bpy.types.Scene.Key_Help: StringProperty(
+ name="Help display",
+ description="Help display",
+ maxlen=1,
+ default="H",
+ )
+ bpy.types.Scene.Key_Instant: StringProperty(
+ name="Instantiate",
+ description="Instantiate object",
+ maxlen=1,
+ default="I",
+ )
+ bpy.types.Scene.Key_Close: StringProperty(
+ name="Close polygonal shape",
+ description="Close polygonal shape",
+ maxlen=1,
+ default="X",
+ )
+ bpy.types.Scene.Key_Apply: StringProperty(
+ name="Apply operation",
+ description="Apply operation",
+ maxlen=1,
+ default="Q",
+ )
+ bpy.types.Scene.Key_Scale: StringProperty(
+ name="Scale object",
+ description="Scale object",
+ maxlen=1,
+ default="S",
+ )
+ bpy.types.Scene.Key_Gapy: StringProperty(
+ name="Gap rows",
+ description="Scale gap between columns",
+ maxlen=1,
+ default="J",
+ )
+ bpy.types.Scene.Key_Gapx: StringProperty(
+ name="Gap columns",
+ description="Scale gap between columns",
+ maxlen=1,
+ default="U",
+ )
+ bpy.types.Scene.Key_Depth: StringProperty(
+ name="Depth",
+ description="Cursor depth or solidify pattern",
+ maxlen=1,
+ default="D",
+ )
+ bpy.types.Scene.Key_BrushDepth: StringProperty(
+ name="Brush Depth",
+ description="Brush depth",
+ maxlen=1,
+ default="C",
+ )
+ bpy.types.Scene.Key_Subadd: StringProperty(
+ name="Add subdivision",
+ description="Add subdivision",
+ maxlen=1,
+ default="X",
+ )
+ bpy.types.Scene.Key_Subrem: StringProperty(
+ name="Remove subdivision",
+ description="Remove subdivision",
+ maxlen=1,
+ default="W",
+ )
+ bpy.types.Scene.Key_Randrot: StringProperty(
+ name="Random rotation",
+ description="Random rotation",
+ maxlen=1,
+ default="R",
+ )
+ bpy.types.Scene.ProfilePrefix: StringProperty(
+ name="Profile prefix",
+ description="Prefix to look for profiles with",
+ default="Carver_Profile-"
+ )
+
+ def draw(self, context):
+ scene = context.scene
+ layout = self.layout
+ print("DRAW !")
+
+ icon_1 = "TRIA_RIGHT" if not self.Enable_Tab_01 else "TRIA_DOWN"
+ box = layout.box()
+
+ box.prop(self, "Enable_Tab_01", text="Info and Settings", emboss=False, icon=icon_1)
+ if self.Enable_Tab_01:
+ box.label(text="Carver Operator:", icon="LAYER_ACTIVE")
+ box.label(text="Select a Mesh Object and press [CTRL]+[SHIFT]+[X] to carve",
+ icon="LAYER_USED")
+ box.label(text="To finish carving press [ESC] or [RIGHT CLICK]",
+ icon="LAYER_USED")
+ box.prop(scene, "ProfilePrefix", text="Profile prefix")
+
+ icon_2 = "TRIA_RIGHT" if not self.Enable_Tab_02 else "TRIA_DOWN"
+ box = layout.box()
+ box.prop(self, "Enable_Tab_02", text="Keys", emboss=False, icon=icon_2)
+ if self.Enable_Tab_02:
+ split = box.split(align=True)
+ box = split.box()
+ col = box.column(align=True)
+ col.label(text="Object Creation:")
+ col.prop(scene, "Key_Create", text="")
+ col.label(text="Auto bevel update:")
+ col.prop(scene, "Key_Update", text="")
+ col.label(text="Boolean operation type:")
+ col.prop(scene, "Key_Bool", text="")
+ col.label(text="Brush Depth:")
+ col.prop(scene, "Key_BrushDepth", text="")
+
+ box = split.box()
+ col = box.column(align=True)
+ col.label(text="Brush Mode:")
+ col.prop(scene, "Key_Brush", text="")
+ col.label(text="Help display:")
+ col.prop(scene, "Key_Help", text="")
+ col.label(text="Instantiate object:")
+ col.prop(scene, "Key_Instant", text="")
+ col.label(text="Random rotation:")
+ col.prop(scene, "Key_Randrot", text="")
+
+ box = split.box()
+ col = box.column(align=True)
+ col.label(text="Close polygonal shape:")
+ col.prop(scene, "Key_Close", text="")
+ col.label(text="Apply operation:")
+ col.prop(scene, "Key_Apply", text="")
+ col.label(text="Scale object:")
+ col.prop(scene, "Key_Scale", text="")
+ col.label(text="Subdiv add:")
+ col.prop(scene, "Key_Subadd", text="")
+
+ box = split.box()
+ col = box.column(align=True)
+ col.label(text="Gap rows:")
+ col.prop(scene, "Key_Gapy", text="")
+ col.label(text="Gap columns:")
+ col.prop(scene, "Key_Gapx", text="")
+ col.label(text="Depth / Solidify:")
+ col.prop(scene, "Key_Depth", text="")
+ col.label(text="Subdiv Remove:")
+ col.prop(scene, "Key_Subrem", text="")
+
+def register():
+ bpy.utils.register_class(CarverPrefs)
+
+def unregister():
+ bpy.utils.unregister_class(CarverPrefs)