Hiding a TFolder page

Post Reply
User avatar
Silvio
Posts: 3107
Joined: Fri Oct 07, 2005 6:28 pm
Location: Teramo,Italy

Post by Silvio »

I think it not possible
I think tfolder page can be enable or disable ....
Best Regards, Saludos

Falconi Silvio
User avatar
Silvio
Posts: 3107
Joined: Fri Oct 07, 2005 6:28 pm
Location: Teramo,Italy

Post by Silvio »

I think it not possible
I think tfolder page can be enable or disable ....
but each dialog can be an control ..I don't Know...
Best Regards, Saludos

Falconi Silvio
User avatar
Marco Turco
Posts: 858
Joined: Fri Oct 07, 2005 12:00 pm
Location: London
Contact:

Post by Marco Turco »

Hello Enrico,
I use this turn-around to do it.

Imagine to have a folder oFld with 3 pages: "Folder1","folder2","folder3"

then you can "hide" the folder2 at runtime with:

oFld:SetPrompt("Folder1","","Folder3")
oFld:aEnable[2]:=.f.
Best Regards,

Marco Turco
SOFTWARE XP LLP
User avatar
Enrico Maria Giordano
Posts: 7355
Joined: Thu Oct 06, 2005 8:17 pm
Location: Roma - Italia
Contact:

Post by Enrico Maria Giordano »

Marco Turco wrote:Hello Enrico,
I use this turn-around to do it.

Imagine to have a folder oFld with 3 pages: "Folder1","folder2","folder3"

then you can "hide" the folder2 at runtime with:

oFld:SetPrompt("Folder1","","Folder3")
oFld:aEnable[2]:=.f.
Thank you, but I look forward for a better solution. :-)

EMG
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Enrico,

We need to implement a new method for it, as the dialog for the folder page to hide should be removed from oFld:aDialogs.

We can't simply hide it, as the folder uses the hide and show to select them.

Also, the prompts have to be modified.
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
TecniSoftware
Posts: 213
Joined: Fri Oct 28, 2005 6:29 pm
Location: Quilmes, Buenos Aires, Argentina

Post by TecniSoftware »

I need to create or not, some dialogs depending the rights accesss.
I do this with TPages, but is very similar code:

Add -> DEFAULT aDialogs := {} // In method Redefine

And at dialog creation:

n := 0

DEFINE DIALOG oDlg;
RESOURCE "FICHA";
TITLE "Title"

REDEFINE PAGES oPages;
ID 999;
OF oDlg

If ChkRights() // Check security access

n++
aAdd(aItems, "Datos personales" ) // manually add the dialog
aAdd(oPages:aDialogs, {})

DEFINE DIALOG oPages:aDialogs[n];
RESOURCE "FICHA_01_DATOS01";
OF oPages

REDEFINE GET oGetLegajo;
VAR oDbf:Legajo;
ID 1;
OF oPages:aDialogs[n]

EndIf

This work fine for me.

Best regards!
Alejandro Cebolido
Buenos Aires, Argentina
User avatar
Enrico Maria Giordano
Posts: 7355
Joined: Thu Oct 06, 2005 8:17 pm
Location: Roma - Italia
Contact:

Post by Enrico Maria Giordano »

Antonio Linares wrote:Enrico,

We need to implement a new method for it, as the dialog for the folder page to hide should be removed from oFld:aDialogs.

We can't simply hide it, as the folder uses the hide and show to select them.

Also, the prompts have to be modified.
This seems to work fine:

Code: Select all

FUNCTION FLDHIDEITEM( oFld, nItem )

    LOCAL oDlg := oFld:aDialogs[ nItem ]

    ADEL( oFld:aPrompts, nItem, .T. )
    ADEL( oFld:aDialogs, nItem )

    oFld:aDialogs[ LEN( oFld:aDialogs ) ] = oDlg

    RETURN NIL
EMG
User avatar
James Bott
Posts: 4654
Joined: Fri Nov 18, 2005 4:52 pm
Location: San Diego, California, USA
Contact:

Post by James Bott »

Enrico,

> ADEL( oFld:aPrompts, nItem, .T. )
> ADEL( oFld:aDialogs, nItem )

I am assuming the third parameter shinks the array? If so, don't you also want to shrink aDialogs?

This function is more like a FldDeleteItem() since you can't decide to later show it again.

Regards,
James
User avatar
Enrico Maria Giordano
Posts: 7355
Joined: Thu Oct 06, 2005 8:17 pm
Location: Roma - Italia
Contact:

Post by Enrico Maria Giordano »

James Bott wrote:I am assuming the third parameter shinks the array?
Yes.
James Bott wrote:If so, don't you also want to shrink aDialogs?
No, as the dialog is already active when I decided to hide it. Leaving it working and no visible we avoid a series of problems.
James Bott wrote:This function is more like a FldDeleteItem() since you can't decide to later show it again.
I haven't tried but it should be possible to show it again simply resetting aPrompts and aDialogs to their original values.

EMG
Post Reply