11-05-2019 10:42 AM
I do know of this option and it is enabled. The window resize can happen instantly but the code to perform readjustments takes time. The pane is set to fit the tree to the pane size, so other objects in the pane will be moved around as the window resizes, and it is up to my code to readjust them which takes time. That's why I suggested just hiding controls on window resize, until the resize is done, do you don't constantly see my VI fighting the built in resizing functionality. I guess one other option I don't like would be to not resize objects while moving, but I prefer being able to see things move as I resize them.
Unofficial Forum Rules and Guidelines
Get going with G! - LabVIEW Wiki.
17 Part Blog on Automotive CAN bus. - Hooovahh - LabVIEW Overlord
11-05-2019 11:07 AM
So if you're looking for something something clunky, here's an option:
It's not the whole solution but I think it might get you there. You'll need to combine it with the actual cell position, filter out clicks that aren't on the horizontal scrollbar, add a MouseDown event to get your "starting point", filter out the vertical component of motion, and a few other things... but this will get you relative scroll motion 🙂
Basically the only readable thing that's changing as far as I can tell is the image of the listbox. If you just use "Mouse Move" events then it'll fire all the time, and even if you filter when it's just over the scrollbar the event still fires at the end of the scrollbar.
11-05-2019 12:11 PM
Thank you for all the good ideas and tricks!!
After further thought and much effort I may move away from the UI I was pursuing. At the risk of hijacking my own thread, I'll solicit opinions here since the advice is good.
My original idea was to have a "side-panel" that had a list of DAQmx task running. The first 3 columns would be "actions" the user could take on that task, for example, record, stop, edit, etc. The user could click on a symbol to perform the action. (The data for a task would be displayed in a subpanel.) After talking to a colleague they suggested that may be confusing, and it would be better to have the controls in the subpanel for the task, that way the user sees the connection to the task. Their point is valid, my hesitation is reprogramming a UI that took awhile. At this point I am thinking of following that suggestion and just have a single symbol that is only indicating what the task is doing. This would rid me of all of UI troubles also.
What do you think?
Thanks again.
Cheers,
mcduff
11-05-2019 12:29 PM
You see both types of UI's around in other systems, but I think your second approach is the more "general" one for data acquisition. A few examples that come to mind:
-Web browsers: method 2, usually the tab is selected first, then you can "do stuff" like print or bookmark a site or whatever from within the tab.
-MS Outlook: mixed, you have some options related to specific emails, some of which are contained in the ribbon (Move, Delete, Categorize, etc) but you have some shortcuts in the email itself (Reply/Forward)
-NI MAX: method 2, you click tasks, then click stuff to do with each task.
I think method 2 is more extensible as well. Let's say you decide to add a new type of task that expands on capabilities (for example, "Triggered start"). That option won't fit in the column list, so you'd either have to expand the columns to add a button to ALL of the tasks, or have some functionality in the list and some in the subpanel, which could be confusing.
One last way to do it would be to add the buttons in the subpanel, but also let the user right-click on an item in the listbox. Each item could then populate with each item that it was able to do, so they don't all have to be the same.
11-05-2019 09:00 PM
@Hooovahh wrote:
Cool movie and UI. I can't believe the hoops you went through to make it. Maybe NXG will make UIs easier for us.
cheers,
mcduff
11-06-2019 07:35 AM
@mcduff wrote:
Cool movie and UI. I can't believe the hoops you went through to make it. Maybe NXG will make UIs easier for us.
The cynic in me says we will trade one set of work arounds for another set, that we will have to learn.
Unofficial Forum Rules and Guidelines
Get going with G! - LabVIEW Wiki.
17 Part Blog on Automotive CAN bus. - Hooovahh - LabVIEW Overlord
11-06-2019 07:58 AM
@mcduff wrote:
...
There are two horizontal scrollbars in the listbox, on top of each other.
mcduff
PS I don't want to make a square decoration and move it. I did briefly consider it.
Did you try to customize using the control editor?
Ben
11-06-2019 08:29 AM
@Ben wrote:
Did you try to customize using the control editor?
Ben
Except for simple booleans I tend to stay away from the control editor, too much frustration.
mcduff
11-08-2019 04:29 AM
I had this very problem and my solution was the put my symbols in a seperate, adjacent listbox. When the user scrolls horizontally in the main listbox the symbols remain in place. For me this had the advantage that the status symbols remain visible. If you have many columns then you can move any number of columns to the horizontaly static listbox so when the user scrolls across the main listbox the column entry that is used to identify the row remains visible.
In this example the connected and calibrated columns are in a different listbox to the rest of the data. I made everything transparent and added my own seperators. I did initially put it all in a cluster to give it the appearance of being a single entity but I prefer this solution.
Andy