MultiValue Tools

 View Only
Expand all | Collapse all

Wintegrate

  • 1.  Wintegrate

    Posted 12-18-2021 07:45
    Can anyone tell me a way to determine if a newly opened wIntegrate window is off of the viewable monitor screen? i.e. I command wIntegrate to open a new window but it is partially off of the screen, then I have to use the mouse to physically move it so the whole window is viewable. I have scanned both the 'winthost' and 'wintscr' manuals but have not been able to find a solution. I'm wondering if there is a solution, or perhaps additional documentation that could be helpful. I am using wIntegrate version 6.3.0.

    ------------------------------
    Kevin Hond
    Mr.
    Self Registered
    Kingsport TN US
    ------------------------------


  • 2.  RE: Wintegrate

    Posted 12-20-2021 10:25
    I have two suggestions:  1) Look at documentation for WindowPos.  If you do a CALL WIN.EVAL('WindowPos(1)',X) you'll get back the current location of your window.  2) If you want to know where the window was last sitting without opening it, go to your \documents\wintegrate\session folder and look for the session.  Within the session you'll find Window=... which holds the location.

    ------------------------------
    Michael Archuleta
    President
    Arcsys Inc
    Draper UT US
    ------------------------------



  • 3.  RE: Wintegrate

    Posted 12-20-2021 10:53
    Sounds like a Windows thing.

    Step 1. Open wIntegrate.
    Step 2. RePosition the wIntegrate screen.
    Step 3. Hold down the [Ctrl] button (on keyboard) and _ click the Red [X] in upper right corner to close.
    Step 4. ReOpen wIntegrate _ position should be ok.

    --Bill

    ------------------------------
    Bill Brutzman
    IT Manager
    Hk Metalcraft Manufacturing Corporation
    Lodi NJ US
    ------------------------------



  • 4.  RE: Wintegrate

    Posted 12-21-2021 08:01
    I would like to thank you both for the replies/suggestions that I received on my question regarding wIntegrate's window positioning.

    Unfortunately you both missed my actual issue so let me try to clarify: When I start (or continue) a wIntegrate/Unidata session, the window is of a specific size (naturally). Having said that, there are routines within my programming that can make the window larger on-the-fly, I do this by either increasing the font size or by increasing the number of columns and/or rows presented within the window (wIntegrate makes these processes available). It is at this point, that the enlarged window is partially off of the viewable part of my monitor causing me to have to move it with the mouse.

    I believe that there are ways in windows, which I have assumed wIntegrate script would be able to access, that can be used to determine the number of available pixels wide or tall on the monitor/screen and the relative position (in pixels) of an individual window. This is the solution that I am seeking.

    This is the best that I can explain the issue.

    ------------------------------
    Kevin Hond
    Mr.
    Self Registered
    Kingsport TN US
    ------------------------------



  • 5.  RE: Wintegrate

    Posted 12-21-2021 10:44
    This is what I do:

    CALL WIN.EVAL('SystemMetrics(1):"*":SystemMetrics(0):"*":WindowPos(0):"*":Get(Columns):"*":Get(Lines):"*":Version:"*":Serial:"*":Get(Font):"*":Get(ExtraLineSpace)',SYSMET)

    SYSMET ends up being an asterisk delimited string with the monitor width in pixels, monitor height in pixels, the position of the inside of the terminal screen (4 pieces of data), number of columns, number of lines, the Wintegrate version, the Wintegrate serial number, the font and extra line spacing.  I do this in one CALL WIN.EVAL which is considerably faster than making 9 separate CALLs.  I use the various pieces of data to see if a new window that I might create will fall outside to monitor then I can readjust where it will appear before displaying.

    Just for funsies, do the following program to learn more about WindowPos.  In my documentation of Client Scripting Reference it is on page 542.

    FOR J = 0 TO 3
       CALL WIN.EVAL('WindowPos(':J:'0)',WINDOWPOS)
       PRINT WINDOWPOS
    NEXT J

    If I'm still not understanding the problem, my apologies in advance.

    ------------------------------
    Michael Archuleta
    President
    Arcsys Inc
    Draper UT US
    ------------------------------



  • 6.  RE: Wintegrate

    Posted 12-21-2021 11:51
    Thanks Michael, this looks like it's going to work for me. Just one question, in your response, you reference "my documentation of Client Scripting Reference". Are you referring to the standard wIntegrate documentation or is this something else. Something, perhaps that I could use. I am currently in the process of re-writing my character base software to have a more 'Windows' look and feel.
    Again thanks,

    Kevin

    ------------------------------
    Kevin Hond
    Mr.
    Self Registered
    Kingsport TN US
    ------------------------------



  • 7.  RE: Wintegrate

    Posted 12-21-2021 12:42
    Sorry for not being more precise. 

    Rocket wIntegrate
    Client Scripting Reference
    Version 6.4.4
    April 2020
    WIN-644-CS-RM-01

    WindowPos
    This function returns the size of the current wIntegrate session in pixels depending on the option.
    The Terminal Screen is the area in which the host text is displayed. The Session Window is the whole of
    the wIntegrate window.
    The result is returned as a string in the format top_left_x, top_left_y, bottom_right_x, bottom_right_y.
    For options 0 and 2, the top left is always at position 0,0.
    Option 1 is equivalent to Get(Window) except that it gives the actual size of the window even when
    it is maximized.
    The Java Client can return slight differences from the Local and Windows Thin Client versions.
    Syntax
    WindowPos option
    Parameters
    The following table describes the parameters of the WindowPos command:
    Parameter Description
    option See the following table
    Values for option
    Value Description
    0 Returns the position of the inside of the terminal screen
    1 Returns the position of the outside of the terminal screen
    2 Returns the position of the inside of the session window
    3 Returns the position of the outside of the session window
    Return Value
    Window rectangle for the specified option in pixels.

    SystemMetrics
    This function returns the size of various components of a window, depending on the option.
    Syntax
    SystemMetrics option
    Parameters
    The following table describes the parameters of the SystemMetrics command:
    Parameter Description
    option See the following table
    Values for option
    Value Description
    0 Width of desktop
    1 Depth of desktop
    2 Width of vertical scroll bar
    3 Height of horizontal scroll bar
    4 Height of caption with non-sizing border
    5 Width of non-sizing border
    6 Height of non-sizing border
    7 Width of dialog box border (with WS_DLGFRAME style.)
    8 Height of dialog box border (with WS_DLGFRAME style)
    Return Value
    The measurement requested by the option parameter.


    ------------------------------
    Michael Archuleta
    President
    Arcsys Inc
    Draper UT US
    ------------------------------



  • 8.  RE: Wintegrate

    Posted 12-21-2021 11:58
    In year 2002 _ David Robertshaw _ in the UK _ helped me out with a related problem.

    I just sent a connect request to David via LinkedIn.

    On LinkedIn _ I see that David has a few other familiar U2 contacts.

    ------------------------------
    Bill Brutzman
    IT Manager
    Hk Metalcraft Manufacturing Corporation
    Lodi NJ US
    ------------------------------



  • 9.  RE: Wintegrate

    Posted 12-21-2021 15:34
    Thanks Bill. As it happens, I know David although I doubt he'll remember me. When I was with Storis Management Systems we were working on the possibility of going GUI but this must have been at lease 20 years ago, if not just a little bit more.

    ------------------------------
    Kevin Hond
    Mr.
    Self Registered
    Kingsport TN US
    ------------------------------



  • 10.  RE: Wintegrate

    Posted 12-22-2021 12:24
    Hi Kevin,

    I've been off on some vacation days so did not see this sooner. Looks like Michael A. has given you all the needed info related to screen and session window size/placement.

    Feel free to reach out to us through a support case if you need to discuss any further options.

    David R. retired from Rocket and working on wIntegrate a few years back. He still knows the product and may want to assist on his own time, but again, don't hesitate if you need to get further help from our support team.

    Regards,
    Michael Belme
    Rocket MV Support

    ------------------------------
    Michael Belme
    Technical Support
    Rocket Internal - All Brands
    DENVER CO US
    ------------------------------



  • 11.  RE: Wintegrate

    Posted 12-22-2021 12:39
    Thanks Michael, I'll keep that in mind. Although I've been a multi-value / Unidata programmer for over 40 years, I seem to have a lot of trouble getting wIntegrate scripts to work properly.

    ------------------------------
    Kevin Hond
    Mr.
    Self Registered
    Kingsport TN US
    ------------------------------