From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.
We appreciate your patience as we improve our online experience.
From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.
We appreciate your patience as we improve our online experience.
12-22-2014 10:50 AM
I'm coding in CVI 8.1 and using the 2010 RTE for Linux. In Linux, EVENT_PANEL_SIZE fires multiple times instead of EVENT_PANEL_SIZING (as it is in Windows). The problem is that the EVENT_PANEL_SIZE event doesn't provide any callback data in either eventData1 or eventData2. Therein liles my problem, I need to know what side/corner of the window is being dragged to fire the EVENT_PANEL_SIZE events in Linux. I'm going to go out on a limb and bet that the functionality for this hasn't improved since the 2010 Linux RTE release. Hopefully someone can correct me if I'm wrong (we're in the middle of upgrading to latest CVI) or steer me in the right direction to acquire what side/corner the resize drag occurs on.
I'm really hoping I don't need to fall back to X to get the drag side info.
Thanks,
-shrew
12-22-2014 11:37 AM
To clarify a confusing sentence in my previous post: I need to know what side/corner of the window is being dragged due to the EVENT_PANEL_SIZE events in Linux.
Thanks again for reading,
-shrew
12-23-2014 02:35 PM
Hello pshrew,
For information on where this information is passed and stored, please view the following links:
http://zone.ni.com/reference/en-XX/help/370051Y-01/cvi/uiref/cvieventpanelsize/
http://zone.ni.com/reference/en-XX/help/370051M-01/cvi/uiref/cvieventpanelsizing/
I hope this helps. Happy holidays!
12-29-2014 09:12 AM
Thanks for the reply. But I was already aware of the sizing functionality as I have programmed it for Windows. What I wanted to know was how to retrieve the panel side that was being resized in Linux - as in PANEL_SIZING_TOPLEFT, PANEL_SIZING_TOP, PANEL_SIZING_BOTTOM, PANEL_SIZING_BOTTOM_RIGHT, etc. The "PANEL_SIZING_---" flags are only available from an EVENT_PANEL_SIZING - NOT an EVENT_PANEL_SIZE (which arrives in Linux in lieu of EVENT_PANEL_SIZING) - that is the problem!
I have done it, but it isn't the most streamlined thing in my opinion. To determine the panel side being dragged I maintain the panel's Rect state (the entire window including window manager decorations and titlebar): top, left, width and height. Without going into detail about how to get the sizing information the following is done:
For readers of this who are dealing with Linux it is good to note this post as well. Sometimes it is necessary to access the lower level X functions to get things done in Linux.