Sunday, April 28, 2024
 Popular · Latest · Hot · Upcoming
5
rated 0 times [  5] [ 0]  / answers: 1 / hits: 2340  / 1 Year ago, tue, march 14, 2023, 7:32:00

I have been searching how to make that happen but i can't find it anywhere. I even guessed how to enable/disable the quicklist item, so as how to add function invoked after the item is clicked, but that's all. Any ideas?



I want to make a quicklist for my app which will consist of checkboxes or radio buttons. I found info how to add items without associated action to the quicklist (tutorial) but that's all I found, there is no information how to add other types of items (checkboxes, radio buttons, horizontal dividers or item with associated action) which are mentioned there.
I'm trying to get something like this.


More From » unity

 Answers
7

I'm not sure is it correct, but I'm using something like this:




  • checkbox:




def check_item_activated_callback (menuitem, a, b):
if menuitem.property_get_int (Dbusmenu.MENUITEM_PROP_TOGGLE_STATE) == Dbusmenu.MENUITEM_TOGGLE_STATE_CHECKED:
menuitem.property_set_int (Dbusmenu.MENUITEM_PROP_TOGGLE_STATE, Dbusmenu.MENUITEM_TOGGLE_STATE_UNCHECKED)
else:
menuitem.property_set_int (Dbusmenu.MENUITEM_PROP_TOGGLE_STATE, Dbusmenu.MENUITEM_TOGGLE_STATE_CHECKED)

check1 = Dbusmenu.Menuitem.new ()
check1.property_set (Dbusmenu.MENUITEM_PROP_LABEL, "Checkbox")
check1.property_set (Dbusmenu.MENUITEM_PROP_TOGGLE_TYPE, Dbusmenu.MENUITEM_TOGGLE_CHECK)
check1.property_set_int (Dbusmenu.MENUITEM_PROP_TOGGLE_STATE, Dbusmenu.MENUITEM_TOGGLE_STATE_CHECKED)
check1.property_set_bool (Dbusmenu.MENUITEM_PROP_VISIBLE, True)
check1.connect (Dbusmenu.MENUITEM_SIGNAL_ITEM_ACTIVATED, check_item_activated_callback, None)
qucklist.child_append (check1)



  • radio buttons:




def radio_item_activated_callback (radioitem1, a, radioitem2):
radioitem1.property_set_int (Dbusmenu.MENUITEM_PROP_TOGGLE_STATE, Dbusmenu.MENUITEM_TOGGLE_STATE_CHECKED)
radioitem2.property_set_int (Dbusmenu.MENUITEM_PROP_TOGGLE_STATE, Dbusmenu.MENUITEM_TOGGLE_STATE_UNCHECKED)

radio1 = Dbusmenu.Menuitem.new ()
radio1.property_set (Dbusmenu.MENUITEM_PROP_LABEL, "Radio Button 1")
radio1.property_set (Dbusmenu.MENUITEM_PROP_TOGGLE_TYPE, Dbusmenu.MENUITEM_TOGGLE_RADIO)
radio1.property_set_int (Dbusmenu.MENUITEM_PROP_TOGGLE_STATE, Dbusmenu.MENUITEM_TOGGLE_STATE_UNCHECKED)
radio1.property_set_bool (Dbusmenu.MENUITEM_PROP_VISIBLE, True)
quicklist.child_append (radio1)

radio2 = Dbusmenu.Menuitem.new()
radio2.property_set (Dbusmenu.MENUITEM_PROP_LABEL, "Radio Button 2")
radio2.property_set (Dbusmenu.MENUITEM_PROP_TOGGLE_TYPE, Dbusmenu.MENUITEM_TOGGLE_RADIO)
radio2.property_set_int (Dbusmenu.MENUITEM_PROP_TOGGLE_STATE, Dbusmenu.MENUITEM_TOGGLE_STATE_CHECKED)
radio2.property_set_bool (Dbusmenu.MENUITEM_PROP_VISIBLE, True)
quicklist.child_append (radio2)

radio1.connect (Dbusmenu.MENUITEM_SIGNAL_ITEM_ACTIVATED, radio_item_activated_callback, radio2)
radio2.connect (Dbusmenu.MENUITEM_SIGNAL_ITEM_ACTIVATED, radio_item_activated_callback, radio1)



  • separator (aka "horizontal dividers"):




separator = Dbusmenu.Menuitem.new ();
separator.property_set (Dbusmenu.MENUITEM_PROP_TYPE, Dbusmenu.CLIENT_TYPES_SEPARATOR)
separator.property_set_bool (Dbusmenu.MENUITEM_PROP_VISIBLE, True)
quicklist.child_append (separator)



  • enabled/disabled menu items:




item1 = Dbusmenu.Menuitem.new ()
item1.property_set (Dbusmenu.MENUITEM_PROP_LABEL, "Item Enabled")
item1.property_set_bool (Dbusmenu.MENUITEM_PROP_VISIBLE, True)
item1.property_set_bool (Dbusmenu.MENUITEM_PROP_ENABLED, True)
quicklist.child_append (item1)

item2 = Dbusmenu.Menuitem.new ()
item2.property_set (Dbusmenu.MENUITEM_PROP_LABEL, "Item Disabled")
item2.property_set_bool (Dbusmenu.MENUITEM_PROP_VISIBLE, True)
item2.property_set_bool (Dbusmenu.MENUITEM_PROP_ENABLED, False)
quicklist.child_append (item2)

[#38543] Wednesday, March 15, 2023, 1 Year  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
amencisiv

Total Points: 9
Total Questions: 102
Total Answers: 118

Location: Tajikistan
Member since Tue, Mar 21, 2023
1 Year ago
;