logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

Tk::Wm::Popup - popup dialog windows.

Author

       Nick Ing-Simmons, Steve Lidie

       This code is distributed under the same terms as Perl.

perl v5.40.1                                       2025-04-13                                         Popup(3pm)

Description

       You've probably had occasion to use a Dialog (or DialogBox) widget. These widgets are derived from a
       Toplevel (which is a subclass of Tk::Wm, the window manager) and spend most of their time in a withdrawn
       state. It's also common to use Toplevels as containers for custom built popup windows.  Menus, too, are
       dialogs derived from the window manager class. For this discussion, we'll use the simple term dialog to
       refer any widget that pops up and awaits user interaction, whether it be a Menu, a special purpose
       Toplevel, or any of the dialog-type widgets, including, but not limited to, ColorEditor, Dialog,
       DialogBox, ErrorDialog, FileSelect, FBox, getOpenFile and getSaveFile.

       When it's time to display these dialogs, we call the Perl/Tk window manager Popup method. Popup accepts
       three special purpose options that specify placement information in high-level terms rather than
       numerical coordinates. It is Popup's responsibility to take our human specifications and turn them into
       actual screen coordinates before displaying the dialog.

       We can direct the dialog to appear in two general locations, either over another window (e.g. the root
       window (screen) or a particular widget), or over the cursor. This is called the popoverlocation. Once
       we've made this decision we can further refine the exact placement of the dialog relative to the popover
       location by specifying the intersection of two anchorpoints. The popanchorpoint is associated with the
       dialog and the overanchorpoint is associated with the popover location (whether it be a window or the
       cursor). The point where the two anchor points coincide is the popuplocus. Anchor points are string
       values and can be c (for center), or any of the eight cardinal compass points: n, ne, e, se, s, sw, w or
       nw.

       For example, if -popover specifies a widget, -popanchor is sw, and -overanchor is ne, the the dialog's
       southwest corner pops up at the widget's northeast corner.

Name

       Tk::Wm::Popup - popup dialog windows.

Options

       The options recognized by Popup are as follows:

       -popover
           Specifies  whether  the  dialog  "pops  over" a window or the cursor.  It may be the string cursor, a
           widget reference, or undef for the root window.

       -popanchor
           Specifies the anchor point of the dialog.  For instance, if e is specified, the  right  side  of  the
           dialog is the anchor.

       -overanchor
           Specifies  where  the  dialog  should  anchor relative to the popover location. For instance, if e is
           specified the dialog appears over the right side of the popover location  and  if  it's  ne  the  the
           dialog is positioned at the upper-right corner of the popover location.

Synopsis

        $dialog->Popup(qw/
            -popover    => 'cursor' | $widget | undef,
            -overanchor => c | n | ne | e | se | s | sw | w | nw,
            -popanchor  => c | n | ne | e | se | s | sw | w | nw,
        /);

See Also