55 lines
1.8 KiB
Python
55 lines
1.8 KiB
Python
from .utils import *
|
|
from bpy.props import *
|
|
|
|
|
|
class CustomShelfSettings(bpy.types.PropertyGroup):
|
|
panel_list = []
|
|
# category_enum = EnumProperty(items = )
|
|
# tab_enum = EnumProperty(items = lambda s,c : [(f,f,"") for f in s.tabs])
|
|
|
|
# search = StringProperty(options = {"TEXTEDIT_UPDATE"})
|
|
# filter = BoolProperty(default = True)
|
|
# folders = PointerProperty(type= CustomShelfFolders)
|
|
# variables = bpy.props.PointerProperty(type= CustomShelfVariables)
|
|
|
|
|
|
class CustomShelfProps(bpy.types.PropertyGroup):
|
|
pass
|
|
|
|
|
|
class AdditionnalShelves(bpy.types.PropertyGroup):
|
|
path: StringProperty(name="Path", subtype="FILE_PATH")
|
|
|
|
|
|
class CustomShelfPrefs(bpy.types.AddonPreferences):
|
|
bl_idname = __package__
|
|
|
|
global_path = join(dirname(__file__), "shelves")
|
|
global_shelves: StringProperty(
|
|
name="Shelves Path", subtype="DIR_PATH", default=global_path
|
|
)
|
|
additionnal_shelves: CollectionProperty(type=AdditionnalShelves)
|
|
tag_filter: StringProperty()
|
|
|
|
def draw(self, context):
|
|
prefs = bpy.context.preferences.addons[__package__].preferences
|
|
layout = self.layout
|
|
layout.prop(self, "global_shelves")
|
|
|
|
row = layout.row(align=True)
|
|
row.operator("customshelf.add_shelves_folder", icon="ADD", text="")
|
|
row.label(text="Additionnal Shelves folder")
|
|
|
|
for i, shelf in enumerate(prefs.additionnal_shelves):
|
|
row = layout.row(align=True)
|
|
row.prop(shelf, "path")
|
|
row.operator(
|
|
"customshelf.remove_shelves_folder", icon="REMOVE", text=""
|
|
).index = i
|
|
|
|
row = layout.row(align=True)
|
|
row.prop(self, "tag_filter")
|
|
row.operator_menu_enum(
|
|
"customshelf.set_tag_filter", "tag_filter", icon="DOWNARROW_HLT", text=""
|
|
)
|