Merge pull request #206 from Yusarina/atk-next
panel order and default open logic
This commit is contained in:
@@ -2,6 +2,7 @@ from bpy.types import UIList, Panel, UILayout, Object, Context, Material, Operat
|
||||
import bpy
|
||||
from math import sqrt
|
||||
from .main_panel import AvatarToolKit_PT_AvatarToolkitPanel, CATEGORY_NAME
|
||||
from .panel_layout import get_panel_order, should_open_by_default
|
||||
from ..core.common import SceneMatClass, MaterialListBool, get_active_armature
|
||||
from ..functions.atlas_materials import AvatarToolKit_OT_AtlasMaterials
|
||||
from ..core.translations import t
|
||||
@@ -214,7 +215,8 @@ class AvatarToolKit_PT_TextureAtlasPanel(Panel):
|
||||
bl_region_type = 'UI'
|
||||
bl_category = CATEGORY_NAME
|
||||
bl_parent_id = AvatarToolKit_PT_AvatarToolkitPanel.bl_idname
|
||||
bl_order = 7
|
||||
bl_order = get_panel_order('texture_atlas')
|
||||
bl_options = set() if not should_open_by_default('TEXTURE_ATLAS') else {'DEFAULT_CLOSED'}
|
||||
|
||||
def draw(self, context: Context):
|
||||
layout = self.layout
|
||||
|
||||
@@ -2,6 +2,7 @@ import bpy
|
||||
from typing import Set, List, Tuple, Any
|
||||
from bpy.types import Panel, Context, UILayout, Operator, Event, WindowManager
|
||||
from .main_panel import AvatarToolKit_PT_AvatarToolkitPanel, CATEGORY_NAME
|
||||
from .panel_layout import get_panel_order, should_open_by_default
|
||||
from ..functions.custom_tools.mesh_attachment import AvatarToolkit_OT_AttachMesh
|
||||
from ..functions.custom_tools.armature_merging import AvatarToolkit_OT_MergeArmature
|
||||
from ..core.translations import t
|
||||
@@ -112,8 +113,8 @@ class AvatarToolKit_PT_CustomPanel(Panel):
|
||||
bl_region_type: str = 'UI'
|
||||
bl_category: str = CATEGORY_NAME
|
||||
bl_parent_id: str = AvatarToolKit_PT_AvatarToolkitPanel.bl_idname
|
||||
bl_order: int = 4
|
||||
bl_options: Set[str] = {'DEFAULT_CLOSED'}
|
||||
bl_order: int = get_panel_order('custom_avatar')
|
||||
bl_options: Set[str] = set() if not should_open_by_default('CUSTOM_AVATAR') else {'DEFAULT_CLOSED'}
|
||||
|
||||
def draw(self, context: Context) -> None:
|
||||
"""Draw the custom avatar panel UI"""
|
||||
|
||||
@@ -3,6 +3,7 @@ from typing import Set
|
||||
from bpy.types import Panel, Context, UILayout, Operator, Event, WindowManager
|
||||
from .main_panel import AvatarToolKit_PT_AvatarToolkitPanel, CATEGORY_NAME
|
||||
from .ui_utils import UIStyle, draw_section_header, wrap_text_label
|
||||
from .panel_layout import get_panel_order, should_open_by_default
|
||||
from ..core.translations import t
|
||||
from ..core.common import get_active_armature, get_all_meshes
|
||||
from ..functions.eye_tracking import (
|
||||
@@ -27,8 +28,8 @@ class AvatarToolKit_PT_EyeTrackingPanel(Panel):
|
||||
bl_region_type: str = 'UI'
|
||||
bl_category: str = CATEGORY_NAME
|
||||
bl_parent_id: str = AvatarToolKit_PT_AvatarToolkitPanel.bl_idname
|
||||
bl_order: int = 6
|
||||
bl_options: Set[str] = {'DEFAULT_CLOSED'}
|
||||
bl_order: int = get_panel_order('eye_tracking')
|
||||
bl_options: Set[str] = set() if not should_open_by_default('EYE_TRACKING') else {'DEFAULT_CLOSED'}
|
||||
|
||||
def draw(self, context: Context) -> None:
|
||||
"""Draw the eye tracking panel interface"""
|
||||
|
||||
@@ -3,6 +3,7 @@ from typing import Set
|
||||
from bpy.types import Panel, Context, UILayout, Operator
|
||||
from .main_panel import AvatarToolKit_PT_AvatarToolkitPanel, CATEGORY_NAME
|
||||
from .ui_utils import UIStyle, draw_section_header, draw_operator_row
|
||||
from .panel_layout import get_panel_order, should_open_by_default
|
||||
from ..core.translations import t
|
||||
from ..functions.optimization.materials_tools import AvatarToolkit_OT_CombineMaterials
|
||||
from ..functions.optimization.remove_doubles import AvatarToolkit_OT_RemoveDoubles
|
||||
@@ -16,8 +17,8 @@ class AvatarToolKit_PT_OptimizationPanel(Panel):
|
||||
bl_region_type: str = 'UI'
|
||||
bl_category: str = CATEGORY_NAME
|
||||
bl_parent_id: str = AvatarToolKit_PT_AvatarToolkitPanel.bl_idname
|
||||
bl_order: int = 1
|
||||
bl_options = {'DEFAULT_CLOSED'}
|
||||
bl_order: int = get_panel_order('optimization')
|
||||
bl_options = set() if not should_open_by_default('OPTIMIZATION') else {'DEFAULT_CLOSED'}
|
||||
|
||||
def draw(self, context: Context) -> None:
|
||||
"""Draws the optimization panel interface with material, mesh cleanup and join mesh tools"""
|
||||
|
||||
@@ -11,6 +11,7 @@ from bpy.types import (
|
||||
)
|
||||
from .main_panel import AvatarToolKit_PT_AvatarToolkitPanel, CATEGORY_NAME
|
||||
from .ui_utils import UIStyle, draw_section_header, draw_operator_row
|
||||
from .panel_layout import get_panel_order, should_open_by_default
|
||||
from ..core.translations import t
|
||||
from ..core.common import (
|
||||
get_active_armature,
|
||||
@@ -80,7 +81,8 @@ class AvatarToolKit_PT_QuickAccessPanel(Panel):
|
||||
bl_region_type: str = 'UI'
|
||||
bl_category: str = CATEGORY_NAME
|
||||
bl_parent_id: str = AvatarToolKit_PT_AvatarToolkitPanel.bl_idname
|
||||
bl_order: int = 0
|
||||
bl_order: int = get_panel_order('quick_access')
|
||||
bl_options = {'DEFAULT_CLOSED'} if should_open_by_default('QUICK_ACCESS') else set()
|
||||
|
||||
def draw(self, context: Context) -> None:
|
||||
"""Draw the panel layout"""
|
||||
|
||||
@@ -10,6 +10,7 @@ from bpy.types import (
|
||||
)
|
||||
from .main_panel import AvatarToolKit_PT_AvatarToolkitPanel, CATEGORY_NAME
|
||||
from .ui_utils import UIStyle, draw_section_header, wrap_text_label
|
||||
from .panel_layout import get_panel_order, should_open_by_default
|
||||
from ..core.translations import t, get_languages_list
|
||||
from ..core.armature_validation import AvatarToolkit_OT_HighlightProblemBones, AvatarToolkit_OT_ClearBoneHighlighting
|
||||
|
||||
@@ -40,8 +41,8 @@ class AvatarToolKit_PT_SettingsPanel(Panel):
|
||||
bl_region_type: str = 'UI'
|
||||
bl_category: str = CATEGORY_NAME
|
||||
bl_parent_id: str = AvatarToolKit_PT_AvatarToolkitPanel.bl_idname
|
||||
bl_order: int = 8
|
||||
bl_options = {'DEFAULT_CLOSED'}
|
||||
bl_order: int = get_panel_order('settings')
|
||||
bl_options = set() if not should_open_by_default('SETTINGS') else {'DEFAULT_CLOSED'}
|
||||
|
||||
def draw(self, context: Context) -> None:
|
||||
"""Draw the settings panel layout with language selection"""
|
||||
|
||||
+3
-2
@@ -3,6 +3,7 @@ from typing import Set
|
||||
from bpy.types import Panel, Context, UILayout, Operator, UIList
|
||||
from .main_panel import AvatarToolKit_PT_AvatarToolkitPanel, CATEGORY_NAME
|
||||
from .ui_utils import UIStyle, draw_section_header, draw_operator_row
|
||||
from .panel_layout import get_panel_order, should_open_by_default
|
||||
from ..core.translations import t
|
||||
|
||||
from ..core.resonite_utils import AvatarToolkit_OT_ConvertResonite
|
||||
@@ -30,8 +31,8 @@ class AvatarToolKit_PT_ToolsPanel(Panel):
|
||||
bl_region_type: str = 'UI'
|
||||
bl_category: str = CATEGORY_NAME
|
||||
bl_parent_id: str = AvatarToolKit_PT_AvatarToolkitPanel.bl_idname
|
||||
bl_order: int = 2
|
||||
bl_options = {'DEFAULT_CLOSED'}
|
||||
bl_order: int = get_panel_order('tools')
|
||||
bl_options = set() if not should_open_by_default('TOOLS') else {'DEFAULT_CLOSED'}
|
||||
|
||||
def draw(self, context: Context) -> None:
|
||||
"""Draw the tools panel interface"""
|
||||
|
||||
@@ -12,6 +12,7 @@ from bpy.types import (
|
||||
Object
|
||||
)
|
||||
from .main_panel import AvatarToolKit_PT_AvatarToolkitPanel, CATEGORY_NAME
|
||||
from .panel_layout import get_panel_order, should_open_by_default
|
||||
from ..core.translations import t
|
||||
from ..core.logging_setup import logger
|
||||
from ..core.common import get_active_armature, ProgressTracker
|
||||
@@ -465,8 +466,8 @@ class AvatarToolKit_PT_TranslationPanel(Panel):
|
||||
bl_region_type: str = 'UI'
|
||||
bl_category: str = CATEGORY_NAME
|
||||
bl_parent_id: str = AvatarToolKit_PT_AvatarToolkitPanel.bl_idname
|
||||
bl_order: int = 9
|
||||
bl_options = {'DEFAULT_CLOSED'}
|
||||
bl_order: int = get_panel_order('translation')
|
||||
bl_options = set() if not should_open_by_default('TRANSLATION') else {'DEFAULT_CLOSED'}
|
||||
|
||||
def draw(self, context: Context) -> None:
|
||||
"""Draw the translation panel layout"""
|
||||
|
||||
+1
-1
@@ -6,7 +6,7 @@ from bpy.types import UILayout, Context, Operator
|
||||
|
||||
class UIStyle:
|
||||
"""Centralized UI styling constants for consistent appearance"""
|
||||
g
|
||||
|
||||
SECTION_SEPARATOR_FACTOR: float = 0.5
|
||||
SUBSECTION_SEPARATOR_FACTOR: float = 0.3
|
||||
PRIMARY_BUTTON_SCALE: float = 1.5
|
||||
|
||||
+3
-2
@@ -2,6 +2,7 @@ import bpy
|
||||
from bpy.types import Panel, Context, UILayout, Object, ShapeKey
|
||||
from ..core.translations import t
|
||||
from .main_panel import AvatarToolKit_PT_AvatarToolkitPanel, CATEGORY_NAME
|
||||
from .panel_layout import get_panel_order, should_open_by_default
|
||||
from ..core.common import get_active_armature
|
||||
from ..functions.visemes import AvatarToolkit_OT_PreviewVisemes, AvatarToolkit_OT_CreateVisemes
|
||||
|
||||
@@ -13,8 +14,8 @@ class AvatarToolKit_PT_VisemesPanel(Panel):
|
||||
bl_region_type: str = 'UI'
|
||||
bl_category: str = CATEGORY_NAME
|
||||
bl_parent_id: str = AvatarToolKit_PT_AvatarToolkitPanel.bl_idname
|
||||
bl_order: int = 5
|
||||
bl_options: set[str] = {'DEFAULT_CLOSED'}
|
||||
bl_order: int = get_panel_order('visemes')
|
||||
bl_options: set[str] = set() if not should_open_by_default('VISEMES') else {'DEFAULT_CLOSED'}
|
||||
|
||||
def draw(self, context: Context) -> None:
|
||||
"""Draw the visemes panel interface with shape key selection and preview controls"""
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import bpy
|
||||
from bpy.types import Panel, Context, UILayout
|
||||
from .main_panel import AvatarToolKit_PT_AvatarToolkitPanel, CATEGORY_NAME
|
||||
from .panel_layout import get_panel_order, should_open_by_default
|
||||
from ..core.translations import t
|
||||
from ..core.common import get_active_armature
|
||||
from ..core.vrm_unity_converter import detect_vrm_armature
|
||||
@@ -15,8 +16,8 @@ class AvatarToolKit_PT_VRMUnityPanel(Panel):
|
||||
bl_region_type = 'UI'
|
||||
bl_category = CATEGORY_NAME
|
||||
bl_parent_id = AvatarToolKit_PT_AvatarToolkitPanel.bl_idname
|
||||
bl_order = 3
|
||||
bl_options = {'DEFAULT_CLOSED'}
|
||||
bl_order = get_panel_order('vrm_unity')
|
||||
bl_options = set() if not should_open_by_default('VRM_UNITY') else {'DEFAULT_CLOSED'}
|
||||
|
||||
def draw(self, context: Context) -> None:
|
||||
"""Draw the VRM to Unity conversion panel interface"""
|
||||
|
||||
Reference in New Issue
Block a user