FormInDialogue issues

I’m able to create FormInDialogues quite handily. And, using a global I’m able to block the Close button (forcing the user to utilize the buttons I’ve provided).

However I’m having difficulties enabling buttons on a displayed FID to display yet other FIDs. I want to force users to use my buttons on all FIDs. I can get the secondary FID to display only if I turn the global to 0 instead of 1, thus releasing my blocks on the Close button.

Ideally I’d like the secondary FID to stack on top of the existing FID. Haven’t yet seen that and intuitively I sense such is possible.

The documentation is insufficiently explicit for my addled state. :D

Hi Morley

What is the technique you are using to block the Close button?

I would also like to be able to stack multiple FID’s as think it would be better for users who can get worried when the first window disapears. Recall there was a thread some time ago on this subject explaining why not possible but can’t find it at moment. Now use multiple Tabs in the original FID to simulate multiple windows.

Graham Greensall
Worxinfo Ltd

grahamg:
What is the technique you are using to block the Close button?

I set globals.gflag to “1” immediately before displaying the FID and set it to “0” in all my buttons immediately before issuing a closeFormDialog(false) command. Finally, there’s an onHide method that sets to true if the global is 0 and false otherwise. Wish there were a more elegant structure, but this works.

grahamg:
I would also like to be able to stack multiple FID’s as think it would be better for users who can get worried when the first window disapears. Recall there was a thread some time ago on this subject explaining why not possible but can’t find it at moment. Now use multiple Tabs in the original FID to simulate multiple windows.

I strongly suspect stacking is possible. I recall a discussion of at least a year ago about how to close just the top FID and not all of them.

Anyone know more about this than Graham and I?

Morley, you can’t just do from an FID to another FID. the method is than not waiting after: application.showFormIn…
it runs trough.

The trick is, to close the first FID, than open the second, and after that, open the first again!.

It’s a small work-around.
This is discussed before on this forum, and I think/hope it is still on the whislist to fix it. If you don’t know this at first, you are pulling your hear out, and shouting: what is happing!!! :twisted:

HJK:
The trick is, to close the first FID, than open the second, and after that, open the first again!. It’s a small work-around.

Rather confusing for the end user – to see the FID form they’re working on disappear just so they can have temporary access to another FID, only to come back to the original. Hmmm…

I found the reference to layered FIDs, page 147 of the Developers docs, volume2. Unless I’m misreading what’s intended in the docs.

//completely closes the form dialog including the stacked forms
application.closeFormDialog(true);

Anyone know definitively whether stacked or layered FIDs are possible in Servoy 2.2?

Hi Morley

Thanks for the Close button method - elegant enough for me.

You also said:

I recall a discussion of at least a year ago about how to close just the top FID and not all of them.

This will automatically close your last form and reopen the previous one

application.closeFormDialog(false); //closes only the last open form in the dialog

Regards

Graham Greensall
Worxinfo Ltd

Rather confusing situation. I remain confused by the “stacked forms” and “closes only the last open form in the dialogue” references in the docs. And the functionality of the true and false operatives in the closeFormDialog() function.

I’m attempting to put up a FID, leaving the base form in place as visual orientation for the end user. The FID itself has buttons to present yet other FIDs for optional details and/or in context editing which ideally I’d like to have layered on top of the major FID. Simultaneously, it’s important the end user not do an end run around the buttons provided.

Is the above possible? If so, how? I’m genuinely confused. Anyone?

Kind regards,

Morley

application.closeFormDialog(false)
will close the current (active) FID but leave any/all others open. If the current FID is the 3rd FID to be opened then ‘false’ will close the 3rd FID and display the 2nd one.

application.closeFormDialog(true)
will close ALL FID’s - in the example above it will close the current FID - No 3 - and also the No 2 and No 1 FID’s taking you back the the base Form.

Currently can only display one FID at a time.

HTH

Graham Greensall
Worxinfo Ltd

There is absolution no way you can show another form in dialog on top of the other. It is not very easy for the guys of Servoy to change this I understood so it will take some time before we will have this…

Understood. Got my hopes up, given the terminology used in the docs. :?

Morey

Here is the most recent post on this subject with comment from Johan - http://www.forum.servoy.com/viewtopic.p … rmindialog

I will look for the next major version if we can give an option how to show the next form in a dialog.

Regards

Graham Greensall
Worxinfo Ltd