All Manuals > CAPI Reference Manual > 1 CAPI Reference Entries

NextPrevUpTopContentsIndex

make-pane-popup-menu

Generic Function
Summary

Generates a popup menu or menu-component.

Package

capi

Signature

make-pane-popup-menu pane interface &key title menu-name component-p => menu

Arguments

pane

A pane in an interface.

interface

An interface or nil .

title

A string or nil .

menu-name

A string or nil .

component-p

A boolean.

Values

menu

A menu or a menu-component.

Description

The generic function make-pane-popup-menu generates a popup menu for pane .

interface can be nil if pane has already been created, in which case the interface of pane is used (obtained by the element accessor element-interface ).

title and menu-name provide a title and name for menu . title and menu-name both default to nil .

If component-p is true, then make-pane-popup-menu creates a menu-component rather than a menu. The default value of component-p is nil .

Example

This code makes an interface with two graph-panes. The initialize-instance method uses make-pane-popup-menu to add a menu to the menu bar from which the user can perform operations on the graphs.

Note that, because make-pane-popup-menu calls make-menu-for-pane to make each menu, the callbacks in the menus are automatically done on the appropriate graph.

(capi:define-interface gg ()
  ()
  (:panes
   (g1 capi:graph-pane)
   (g2 capi:graph-pane))
  (:layouts
   (main-layout capi:column-layout '(g1 g2)))
  (:menu-bar)
  (:default-initargs
   :visible-min-width 200
   :visible-min-height 300))

 
(defmethod initialize-instance :after ((self gg)
                                       &key)
  (with-slots (g1 g2) self
    (setf
     (capi:interface-menu-bar-items self)
     (append
      (capi:interface-menu-bar-items self)
      (list 
       (make-instance
        'capi:menu
        :title "Graphs"
        :items
        (list 
         (capi:make-pane-popup-menu 
          g1 self :title "graph1")
                   
         (capi:make-pane-popup-menu 
          g2 self :title "graph2"))))))))

 
(capi:display (make-instance 'gg))
See also

make-menu-for-pane


CAPI Reference Manual - 15 Dec 2011

NextPrevUpTopContentsIndex