mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-09-23 21:58:46 +00:00
Revert hack to automatically close enum search popups
It was insta-closing for some users
This commit is contained in:
@@ -27,7 +27,7 @@ from . import schema
|
|||||||
from blenderbim.bim.ifc import IfcStore
|
from blenderbim.bim.ifc import IfcStore
|
||||||
from blenderbim.bim.prop import StrProperty
|
from blenderbim.bim.prop import StrProperty
|
||||||
from blenderbim.bim.ui import IFCFileSelector
|
from blenderbim.bim.ui import IFCFileSelector
|
||||||
from blenderbim.bim.helper import get_enum_items, close_operator_panel
|
from blenderbim.bim.helper import get_enum_items
|
||||||
from mathutils import Vector, Matrix, Euler
|
from mathutils import Vector, Matrix, Euler
|
||||||
from math import radians
|
from math import radians
|
||||||
|
|
||||||
@@ -531,7 +531,6 @@ def update_enum_property_search_prop(self, context):
|
|||||||
for i, prop in enumerate(self.collection_names):
|
for i, prop in enumerate(self.collection_names):
|
||||||
if prop.name == self.dummy_name:
|
if prop.name == self.dummy_name:
|
||||||
setattr(context.data, self.prop_name, self.collection_identifiers[i].name)
|
setattr(context.data, self.prop_name, self.collection_identifiers[i].name)
|
||||||
close_operator_panel(self)
|
|
||||||
break
|
break
|
||||||
|
|
||||||
|
|
||||||
@@ -543,11 +542,8 @@ class BIM_OT_enum_property_search(bpy.types.Operator):
|
|||||||
collection_names: bpy.props.CollectionProperty(type=StrProperty)
|
collection_names: bpy.props.CollectionProperty(type=StrProperty)
|
||||||
collection_identifiers: bpy.props.CollectionProperty(type=StrProperty)
|
collection_identifiers: bpy.props.CollectionProperty(type=StrProperty)
|
||||||
prop_name: bpy.props.StringProperty()
|
prop_name: bpy.props.StringProperty()
|
||||||
mouse_x: bpy.props.IntProperty()
|
|
||||||
mouse_y: bpy.props.IntProperty()
|
|
||||||
|
|
||||||
def invoke(self, context, event):
|
def invoke(self, context, event):
|
||||||
self.mouse_x, self.mouse_y = event.mouse_x, event.mouse_y
|
|
||||||
self.clear_collections()
|
self.clear_collections()
|
||||||
self.data = context.data
|
self.data = context.data
|
||||||
items = get_enum_items(self.data, self.prop_name, context)
|
items = get_enum_items(self.data, self.prop_name, context)
|
||||||
@@ -555,9 +551,7 @@ class BIM_OT_enum_property_search(bpy.types.Operator):
|
|||||||
return {"FINISHED"}
|
return {"FINISHED"}
|
||||||
self.add_items_regular(items)
|
self.add_items_regular(items)
|
||||||
self.add_items_suggestions()
|
self.add_items_suggestions()
|
||||||
# Cursor is moved when we update dummy_name, set it back
|
return context.window_manager.invoke_props_dialog(self)
|
||||||
context.window.cursor_warp(self.mouse_x, self.mouse_y)
|
|
||||||
return context.window_manager.invoke_props_popup(self, event)
|
|
||||||
|
|
||||||
def draw(self, context):
|
def draw(self, context):
|
||||||
# Mandatory to access context.data in update :
|
# Mandatory to access context.data in update :
|
||||||
@@ -595,7 +589,8 @@ class BIM_OT_enum_property_search(bpy.types.Operator):
|
|||||||
values = [values]
|
values = [values]
|
||||||
for value in values:
|
for value in values:
|
||||||
self.add_item(identifier=key, name=key + " (" + value + ")")
|
self.add_item(identifier=key, name=key + " (" + value + ")")
|
||||||
|
|
||||||
|
|
||||||
class EditBlenderCollection(bpy.types.Operator):
|
class EditBlenderCollection(bpy.types.Operator):
|
||||||
bl_idname = "bim.edit_blender_collection"
|
bl_idname = "bim.edit_blender_collection"
|
||||||
bl_label = "Add or Remove blender collection item"
|
bl_label = "Add or Remove blender collection item"
|
||||||
|
|||||||
Reference in New Issue
Block a user