A function of one argument (the
). It is called when the user presses
Return, makes a selection from the menu, or clicks the
is not supplied,
is called instead.
to the text-input-pane inside the
A string specifying the initial text of the filter, or
The main part of a filtering layout is a text-input-pane which allows the user to enter a string, which is intended to be used for filtering. The user can control how it is used by a menu (or special keystroke) that allows her to specify whether:
To actually do the filtering, the using code needs to call filtering-layout-match-object-and-exclude-p, which returns as multiple values a precompiled regexp and a flag specifying whether to exclude matches. The regexp should be used to perform the filtering, typically by using
lispworks:find-regexp-in-string. Note that filtering-layout-match-object-and-exclude-p returns
nil when there is no string in the text-input-pane, and that even when the filter is set to plain match it returns a regexp (which matches a plain string).
You supply a
filtering-layout amongst the
of your interface definition (not its
). The description of a
filtering-layout is set by the
initialize-instance method of the class, and therefore the description cannot be passed as an initarg and should not be manipulated.
filtering-layout-state returns a "state" object which can be used later to set the state of any
(setf capi:filtering-layout-state). When setting the state, the value can also be a string or
nil. A string means setting the filter string to it and making the filtering state be plain string, includes matches, and case-insensitive.
nil means the same as the empty string.
controls whether the
filtering-layout contains a display-pane (the "matches pane") showing the number of matches. If
is a string, it provides the title of the matches pane. If
t the title is
. Note that the actual text in the matches pane must be set by the caller by
:short the filter menu has a short title. For example if the filter is set for case-sensitive plain inclusive matching the short label is
:medium then this label would be
. Any other value of
would make a long label
Plain Match Cased
filtering-layout is used when a list-panel is made with the
CAPI User Guide and Reference Manual (Macintosh version) - 3 Aug 2017