LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Resize Radio Buttons?

Solved!
Go to solution

@JÞB wrote:
Except that we associated related controls by logical groups and then smushed all the code for those separate groups on 1 block diagram.   I Hate Tabs.  They are the Stacked Sequence Structures of the Front panel. 

 


Not necessarily. I make heavy use of front panel clusters and arrays (often with transparent containers, so you would even notice ;)), so things are logically grouped already. In simpler programs, the tab value is not even connected anywhere in the code or triggers any events. it's use is purely cosmetic. We don't need to know the tab value, because if a control fires an event, it is obvious that that control must be on the current tab. A lot of things (on many tabs!) need to be recalculated and updated, no matter what tab that control is located.)

 

It really depends what the program does, but my program often need so many controls and indicators (example) that it either will not fit on a smaller resolution screen, would require scrollbars, or would require significantly more code if we do it without tab controls. I understand that in other application areas, tabs are often not needed. But we cannot generalize that to everything.

 

Hey look, my chrome browser even has tabs! If it is good enough for Google, it's good enough for me! 😄

Message 21 of 31
(1,578 Views)

Your browser tabs segment the code behind them...just saying


"Should be" isn't "Is" -Jay
0 Kudos
Message 22 of 31
(1,568 Views)

@JÞB wrote:

Your browser tabs segment the code behind them...just saying


I know. Each tab in chrome is actually it's own process. My comment was from a user perspective. I typically have 20+ browser tabs open, would be unmanageable with that many different windows. 😄

0 Kudos
Message 23 of 31
(1,562 Views)

@altenbach wrote:

@JÞB wrote:

Your browser tabs segment the code behind them...just saying


I know. Each tab in chrome is actually it's own process. My comment was from a user perspective. I typically have 20+ browser tabs open, would be unmanageable with that many different windows. 😄


You mean, like dropping any number of running sub vis into a subpanel based on a radio button selection?  Optionally with the ability to undock the active process....

Who was it that said "If it's good enough for Google....?"  Ahem.


"Should be" isn't "Is" -Jay
0 Kudos
Message 24 of 31
(1,545 Views)

@JÞB wrote:

@Kyle97330 wrote:

Alternately, you could use a tab control with the actual bit of the tab you'd normally put things in resized to zero height.  It would eliminate the need to have actual code running that turns off any other Boolean that's part of the cluster that's already on.  Not perfect, but it might be simpler.


See my tag cloud for " I hate Tabs "  there is a beauty of an example replacing a Tab Container with a custom radio button and a sub panel. 

 By far more maintainable than A single vi with a "Tabasaurus Wrecks" front panel.  Modular and configurable too.  Just change the text on the radio button and link to a new vi or vi version to drop in the sub panel.  Main UI doesn't have to change a byte to extend features!

 

Via phone.  Kudos for links y'all 

 


I kind of feel the same way, tabs are becoming long in the tooth as far as GUI design...

 

What I am going to do in this case is make the "Tabs" transparent and switch between the "pages" programmatically with the radio buttons. That's how I got back into the radio buttons in the first place.

 

So in the front panel you will not see any tabs, just a row of buttons that is always visible along the bottom. Pressing a button will then appear to change everything on the screen, when in reality it's just switching tabs.

========================
=== Engineer Ambiguously ===
========================
0 Kudos
Message 25 of 31
(1,540 Views)

@RTSLVU wrote:

@JÞB wrote:

@Kyle97330 wrote:

Alternately, you could use a tab control with the actual bit of the tab you'd normally put things in resized to zero height.  It would eliminate the need to have actual code running that turns off any other Boolean that's part of the cluster that's already on.  Not perfect, but it might be simpler.


See my tag cloud for " I hate Tabs "  there is a beauty of an example replacing a Tab Container with a custom radio button and a sub panel. 

 By far more maintainable than A single vi with a "Tabasaurus Wrecks" front panel.  Modular and configurable too.  Just change the text on the radio button and link to a new vi or vi version to drop in the sub panel.  Main UI doesn't have to change a byte to extend features!

 

Via phone.  Kudos for links y'all 

 


I kind of feel the same way, tabs are becoming long in the tooth as far as GUI design...

 

What I am going to do in this case is make the "Tabs" transparent and switch between the "pages" programmatically with the radio buttons. That's how I got back into the radio buttons in the first place.

 

So in the front panel you will not see any tabs, just a row of buttons that is always there along the bottom. Pressing a button will then appear to change everything on the screen, when in reality it's just switching tabs.


Go back and look at the link mcduff provided.   Pressing a radio button loads the selected vis FP into the subpanel without stopping any of the running sub is but, a new functional group is actively awaiting user interaction.   Bonus, the code is modularized rather than jammed into a single block diagram.


"Should be" isn't "Is" -Jay
0 Kudos
Message 26 of 31
(1,536 Views)

So, everyone argues from a specific narrow perspective and comes to different conclusions. Seems obvious. 🙂

 

Just saying that subpanels would require significantly more code and more subvis in my case. Each tab has groups of controls with visibility determined by the state of other controls, often located on different tabs. I would need to carry control references around everywhere. All I currently need is a tiny parallel loop with its own event structure, which listens out of band for value changes, updating properties of other controls accordingly.

 

During use of my programs, tabs are flipped often. I would like to see a performance comparison between flipping a tab (no code needed) and inserting a subvi into a subpanels (lotsa code needed).

 

Tabs are nice, fast and direct. Code only gets clunky if the beginner programmer connects it to a case structure, trying to micromanage what code parts run as a function of tab state. Herding cats is easy by comparison :).

0 Kudos
Message 27 of 31
(1,525 Views)

More sub is yes, (& that is the positive argument) more code, not really.  Insert vi method calls are faster than human vision.

Better yet, reordering the "Pages" is an array manipulation and won't crash the LabVIEW IDE , Ouch.


"Should be" isn't "Is" -Jay
0 Kudos
Message 28 of 31
(1,514 Views)

@JÞB wrote:

More sub is yes.


So how do you suggest to modify any control/indicator properties (disabled, visible, etc) on any of the other subVIs (loaded or not into a subpanel)  based on control value changes on the panel of subVI currently loaded into the panel. The combinatorial explosion of possibilities is mindboggling. 😄

0 Kudos
Message 29 of 31
(1,501 Views)

Maintain a Machine State fgv, or better yet Notifier and let the sub vis handle the state as they see fit.  If that cannot be done there is a code small for that.  It smacks of overwhelming the user or, not understanding the user story.  

 

I think your combinational explosion argument is , well, off base since the USER can only interact with 1 tab or subvi anyway

 

 

 

I once took over a project....

 

But, perhaps we've hijacked this thread enough? I don't mind continuing with the discussion on another thread.

 

<Holy turds.  Jeff just asked CA to start a new thread?> I am getting to be an old dog.. but I still don't mind learning when I  am wrong.


"Should be" isn't "Is" -Jay
0 Kudos
Message 30 of 31
(1,488 Views)