def mod_cb(self, ppopupretn):
     pudata = xfl.fls_convert_ptrvoid_to_ptrlongc( \
             ppopupretn.contents.user_data)
     udataval = pudata.contents.value
     print("Userdata: %d" % udataval)
     pmyentry3 = ppopupretn.contents.popup.contents.entries
     for idx in range(0, 4):
         try:
             xfl.fl_popup_entry_clear_state(pmyentry3[idx], \
                     xfl.FL_POPUP_CHECKED)
         except:
             break
     #xfl.fl_popup_entry_raise_state(ppopupretn.contents.entry, \
     #        xfl.FL_POPUP_CHECKED)
     style, size = xfl.fl_popup_entry_get_font(self.pm)
     print("style, size", style, size)
     if ppopupretn.contents.val != 0:
         style &= ~ (xfl.FL_SHADOW_STYLE | xfl.FL_ENGRAVED_STYLE | \
                 xfl.FL_EMBOSSED_STYLE)
         xfl.fl_popup_entry_set_font(self.pm, style | \
                 ppopupretn.contents.val, size)
     else:
         xfl.fl_popup_entry_set_font(self.pm, ppopupretn.contents.val, \
                 size)
     return xfl.FL_IGNORE
 def size_cb(self, ppopupretn):
     pudata = xfl.fls_convert_ptrvoid_to_ptrlongc( \
             ppopupretn.contents.user_data)
     udataval = pudata.contents.value
     print("Userdata: %d" % udataval)
     pmyentry2 = ppopupretn.contents.popup.contents.entries
     for idx in range(0, 5):
         try:
             xfl.fl_popup_entry_clear_state(pmyentry2[idx], \
                     xfl.FL_POPUP_CHECKED)
         except:
             break
     #xfl.fl_popup_entry_raise_state(ppopupretn.contents.entry, \
     #        xfl.FL_POPUP_CHECKED)
     style, unused = xfl.fl_popup_entry_get_font(self.pm)
     xfl.fl_popup_entry_set_font(self.pm, style, ppopupretn.contents.val)
     style, unused = xfl.fl_popup_get_title_font(self.pm)
     xfl.fl_popup_set_title_font(self.pm, style, ppopupretn.contents.val)
     return xfl.FL_IGNORE
 def pol_cb(self, ppopupretn):
     #xfl.FL_POPUP_ENTRY *e;
     #for ( e = r->popup->entries; e != NULL; e = e->next )
     #    if ( e != r->entry )
     #        xfl.fl_popup_entry_clear_state( e, xfl.FL_POPUP_CHECKED );
     pudata = xfl.fls_convert_ptrvoid_to_ptrlongc( \
             ppopupretn.contents.user_data)
     udataval = pudata.contents.value
     print("Userdata: %d" % udataval)
     pmyentry4 = ppopupretn.contents.popup.contents.entries
     for idx in range(0, 2):
         try:
             xfl.fl_popup_entry_clear_state(pmyentry4[idx], \
                     xfl.FL_POPUP_CHECKED)
         except:
             break
     #xfl.fl_popup_entry_raise_state(ppopupretn.contents.entry, \
     #        xfl.FL_POPUP_CHECKED)
     xfl.fl_popup_set_policy(self.pm, ppopupretn.contents.val)
     return xfl.FL_IGNORE
 def style_cb(self, ppopupretn):
     pudata = xfl.fls_convert_ptrvoid_to_ptrlongc( \
             ppopupretn.contents.user_data)
     udataval = pudata.contents.value
     print("Userdata: %d" % udataval)
     pmyentry1 = ppopupretn.contents.popup.contents.entries
     for idx in range(0, 3):
         try:
             print(pmyentry1, pmyentry1[idx].text)
             xfl.fl_popup_entry_clear_state(pmyentry1[idx], \
                     xfl.FL_POPUP_CHECKED)
         except:
             break
     #xfl.fl_popup_entry_raise_state(ppopupretn.contents.entry, \
     #        xfl.FL_POPUP_CHECKED)
     style, size = xfl.fl_popup_entry_get_font(self.pm)
     mod = style & (xfl.FL_SHADOW_STYLE | \
             xfl.FL_ENGRAVED_STYLE | xfl.FL_EMBOSSED_STYLE)
     print("style", style, "mod", mod, "pr->val", \
             ppopupretn.contents.val, "pr->val|mod", \
             ppopupretn.contents.val | mod)
     xfl.fl_popup_entry_set_font(self.pm, ppopupretn.contents.val | mod, \
             size)
     return xfl.FL_IGNORE