mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-09-18 22:33:33 +00:00
prevent flickering in profile manager thumbnails
This commit is contained in:
@@ -85,7 +85,8 @@ def generate_thumbnail_for_active_profile():
|
|||||||
# save generated image to preview collection
|
# save generated image to preview collection
|
||||||
profile_id_str = str(profile_id)
|
profile_id_str = str(profile_id)
|
||||||
if profile_id_str in preview_collection:
|
if profile_id_str in preview_collection:
|
||||||
del preview_collection[profile_id_str]
|
preview_image = preview_collection[profile_id_str]
|
||||||
preview_image = preview_collection.new(profile_id_str)
|
else:
|
||||||
|
preview_image = preview_collection.new(profile_id_str)
|
||||||
preview_image.image_size = size, size
|
preview_image.image_size = size, size
|
||||||
preview_image.image_pixels_float = pixels
|
preview_image.image_pixels_float = pixels
|
||||||
|
|||||||
@@ -47,14 +47,16 @@ class BIM_PT_profiles(Panel):
|
|||||||
preview_collection = ProfileData.preview_collection
|
preview_collection = ProfileData.preview_collection
|
||||||
box = self.layout.box()
|
box = self.layout.box()
|
||||||
profile_id = self.props.profiles[self.props.active_profile_index].ifc_definition_id
|
profile_id = self.props.profiles[self.props.active_profile_index].ifc_definition_id
|
||||||
preview_image = preview_collection.get(str(profile_id), None)
|
|
||||||
|
|
||||||
if preview_image:
|
profile_id_str = str(profile_id)
|
||||||
box.template_icon(icon_value=preview_image.icon_id, scale=5)
|
if profile_id_str in preview_collection:
|
||||||
|
preview_image = preview_collection[profile_id_str]
|
||||||
else:
|
else:
|
||||||
# TODO: test if called multiple times before one is loaded
|
preview_image = preview_collection.new(profile_id_str)
|
||||||
generate_thumbnail_for_active_profile()
|
generate_thumbnail_for_active_profile()
|
||||||
|
|
||||||
|
box.template_icon(icon_value=preview_image.icon_id, scale=5)
|
||||||
|
|
||||||
row = self.layout.row(align=True)
|
row = self.layout.row(align=True)
|
||||||
row.label(text=f"{ProfileData.data['total_profiles']} Named Profiles Found", icon="SNAP_GRID")
|
row.label(text=f"{ProfileData.data['total_profiles']} Named Profiles Found", icon="SNAP_GRID")
|
||||||
if self.props.is_editing:
|
if self.props.is_editing:
|
||||||
|
|||||||
Reference in New Issue
Block a user