[Gambas-user] Emulating wizard Back/Next navigation

M0E Lnx m0e.lnx at ...626...
Thu Dec 11 23:33:30 CET 2008


I just can't seem to completely wrap my mind around this one.

It really doesn't matter if i return to the same state or not... as
long as I return there.

it gets complicated when for instance, you go in a sequence from 1, 2,
3 then you back up to 2... change something in 2 that now makes you
skip 3 and jump to 4 or 5.

On Thu, Dec 11, 2008 at 3:40 PM, Simonart Dominique
<simonart.dominique at ...11...> wrote:
> M0E Lnx a écrit :
>> Exactly.
>>
>> The forward navigation depends on the user input, so it could jump
>> from Form1 to Form3 and then to Form2 ans do on...
>>
>> So if we leave a footprint in the array, I think it *should* be easy
>> to reverse the process indeed sort of like an "undo" process.
>>
>> But I'm not sure exactly what the best way to do the reverse is...
>> should I index the array? or try to find the current form in the array
>> and then just use the current forms.index in the array - 1 ?
>>
>> I've been fidling with this for a while... and it works perfecly in my
>> mind... but can't really make it work on the IDE :(
>>
>> On Thu, Dec 11, 2008 at 2:23 PM, Simonart Dominique
>> <simonart.dominique at ...11...> wrote:
>>> M0E Lnx a écrit :
>>>> I have to say, the array idea makes more sense to me, simply because
>>>> otherwise, it'll be hard to tell the next and back buttons which sub
>>>> to run.
>>>>
>>>> I have tried an array, but object array rather than string array.
>>>>
>>>> The idea is that every form that gets opened leaves a footprint in
>>>> this object array
>>>> for instance, the form's open() event would have something like this
>>>>
>>>> IF ArrNav.find(me) = -1 THEN ArrNav.Add(me)
>>>>
>>>> this makes reverse navigation possible by indexing the array or a
>>>> similar method. However, I am not able to work out all the bugs
>>>> resulting from this because it gets crazy when you try to move back,
>>>> then forward... then back... ends up in a crash almost every time
>>>>
>>>> Can someone work out a sample I can use?
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> On Thu, Dec 11, 2008 at 6:20 PM, nando <nando_f at ...951...> wrote:
>>>>> Perhaps the following ideas...
>>>>> Every step in the wizard has an associated form for whatever it does for that step.
>>>>> Every form has a SUB for 'backwards' and 'forwards so that
>>>>> when NEXT is clicked, the forwards code runs, which is whatever
>>>>> is required for moving to the next form (ie: perform work, verify info,
>>>>> hide form, the activate 'next' form)
>>>>> when BACK is clicked, the backwards code runs, which is whatever to
>>>>> undo this step (if needed), hide form, activate 'back' form.
>>>>> Each form knows how to go back one step, and go forward one step.
>>>>> You would have to tell the Next and BAck buttons which forwards and backwards
>>>>> sub to run...you could place in NEXT.tag and BACK.tag the form or info required
>>>>> to properly run the correct code.  This would be modular so each form takes
>>>>> care of things.
>>>>> Or, the list of wizard steps could be in a global string array with the name
>>>>> of the form and simply step through the index.
>>>>> -Fernando
>>>>>
>>>>>
>>>>> ---------- Original Message -----------
>>>>> From: "M0E Lnx" <m0e.lnx at ...626...>
>>>>> To: "mailing list for gambas users" <gambas-user at ...625...t>
>>>>> Sent: Wed, 10 Dec 2008 20:39:45 +0000
>>>>> Subject: [Gambas-user] Emulating wizard Back/Next navigation
>>>>>
>>>>>> So I set myself to create a program that acts like a wizard, but chose
>>>>>> not to use the wizard object because well, there is just too many
>>>>>> variables here, and there is more than one way to get to the end,
>>>>>> Depending on user input.
>>>>>>
>>>>>> So what I did was create a navigation tool bar at the bottom of FMain
>>>>>> this toolbar has a BACK, EXIT, and a NEXT button.
>>>>>>
>>>>>> I have a workspace object above it which will host other forms via
>>>>>> each forms .Reparent method.
>>>>>>
>>>>>> Can anyone suggest a way to make reverse and forward navigation on such a setup?
>>>>>>
>>>>>> I have created a small project what I'm trying to do... See attachment
>>>>>>
>>>>>> Any help is appreciated
>>>>>>
>>>>>> Thanks
>>>>> ------- End of Original Message -------
>>>>>
>>>>>
>>>>> ------------------------------------------------------------------------------
>>>>> SF.Net email is Sponsored by MIX09, March 18-20, 2009 in Las Vegas, Nevada.
>>>>> The future of the web can't happen without you.  Join us at MIX09 to help
>>>>> pave the way to the Next Web now. Learn more and register at
>>>>> http://ad.doubleclick.net/clk;208669438;13503038;i?http://2009.visitmix.com/
>>>>> _______________________________________________
>>>>> Gambas-user mailing list
>>>>> Gambas-user at lists.sourceforge.net
>>>>> https://lists.sourceforge.net/lists/listinfo/gambas-user
>>>>>
>>>> ------------------------------------------------------------------------------
>>>> SF.Net email is Sponsored by MIX09, March 18-20, 2009 in Las Vegas, Nevada.
>>>> The future of the web can't happen without you.  Join us at MIX09 to help
>>>> pave the way to the Next Web now. Learn more and register at
>>>> http://ad.doubleclick.net/clk;208669438;13503038;i?http://2009.visitmix.com/
>>>> _______________________________________________
>>>> Gambas-user mailing list
>>>> Gambas-user at lists.sourceforge.net
>>>> https://lists.sourceforge.net/lists/listinfo/gambas-user
>>>>
>>>>
>>> I think BACK has to be only an "undo" process, and NEXT is
>>> the logical next state depending on the datas already
>>> collected. If 2 forms could result from an actual status,
>>> then you have to review the logical chain.
>>>
>>> my two cents :)
>>> Dominique Simonart
>>>
>>>
>>> ------------------------------------------------------------------------------
>>> SF.Net email is Sponsored by MIX09, March 18-20, 2009 in Las Vegas, Nevada.
>>> The future of the web can't happen without you.  Join us at MIX09 to help
>>> pave the way to the Next Web now. Learn more and register at
>>> http://ad.doubleclick.net/clk;208669438;13503038;i?http://2009.visitmix.com/
>>> _______________________________________________
>>> Gambas-user mailing list
>>> Gambas-user at lists.sourceforge.net
>>> https://lists.sourceforge.net/lists/listinfo/gambas-user
>>>
>>
>> ------------------------------------------------------------------------------
>> SF.Net email is Sponsored by MIX09, March 18-20, 2009 in Las Vegas, Nevada.
>> The future of the web can't happen without you.  Join us at MIX09 to help
>> pave the way to the Next Web now. Learn more and register at
>> http://ad.doubleclick.net/clk;208669438;13503038;i?http://2009.visitmix.com/
>> _______________________________________________
>> Gambas-user mailing list
>> Gambas-user at lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/gambas-user
>>
>>
>
> The simpler is often the better :) May be you could write
> two procedures sort of PUSH and POP routines. Since the
> datas to keep should be limited enough, the better is to
> store all of them at each step with the last Object/form
> name. Since all data are implicitly correct (they passed
> correctly the preceeding step!) this is just a matter of
> display the form and to restore all the variables with the
> POPed values without control. This suppose of course the
> BACK could only reverse step by step. If you add something
> else in the BACK process, you could not be sure to return on
> the same initial state.
>
> Dominique Simonart
>
>
> ------------------------------------------------------------------------------
> SF.Net email is Sponsored by MIX09, March 18-20, 2009 in Las Vegas, Nevada.
> The future of the web can't happen without you.  Join us at MIX09 to help
> pave the way to the Next Web now. Learn more and register at
> http://ad.doubleclick.net/clk;208669438;13503038;i?http://2009.visitmix.com/
> _______________________________________________
> Gambas-user mailing list
> Gambas-user at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/gambas-user
>




More information about the User mailing list