use PopEntry; $dw = $parent->PopEntry( -pattern => 'alpha', 'capsonly', 'signed_int', 'unsigned_int', 'float', 'nondigit', or any supplied regexp. -nomenu => 0 or 1, -case => 'upper', 'lower', 'capitalize', -maxwidth => int, -minwidth => int, -maxvalue => int, -nospace => 0 or 1, -menuitems => ['string', 'callback', 'binding', 'index'], ); $dw->pack;
PopEntry is an Entry widget with a right-click menu automatically attached. In addition, certain field masks can easily be applied to the entry widget in order to force the end-user into entering only the values you want him or her to enter.
By default, there are five items attached to the right-click menu: Cut, Copy, Paste, Delete and Select All. The default bindings for the items are ctrl-x, ctrl-c, ctrl-v, ctrl-d, and ctrl-a, respectively.
The difference between 'Cut' and 'Delete' is that the former automatically copies the contents that were cut to the clipboard, while the latter does not.
-pattern
The pattern specified here creates an input mask for the Popentry widget.
There are six pre-defined masks:
alpha - Upper and lower case a-z only.
capsonly - Upper case A-Z only.
nondigit - Any characters except 0-9.
float - A float value, which may or may not include a decimal.
signed_int - A signed integer value, which may or may not include a '+'.
unsigned_int - An unsigned integer value.
You may also specify a regular expression of your own design using Perl's standard regular expression mechanisms. Be sure to use single quotes.
-nomenu
If set to true, then no right-click menu will appear. Presumably, you would
set this if you were only interested in the input-mask functionality.
-nospace
If set to true, the user may not enter whitespace before, after or between
words within that Popentry widget.
-maxwidth
Specifies the maximum number of characters that the user can enter in that
particular Popentry widget. Note that this is not the same as the width
of the widget.
-maxvalue
If one of the pre-defined numeric patterns is chosen, this specifies the
maximum allowable value that may be entered by a user for the widget.
-minvalue
If one of the pre-defined numeric patterns is chosen, this specifies the
minimum allowable value for the first digit (0-9). This should work better.
-menuitems
If specified, this creates a user-defined right-click menu rather than
the one that is provided by default. The value specified must be a four
element anonymous array that contains:
The binding specified need only be in the form, '<ctrl-x>'. You needn't explicitly bind it yourself. Your callback will automatically be bound to the event sequence you specified.
The -pattern option ``capsonly'' will only work properly if no more than one word is supplied.
The -minvalue only works for the first digit.
Fix the issues mentioned above.
Allow individual entries to be added or removed from the menu via predefined methods.
Daniel J. Berger [email protected]
Entry