LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Anyone implemented a wizard-like user-interface?

I'm working on a project that needs to guide the user through a series of steps and I'm looking to using the wizard paradigm (an example would be InstallShield).

I'd like to separate the basic functionality from the specific function of each step in the process. In other words I would like to have a class to handle the "next, prev, help" buttons and to display whatever the current interface for the current state is.

Is there a way to display a VI within another VI, or something similar?

I've seen some examples where one VI leads to another -- I don't really want to do that, as I'd rather not have the "generic" part of the user interface close and be redrawn, and I'd also rather share the code f
or the generic part as much as possible.

Any ideas? Or better yet, has anyone done something similar already?
0 Kudos
Message 1 of 10
(3,555 Views)
I started working on something very much like you describe using the tab control. Each page of the tab control would display each step in the process. That seems to be the easiest way to accomplish the wizard look.

Brian
Message 2 of 10
(3,555 Views)
Thanks for the answer.

I thought about tab control, but I'm not thrilled with it for a couple reasons:

1. The user may get information overload when presented with a whole bunch of tabs
2. I'd have to disable various tabs programmatically to make the user go thru in the right order which seems like a kludge
3. It just doesn't look as elegant as the standard wizard based UI

It seems like there should be a way to embed one VI's front panel within another VI, and then programmatically change the embedded VI on the fly...
0 Kudos
Message 3 of 10
(3,555 Views)
1. You can hide the tabs
2. You can control the tabs with next, back, finish buttons.

I don't think that you can embed a vi like you suggest.
0 Kudos
Message 4 of 10
(3,555 Views)
I think that if take a look at it again you may find it suits your needs.
You can remove the tabs at the top so that the user doesn't even notice
them. Then it is simply a matter of setting the tab control to the page you
want. I've enclosed an example. There is probably a better way to check
which button was pushed, but I went through this pretty fast. In LabVIEW I
think tab controls are the best way to go for the "wizard" type look, but
you may find a better way.
(Open the Wizard Front vi)

Good Luck

Spencer Anderson

"Bmarsh" wrote in message
news:5065000000050000002C340000-993342863000@exchange.ni.com...
> Thanks for the answer.
>
> I thought about tab control, but I'm not thrilled with it for a couple
> reasons:
>
> 1. The us
er may get information overload when presented with a whole
> bunch of tabs
> 2. I'd have to disable various tabs programmatically to make the user
> go thru in the right order which seems like a kludge
> 3. It just doesn't look as elegant as the standard wizard based UI
>
> It seems like there should be a way to embed one VI's front panel
> within another VI, and then programmatically change the embedded VI on
> the fly...



[Attachment Wizard UI.llb, see below]
0 Kudos
Message 6 of 10
(3,555 Views)
Thank you. I wasn't aware of the ability to hide the tab controls, so this example clears that up for me.

In terms of reuse, this still isn't ideal. Suppose for instance that I have two different projects, but the display and controls for "step 2" is the same for both. The only way I see to handle that is cut&paste from one project to the other, which means someday when "step 2" changes, I have to cut&paste again, etc.

Not ideal, but very workable, and apparently just a limitation of the tool.

Thanks again.

Brad
0 Kudos
Message 8 of 10
(3,555 Views)
Attached is a very simple example of the idea I suggested above
0 Kudos
Message 5 of 10
(3,555 Views)
Thank you. I didn't realized I could hide the tab controls. This example is very informative.

I'd still much rather have separate VI's for each of the tab displays just for the sake of modularity (and reuse - for example the first splash screen will probably be the same for several projects -- oh well, back to cut&paste reuse 😞 ), but I'll just have to be content to gripe and complain about the shortcomings of labview instead.

Thanks again.
0 Kudos
Message 7 of 10
(3,555 Views)
Hi;

I think a little about your question and come up with the following VI, which is attached to this message. I hope it can be of help.

Best regards;
Enrique
www.vartortech.com
0 Kudos
Message 9 of 10
(3,555 Views)
Have you considered using the VI server? (Application Control subpalette)
You can programmatically run subVIs, and have them appear at the screen XY
relative to the "parent" VI . Set the pop-up VI properties so that the
pop-ups are completely clean - no menu, no title bar, etc. Color the
backgrounds so everything blends together. And when you are sure it is
completely debugged, make the pop-up sub VIs dialog boxes so the user
can't accidentally hide the pop-up subVI by clicking on the "parent" VI.
- Vinny

Bmarsh wrote:

> I'm working on a project that needs to guide the user through a series
> of steps and I'm looking to using the wizard paradigm (an example
> would be InstallShield).
>
> I'd like to separate the basic functionality from the specific
> func
tion of each step in the process. In other words I would like to
> have a class to handle the "next, prev, help" buttons and to display
> whatever the current interface for the current state is.
>
> Is there a way to display a VI within another VI, or something
> similar?
>
> I've seen some examples where one VI leads to another -- I don't
> really want to do that, as I'd rather not have the "generic" part of
> the user interface close and be redrawn, and I'd also rather share the
> code for the generic part as much as possible.
>
> Any ideas? Or better yet, has anyone done something similar already?
0 Kudos
Message 10 of 10
(3,555 Views)