WBPro 14.0 - faulty call of methods

86 views
Skip to first unread message

mar...@feldtmann.online

unread,
May 3, 2025, 3:03:53 AMMay 3
to VAST Community Forum
OSShell does not know activeDisplayArea
desiredActiveMonitorCenter: is nowhere implemented


WbDevelopmentApplication>>osCheckOriginOnActiveMonitor: pt

^((OSShell activeDisplayArea containsPoint: pt) ifTrue: [ pt ]
ifFalse: [ OSShell desiredActiveMonitorCenter: (self initialWindowSize ifNil: [....]) ])

mar...@feldtmann.online

unread,
May 3, 2025, 3:26:19 AMMay 3
to VAST Community Forum

And this problem leads to a follow-up error: You can just open ONE WBPro Editor window. After that you can not open any other WBPro Window.

So it seems, that developing with WbPro 14.0 is not possible until this is fixed ... or perhaps a fix is already available ..

Marcus Wagner

unread,
May 3, 2025, 6:23:57 AMMay 3
to VAST Community Forum
I assume that comes from siginificant changes in the underlying Windows support for multiple screens with individual scales.
That change began at Windows 8 und is still in motion under Windows 11. 
As I have no WbPro (but other, older VASTs) I observed several general problems in this area, including positioning of the Transcript of a saved image did not restore properly upon new start in such a multiple screen enviroment. 
I patched OSShell then. In case of my personal problem, from time to time I still refer to my private patch (in VAST 11-14).
Officially announced was

User Interface & Visuals

  • Multi-monitor support
  • HiDPI improvements
and I guess that is not finished yet, as this seems still seems to collide with WBPro now.
The point is actual code must first investigate the actual involved monitor before starting coordinate calculations (which may become negative) and logic is required not to position s.th. off some screen, as multiple monitors do not necessarily are adjacent (may have gaps between them).
Reference to the acual display deals with that and is not to be misunderstood with only supporting or allowing one WBPro window.
In fact, many windows are supported, however they can be placed on different screens...
The complexity came from those windows which are placed so that they reach over several different monitors, every one with a different resolution and scale (you can investigate that since Windows 8 screen control with more than one monitors attached).
This became a common situation now> e.g. I am used to work on a laptop with a 14 inch 2.5k built in monitor and a docking station with two 28 inch 4k monitors attached.
Windows is able to move any information between these screens, in different resolutions, ending up with a wide virtual visual area of about 12.5k.
Besides, this is my reaction of becoming more and more illsighted at age.
Starting VAST on different monitors uncovered glitches in handling this new OS complexity here. 
Several historic  assumptions about underlying common widgets as of OTI/ENVY and original Motif do not hold anymore - as this still forms the base architecture in VAST widgets (and in WBPro, I assume), many adoptions under the hood had to be realized to keep the things running.
Besides I do not know how this will be reflected by the announced undergoing enhancements coverning avtual Unix GUI environments. 
VAST look and feel now still resembles the style of OS/2 and Unix of the 90ies on such platforms.
I guess that the specific Windows approach will not be similar to Unix - causing additional new divergence, as Motif support also vanishes from actual Linux versions as I can observe in my surroundings.

Mariano Martinez Peck

unread,
May 5, 2025, 10:52:37 AMMay 5
to va-sma...@googlegroups.com
Hi Marten,

Thanks for the report. I think the fix is to change

WbDevelopmentApplication >> #initialWindowPosition

"Hook for dynamically setting the window's position.

This method may be overriden by subclasses."


| pt |


pt := self class position.

pt

ifNil: [pt := self class abtDesiredWindowRect origin]

ifNotNil: [| extent |

extent := self initialWindowSize ifNil: [400 @ 300].

pt :=

DesktopSupport

checkOriginInVisibleArea: (pt extent: extent)

outOfScreen: [DesktopSupport activeMonitorCenter: extent]].

^pt



And remove #osCheckOriginOnActiveMonitor:

Kind regards,



--
You received this message because you are subscribed to the Google Groups "VAST Community Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email to va-smalltalk...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/va-smalltalk/38ea4ea1-2b32-4e1a-9cb8-035c4b4ca152n%40googlegroups.com.


--

Mariano Martinez Peck

VAST Lead Consultant

Senior Software Engineer

 mp...@instantiations.com
 @MartinezPeck
 /mariano-martinez-peck
 instantiations.com
TwitterLinkedInVAST Community ForumGitHubYouTubepub.dev

Mariano Martinez Peck

unread,
May 12, 2025, 12:17:07 PMMay 12
to va-sma...@googlegroups.com
Greetings,

For future reference, please note that if you're a WindowBuilder Pro user with VAST 14.0.0, please download the new version of the add-on from the VAST Support Portal which includes this fix as well as some others. The new version was uploaded as of 12:15PM US eastern time on May 12, 2025.

Kind regards,


mar...@feldtmann.online

unread,
May 14, 2025, 5:08:52 AMMay 14
to VAST Community Forum
the new download contains the config map "V 14.0.0 [573]a" of WindowBuilder Pro.

Mariano Martinez Peck

unread,
May 14, 2025, 8:13:13 AMMay 14
to va-sma...@googlegroups.com
On Wed, May 14, 2025 at 6:08 AM mar...@feldtmann.online <mar...@feldtmann.online> wrote:
the new download contains the config map "V 14.0.0 [573]a" of WindowBuilder Pro.



That's correct. That's the new version of the config map that includes the fixes. 


Regards,

Reply all
Reply to author
Forward
0 new messages