bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#69457: unable to place two menu-choice widgets on same line


From: martyhiatt
Subject: bug#69457: unable to place two menu-choice widgets on same line
Date: Thu, 29 Feb 2024 11:37:35 +0100

hi mauro,

thanks a lot for your response.

On 2/29/24 01:17, Mauro Aranda wrote:
Yes, you need to control the :format for the choices to accomplish this, at 
least.

some example code i have:

(defun lem-ui-return-item-widgets (list)
   "Return a list of item widgets for each item, a string, in LIST."
   (cl-loop for x in list
            collect `(choice-item :value ,x)))

So, how about adding something like:
:format "%[%t%] "
here?

Did you try that?

thanks a lot, this works. i see now i had been shedding tears fighting with the 
menu-choice :format, not realizing i needed to wrangle the children elements 
instead. glad i asked the widget expert. %v also seems to work here, right?

(defun lem-ui-widget-format (str &optional binding)
   "Return a widget format string for STR, its name.
BINDING is a string of a keybinding to cycle the widget's value."
   (concat "%[" (propertize str
                            'face 'lem-ui-widget-face
                            'lem-tab-stop t)
           "%]: %v"
           binding))

;; then within a buffer display function:
  (widget-create 'menu-choice
                      :tag "Listing"
                      :value type
                      :args (lem-ui-return-item-widgets lem-listing-types)
                      :help-echo "Select a listing type"
                      :format (lem-ui-widget-format "Listing") ; "C-c C-c")

What's the intention with the "C-c C-c"? Could it go at the end of the :format 
suggestion I gave above?

yes, with the above :format it should work.

thanks again for chiming in and helping me out!

marty






reply via email to

[Prev in Thread] Current Thread [Next in Thread]