LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Multicolumn Listbox scroll bar woes

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.

0 Kudos
Message 11 of 19
(1,482 Views)

So if you're looking for something something clunky, here's an option:

 

clunkyscroll.png

 

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.

Message 12 of 19
(1,476 Views)

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

 

 

 

 

0 Kudos
Message 13 of 19
(1,465 Views)

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.

Message 14 of 19
(1,459 Views)

@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

0 Kudos
Message 15 of 19
(1,426 Views)

@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.

Message 16 of 19
(1,403 Views)

@mcduff wrote:

...

 

Snap6.png

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

Retired Senior Automation Systems Architect with Data Science Automation LabVIEW Champion Knight of NI and Prepper LinkedIn Profile YouTube Channel
Message 17 of 19
(1,398 Views)

@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

0 Kudos
Message 18 of 19
(1,390 Views)

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.

listbox.PNG

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

Message 19 of 19
(1,361 Views)