| Did you know ... | Search Documentation: |
| Instance variables |
<-member
to find frames in an application. Defaults to object<-class_name.
See also frame<->label.
->modal.->create
is not allowed.|pixmap
See also frame->set, frame<-bounding_box
and frame->geometry.
->set <-size->create
to position the frame. Filled by frame->initialise
from the frame.geometry
class variable, or
by frame->geometry.
Class frame itself does not provide a default; subclasses
commonly do so end users can override the position in ~/.xpce/Defaults.
See library(persistent_frame) for a frame subclass that
persists its geometry and sub-window layout.
For the syntax see frame->geometry.
->create ->geometrywindow_decorator.
The getter frame<-members
returns the chain of undecorated windows.
toplevel — ordinary application window: title bar,
can be minimised and resized through the OS. Default.transient — dialog box / inspector window for a
parent
toplevel. Usually decorated but skipped from the task
switcher.popup — completely invisible to the OS window
manager. Used for tooltips and popup menus. Cannot normally receive
keyboard input; use transient if you need text input.
The kind can only be changed before frame->create.
->initialise ->transient_for ->show_label.g.
its parent toplevel). Only meaningful when frame<-kind
is transient.
<-transients ->transient_for->transient_for
and frame->unlink.
Used to propagate state changes (mapped/exposed/hidden) to the
transients.
<-transient_for ->transient_fortransient blocks just the frame in frame<-transient_for;
application blocks every frame in the same frame<-application.
Typical pattern:
display_for(Owner, Result) :-
new(D, dialog('Enter information')),
send(D, transient_for, Owner),
send(D, modal, transient),
<fill the dialog>
get(D, confirm_centered,
Owner?area?center, Return),
send(D, destroy),
Return \== @nil.
See also frame<-confirm, frame->transient_for
and class application.
unmapped — no OS counterpart yet (the frame exists
only as an xpce object).hidden — OS counterpart exists but is not visible.
Used to stash a frame for later reuse.iconic — minimised.window (also written open) — fully
visible. Reached via
frame->open.full_screen — maximised across the entire screen.
Reach it with send(F, status, full_screen) after frame->create.
See also frame->open, frame<-confirm
and frame->wait. frame->show
and
frame->closed
map to this slot for backward compatibility.
.g.
clicking the close button). Defaults to @on.
->wm_delete ->wm_protocol->create
to lock the size.->wm_delete).
Defaults to the value of the confirm_done class variable
(off).
->wm_delete ->wm_protocol <-can_delete
On change to @on
the frame sends window->input_focus
to frame<-keyboard_focus
(or to the window under the pointer). On change to @off
the window that currently owns input focus is sent window->input_focus.
->keyboard_focus ->input_window->busy_cursor
when block_input is @on.->return
until frame<-confirm
picks it up.
->return <-confirm->wm_protocol/frame->done_message/frame->save_message
family of OS close/save handlers.
->wm_protocol ->delete_wm_protocol