Project

General

Profile

Bug #8095

LEAVE trigger fires in no focus change situation

Added by Vladimir Tsichevski 5 months ago. Updated 5 months ago.

Status:
New
Priority:
Normal
Assignee:
-
Target version:
-
Start date:
Due date:
% Done:

0%

billable:
No
vendor_id:
GCD
case_num:

Related issues

Related to User Interface - Bug #8376: Focus transfer problem with frames having no focusable contents New
Related to User Interface - Bug #8673: Deduce the logic behind OE focus management and implement in FWD WIP

History

#1 Updated by Vladimir Tsichevski 5 months ago

In the following code, a FILL-IN is created in its own frame, and three ON LEAVE triggers are attached to the FILL-IN, its frame, and the top-level frame.
When the user presses TAB, no focus change occurs (which is expected, since the FILL-IN is the only focusabe widget), but all the triggers fire anyway, which is unexpected.

DEFINE FRAME f
  WITH SIDE-LABELS SIZE 40 BY 4.

PROCEDURE LeaveEvent:
  MESSAGE "LeaveEvent".
END PROCEDURE.

DEFINE VARIABLE hPopupFrame as handle    no-undo.
CREATE FRAME hPopupFrame
  ASSIGN
    FRAME     = FRAME f:HANDLE
    WIDTH-PIXELS  = 100
    HEIGHT-PIXELS = 40
    SENSITIVE = YES
    VISIBLE   = YES
    SCROLLABLE = NO
    TRIGGERS: ON LEAVE PERSISTENT RUN LeaveEvent IN THIS-PROCEDURE. END TRIGGERS
    .

hPopupFrame:VISIBLE = YES.

ON LEAVE OF FRAME f RUN LeaveEvent.

DEFINE VARIABLE hPopupFillin AS HANDLE NO-UNDO.
CREATE FILL-IN hPopupFillin
  ASSIGN
    FRAME             = hPopupFrame
    VISIBLE           = YES
    SENSITIVE         = YES
    TRIGGERS: ON LEAVE PERSISTENT RUN LeaveEvent IN THIS-PROCEDURE. END TRIGGERS
    .

ENABLE ALL WITH FRAME f.
WAIT-FOR GO OF FRAME f.

Notes:

  1. Creating a frame for the FILL-IN is significant in this example.
  2. Creating all three triggers is not significant@.

#3 Updated by Vladimir Tsichevski about 1 month ago

  • Related to Bug #8376: Focus transfer problem with frames having no focusable contents added

#5 Updated by Vladimir Tsichevski 3 days ago

  • Related to Bug #8673: Deduce the logic behind OE focus management and implement in FWD added

Also available in: Atom PDF