def __init__(self, lsysargv, sysargv): self.pabox = [None] * 4 self.set = [0] * 4 xfl.fl_initialize(lsysargv, sysargv, "FormDemo", None, 0) pform = self.create_form() self.add_items_to_menu1() xfl.fl_popup_entry_set_state(xfl.fl_get_nmenu_item_by_value( \ self.pmenu1, 0), xfl.FL_POPUP_CHECKED) self.set[0] = 0 xfl.fl_set_object_color(self.pabox[0], xfl.FL_RED + self.set[0], \ xfl.FL_BLACK) self.add_items_to_menu2() xfl.fl_popup_entry_set_state(xfl.fl_get_nmenu_item_by_value( \ self.pmenu2, 1), xfl.FL_POPUP_CHECKED) self.set[1] = 1 xfl.fl_set_object_color(self.pabox[1], xfl.FL_RED + self.set[1], \ xfl.FL_BLACK) self.add_items_to_menu3() xfl.fl_popup_entry_set_state(xfl.fl_get_nmenu_item_by_value( \ self.pmenu3, 2), xfl.FL_POPUP_CHECKED) self.set[2] = 2 xfl.fl_set_object_color(self.pabox[2], xfl.FL_RED + self.set[2], \ xfl.FL_BLACK) self.add_items_to_menu4() xfl.fl_popup_entry_set_state(xfl.fl_get_nmenu_item_by_value( \ self.pmenu4, 3), xfl.FL_POPUP_CHECKED) self.set[3] = 3 xfl.fl_set_object_color(self.pabox[3], xfl.FL_RED + self.set[3], \ xfl.FL_BLACK) xfl.fl_show_form(pform, xfl.FL_PLACE_CENTER, xfl.FL_TRANSIENT, "Nmenu") xfl.fl_do_forms() xfl.fl_hide_form(pform) xfl.fl_finish()
def menu_cb(self, pobj, m): # m is the menu index 0 - 3 pr = xfl.fl_get_nmenu_item(pobj) if self.set[m] == pr.contents.val: return if m == 0: # enable the old selected color for other menus xfl.fl_popup_entry_set_state(xfl.fl_get_nmenu_item_by_value( \ self.pmenu1, self.set[m]), xfl.FL_POPUP_NONE) # disable the currently selected color for other menus xfl.fl_popup_entry_set_state(xfl.fl_get_nmenu_item_by_value( \ self.pmenu1, pr.contents.val), xfl.FL_POPUP_DISABLED) elif m == 1: xfl.fl_popup_entry_set_state(xfl.fl_get_nmenu_item_by_value( \ self.pmenu2, self.set[m]), xfl.FL_POPUP_NONE) xfl.fl_popup_entry_set_state(xfl.fl_get_nmenu_item_by_value( \ self.pmenu2, pr.contents.val), xfl.FL_POPUP_DISABLED) elif m == 2: xfl.fl_popup_entry_set_state(xfl.fl_get_nmenu_item_by_value( \ self.pmenu3, self.set[m]), xfl.FL_POPUP_NONE) xfl.fl_popup_entry_set_state(xfl.fl_get_nmenu_item_by_value( \ self.pmenu3, pr.contents.val), xfl.FL_POPUP_DISABLED) elif m == 3: xfl.fl_popup_entry_set_state(xfl.fl_get_nmenu_item_by_value( \ self.pmenu4, self.set[m]), xfl.FL_POPUP_NONE) xfl.fl_popup_entry_set_state(xfl.fl_get_nmenu_item_by_value( \ self.pmenu4, pr.contents.val), xfl.FL_POPUP_DISABLED) self.set[m] = pr.contents.val xfl.fl_set_object_color(self.pabox[m], xfl.FL_RED + pr.contents.val, \ xfl.FL_BLACK)
def item12_cb(self, r): print("Choice 12 inserted", \ xfl.fl_get_nmenu_item_by_value(self.pmenu2, 12)) return 0
def item2_cb(self, r): print("choice 2 added", xfl.fl_get_nmenu_item_by_value( \ self.pmenu1, 2)) return 0
def item10_cb(self, r): print("choice 10 added", \ xfl.fl_get_nmenu_item_by_value(self.pmenu2, 10)) return 0
def item11_cb(self, r): print("Choice 11 added", \ xfl.fl_get_nmenu_item_by_value(self.pmenu2, 11)) return 0
def item9_cb(self, r): print("choice 9 added", xfl.fl_get_nmenu_item_by_value( \ self.pmenu2, 9)) return 0
def item7_cb(self, r): print("choice 7 replace for choice 2", \ xfl.fl_get_nmenu_item_by_value(self.pmenu1, 7)) return 0
def item6_cb(self, r): print("choice 6 replace for choice 1", \ xfl.fl_get_nmenu_item_by_value(self.pmenu1, 6)) return 0
def item5_cb(self, r): print("choice 5 added", xfl.fl_get_nmenu_item_by_value(self.pmenu1, 5)) return 0
def item4_cb(self, r): print("choice 4 inserted", \ xfl.fl_get_nmenu_item_by_value(self.pmenu1, 4)) return 0