6
6
"""
7
7
8
8
import time
9
+ import logging
9
10
from bpy .types import Panel
10
11
from . import export_indicators
11
12
13
+ # --- Setup Logger ---
14
+ logger = logging .getLogger (__name__ )
15
+ if not logger .handlers :
16
+ handler = logging .StreamHandler ()
17
+ formatter = logging .Formatter ("%(name)s:%(levelname)s: %(message)s" )
18
+ handler .setFormatter (formatter )
19
+ logger .addHandler (handler )
20
+ logger .setLevel (logging .INFO ) # Default level
21
+
12
22
# Main UI Panel
13
23
class MESH_PT_exporter_panel (Panel ):
14
24
bl_label = "EasyMesh Batch Exporter"
@@ -29,8 +39,30 @@ def format_has_coordinates(self, format):
29
39
30
40
def draw (self , context ):
31
41
layout = self .layout
42
+
43
+ # --- Debugging Start ---
44
+ logger .info ("--- Drawing MESH_PT_exporter_panel ---" )
45
+ if not hasattr (context .scene , "mesh_exporter" ):
46
+ logger .error ("context.scene has no 'mesh_exporter' attribute!" )
47
+ layout .label (text = "Error: Property group not registered?" )
48
+ return # Stop drawing if the group isn't there
49
+
32
50
settings = context .scene .mesh_exporter
33
51
52
+ if settings is None :
53
+ logger .error ("context.scene.mesh_exporter is None!" )
54
+ layout .label (text = "Error: Property group is None?" )
55
+ return # Stop drawing if the group is None
56
+
57
+ logger .info (f"Settings object: { settings } " )
58
+ try :
59
+ # Try accessing a property directly
60
+ path_value = settings .mesh_export_path
61
+ logger .info (f"Value of mesh_export_path: { path_value } " )
62
+ except AttributeError :
63
+ logger .error ("Could not access settings.mesh_export_path!" )
64
+ # --- Debugging End ---
65
+
34
66
layout .use_property_split = True
35
67
layout .use_property_decorate = False
36
68
@@ -59,7 +91,7 @@ def draw(self, context):
59
91
col = layout .column (heading = "Triangulate" , align = True )
60
92
col .prop (settings , "mesh_export_tri" )
61
93
sub = col .column (align = True )
62
- sub .enabled = settings .mesh_export_tri # Enable/disable sub-option
94
+ # sub.enabled = context.scene.mesh_exporter .mesh_export_tri # Enable/disable sub-option
63
95
sub .prop (settings , "mesh_export_tri_method" )
64
96
sub .prop (settings , "mesh_export_keep_normals" )
65
97
@@ -100,8 +132,10 @@ class MESH_PT_exporter_panel_lod(Panel):
100
132
101
133
@classmethod
102
134
def poll (cls , context ):
103
- # Show only if the main panel exists
104
- return context .scene .mesh_export_path is not None
135
+ # Show only if the main panel exists and path is set
136
+ settings = context .scene .mesh_exporter
137
+ # Check if the path property itself exists and is not None/empty
138
+ return settings and settings .mesh_export_path is not None and settings .mesh_export_path != ""
105
139
106
140
def draw_header (self , context ):
107
141
layout = self .layout
@@ -115,7 +149,7 @@ def draw(self, context):
115
149
layout .use_property_decorate = False
116
150
117
151
# Enable/disable based on the header checkbox
118
- layout .enabled = settings .mesh_export_lod
152
+ # layout.enabled = context.scene.mesh_exporter .mesh_export_lod
119
153
120
154
col = layout .column (align = True )
121
155
col .prop (settings , "mesh_export_lod_count" )
0 commit comments