SUAccordion: how to ask for element to be visible?

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

SUAccordion: how to ask for element to be visible?

jgfoster
In Seaside 2.8 one could use #'show:' to achieve this, but now that components are wrapped I don't see how to do it. The methods #'show:', #'hide:', #'toggle:', and #'isVisible:' appear to take a wrapper rather than a component. As far as I can tell, there is no API to get the list of wrappers.

James_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: SUAccordion: how to ask for element to be visible?

Julian Fitzell-2
Hmm... I took a quick look and I'd rather say it's a bug in SUAccordion (maybe Lukas can confirm?). It looks like SUAccordion's visible instvar is still intending to hold components, even though items is holding SUNavigationItems.

What happens if you modify all the methods that take "anElement" as an argument to pass "anElement body" into the methods you mention below?

Julian

On Fri, Jul 8, 2011 at 11:47 PM, James Foster <[hidden email]> wrote:
In Seaside 2.8 one could use #'show:' to achieve this, but now that components are wrapped I don't see how to do it. The methods #'show:', #'hide:', #'toggle:', and #'isVisible:' appear to take a wrapper rather than a component. As far as I can tell, there is no API to get the list of wrappers.

James_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside


_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: SUAccordion: how to ask for element to be visible?

Lukas Renggli
Haven't looked into this code for a long time, and it contains a lot
of unnecessary hacks that were required in Seaside 2.8 and earlier but
that are no longer necessary in newer version (i.e. SURenderableItem
should just be a presenter).

I don't see how anything of the behavior and the wrapping changed in
SUAccordion (I quickly looked at the diff to the Seaside 2.8 version).
#show:, #toggle:, #hide: and friends always required anElement as an
argument. You get this object as answer when you add your component.

So something along the following lines should work:

     element1 := anAccordion add: aComponent label: 'foo'.
     anAccordion show: element1.

Lukas

On 10 July 2011 21:48, Julian Fitzell <[hidden email]> wrote:

> Hmm... I took a quick look and I'd rather say it's a bug in SUAccordion
> (maybe Lukas can confirm?). It looks like SUAccordion's visible instvar is
> still intending to hold components, even though items is holding
> SUNavigationItems.
>
> What happens if you modify all the methods that take "anElement" as an
> argument to pass "anElement body" into the methods you mention below?
>
> Julian
>
> On Fri, Jul 8, 2011 at 11:47 PM, James Foster <[hidden email]>
> wrote:
>>
>> In Seaside 2.8 one could use #'show:' to achieve this, but now that
>> components are wrapped I don't see how to do it. The methods #'show:',
>> #'hide:', #'toggle:', and #'isVisible:' appear to take a wrapper rather than
>> a component. As far as I can tell, there is no API to get the list of
>> wrappers.
>>
>> James_______________________________________________
>> seaside mailing list
>> [hidden email]
>> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
>
>
> _______________________________________________
> seaside mailing list
> [hidden email]
> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
>
>



--
Lukas Renggli
www.lukas-renggli.ch
_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside