Skip to content

Commit 9a48de3

Browse files
authored
Merge pull request #2963 from dnenov/feature-test-combobox-button-bundle
Feature test combobox button bundle
2 parents c6f7c84 + fb484fe commit 9a48de3

File tree

10 files changed

+1770
-631
lines changed

10 files changed

+1770
-631
lines changed
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
title: Test ComboBox
2+
tooltip: Test ComboBox functionality
3+
icon: icon.png
4+
members:
5+
- id: "one"
6+
text: "One"
7+
- id: "two"
8+
text: "Two"
9+
779 Bytes
Loading
1.11 KB
Loading
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
"""Test ComboBox"""
2+
#pylint: disable=C0103,E0401
3+
from Autodesk.Revit.UI import TaskDialog
4+
5+
__context__ = 'zero-doc'
6+
7+
8+
def __selfinit__(component, ui_item, uiapp):
9+
"""Deferred initializer - called AFTER the UI and metadata are ready."""
10+
try:
11+
cmb = ui_item.get_rvtapi_object()
12+
if not cmb:
13+
return False
14+
15+
def on_changed(sender, args):
16+
"""Handle ComboBox selection change."""
17+
try:
18+
current = sender.Current
19+
if current:
20+
selected_text = current.ItemText
21+
TaskDialog.Show("Test ComboBox", "Selection changed!\n\nSelected: {}".format(selected_text))
22+
except Exception as e:
23+
TaskDialog.Show("Test ComboBox Error", "Error: {}".format(str(e)))
24+
25+
def on_dropdown_closed(sender, args):
26+
"""Handle ComboBox dropdown closed event."""
27+
TaskDialog.Show("Test ComboBox", "Dropdown closed")
28+
29+
# Hook events
30+
cmb.CurrentChanged += on_changed
31+
32+
if hasattr(cmb, 'DropDownClosed'):
33+
cmb.DropDownClosed += on_dropdown_closed
34+
35+
# Keep references alive to prevent garbage collection
36+
ui_item._current_changed_handler = on_changed
37+
ui_item._dropdown_closed_handler = on_dropdown_closed
38+
39+
return True
40+
41+
except Exception as e:
42+
TaskDialog.Show("Test ComboBox Error", "Init failed: {}".format(str(e)))
43+
return False

extensions/pyRevitDevTools.extension/pyRevitDev.tab/Debug.panel/bundle.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,7 @@ layout:
77
- Context Tests
88
- Misc Tests[title:Third-Party\nUnit Tests]
99
- Debug Dialog Config
10+
- -----
11+
- Test ComboBox
1012

1113
template_test: Bundle liquid templating works (https://www.youtube.com/watch?v=)

0 commit comments

Comments
 (0)