Project

General

Profile

Bug #2912

Bug #2677: fix drawing and functional differences between P2J GUI and 4GL GUI

alert-box is displayed on the task bar in Web GUI client, it shouldn't

Added by Hynek Cihlar over 8 years ago. Updated over 7 years ago.

Status:
Closed
Priority:
Normal
Start date:
Due date:
% Done:

100%

billable:
No
vendor_id:
GCD
case_num:

10961.txt Magnifier (3.88 KB) Sergey Ivanovskiy, 12/09/2015 02:48 PM

History

#1 Updated by Greg Shah over 8 years ago

This only happens in the web client?

#2 Updated by Hynek Cihlar over 8 years ago

Yes, this only happens in Web GUI.

#3 Updated by Greg Shah over 8 years ago

  • Start date deleted (12/03/2015)
  • Assignee set to Sergey Ivanovskiy
  • Target version set to Milestone 12
  • Subject changed from Alert-box is displayed on the task bar in Web GUI client, it shouldn't to alert-box is displayed on the task bar in Web GUI client, it shouldn't

#4 Updated by Sergey Ivanovskiy over 8 years ago

Hynek, please log here what is a target program to reproduce this bug. For the JS client we can't distinguish modal windows from any other child window. A task icon is created for a window and is displayed if its window becomes visible.

#5 Updated by Hynek Cihlar over 8 years ago

Sergey Ivanovskiy wrote:

Hynek, please log here what is a target program to reproduce this bug. For the JS client we can't distinguish modal windows from any other child window. A task icon is created for a window and is displayed if its window becomes visible.

Try simpler_alert_box.p for example. I guess we will have to extend the window info passed to JS client so it can identify modal windows.

#6 Updated by Sergey Ivanovskiy over 8 years ago

Try simpler_alert_box.p for example. I guess we will have to extend the window info passed to JS client so it can identify modal windows.

I will try it but it needs global changes for GuiOutputManager to add void realizeModalWindow(int ownerId, int windowId, String windowTitle) and for GuiDriver to add void registerModalWindow(ownerId, windowId, windowTitle) because of this code from ModalWindow.realize()

      screen().realizeChildWindow(ownerId, id.asInt(), title()); // we can't identify that this window is modal.

      realized = true;

      WindowManager.addWindow(this); // only after this code we can identify modal windows inside the web driver

#7 Updated by Sergey Ivanovskiy over 8 years ago

No, there is the other way to use GuiDriver.setWindowVisible(true), because at that point we can identify the window is a modal one using WindowManager.findWindow(int windowId).

#8 Updated by Hynek Cihlar over 8 years ago

Sergey Ivanovskiy wrote:

Try simpler_alert_box.p for example. I guess we will have to extend the window info passed to JS client so it can identify modal windows.

I will try it but it needs global changes for GuiOutputManager to add void realizeModalWindow(int ownerId, int windowId, String windowTitle) and for GuiDriver to add void registerModalWindow(ownerId, windowId, windowTitle) because of this code from ModalWindow.realize()
[...]

realizeChildWindow() returns a child top-level window. Although there isn't a formal javadoc that would define what is a child-window (I will add it), you can assume that a child window is never shown on the "task bar". So the real key is not modality but the fact whether a window is a main or child window. Note that currently any modal window is also a child window, but not in reverse - child window doesn't have to be necessary modal.

#9 Updated by Sergey Ivanovskiy over 8 years ago

Hynek Cihlar wrote:

realizeChildWindow() returns a child top-level window. Although there isn't a formal javadoc that would define what is a child-window (I will add it), you can assume that a child window is never shown on the "task bar". So the real key is not modality but the fact whether a window is a main or child window. Note that currently any modal window is also a child window, but not in reverse - child window doesn't have to be necessary modal.

You are right, it is a more simple solution and it doesn't require to change the web data protocol, since GuiDriver.registerChildWindow(int ownerId, int windowId, String windowTitle) is used only by ModalWindow.

#10 Updated by Sergey Ivanovskiy over 8 years ago

Greg, please review the committed rev 10961.

#11 Updated by Greg Shah over 8 years ago

Code Review Task Branch 1811t Revision 10961

I'm fine with the changes.

Constantin: please review.

#12 Updated by Constantin Asofiei over 8 years ago

Greg Shah wrote:

Code Review Task Branch 1811t Revision 10961

I'm fine with the changes.

Constantin: please review.

The changes look OK.

#13 Updated by Greg Shah over 8 years ago

  • % Done changed from 0 to 100
  • Status changed from New to Closed

#14 Updated by Greg Shah over 7 years ago

  • Target version changed from Milestone 12 to GUI Support for a Complex ADM2 App

Also available in: Atom PDF