[Seaside] Updating non Smallfaces component.

Timothy James Ziebart timothy at churchmilitant.org
Thu Aug 27 16:02:08 UTC 2009

Hi All,

I have an object SearchInterface, a subclass of WASmallFacesComposite.  
On SearchInterface there are rendered a number of SFListBoxes and 
SFButtons.  Included are three listboxes that are cascaded and the 
control was created like this:

    |pane panes list|
    list := self session findCodeByParent: 'region'.
    panes := OrderedCollection
        with: ( self paneNamed: 'nhoodList')
        with: ( self paneNamed: 'cityList').
    pane := SFListBox new.
        name: 'regionList';
        items: list;
        lines: 5;
        printSelector: #asString;
        owner: self;
        when: #changed:
            send: #regionSelectionChanged:
            to: self
            refresh: panes.

The listboxes work correctly.  What I need to do is have a GoogleMap 
rendered on SearchInterfaces as well.  The map will not be a WAComponent 
as I need to render it as new whenever the listbox contents change.  But 
not before an Update button is pressed.  Such as:


    | pane panes |
    panes := OrderedCollection with: (*self paneNamed: 'mapDisplay')*.
    pane := SFButton new.
        label: 'Update Map';
        name: 'updateButton';
        when: #clicked
            send: #updateButtonPressed
            to: self
            refresh: panes.

The question is how do I create *mapDisplay*?  mapDisplay is rendered 
like this everytime the update button is pressed.


    ^LBCGoogleMap new
        setCenter: model coordinates zoom: model zoom;
        addControl: GControl largeMapControl;

Can I place it on a SmallFace component that will render as I desire or 
do I replace it with non SmallFace components?  Thank you for any 


More information about the seaside mailing list