Duncan Webb wrote:
> Hi all,
> 
> I've been reading the xml_skin code and the skins .fxd files and it seems
> that it is quite possible and not too difficult to change the basic skin
> so that when the button bar is active then the skin should reduce the
> height of certain parts.
> 
> <!-- 4. listing area: the list of all items -->
> <listing layout="listing" x="50" y="110" width="510" height="470">
>   <image x="10" y="110" width="32" height="32" label="uparrow"
>                     filename="up.png"/>
>   <image x="10" y="max-32" width="32" height="32" label="downarrow"
>                     filename="down.png"/>
> </listing>
> 
> If my understanding of the code is correct then this menuset can be
> changed to:
> 
> <listing visible="not buttonbar" layout="listing" x="50" y="110"
> width="510" height="470">
>   <image x="10" y="110" width="32" height="32" label="uparrow"
>                     filename="up.png"/>
>   <image x="10" y="max-32" width="32" height="32" label="downarrow"
>                     filename="down.png"/>
> </listing>
> <listing visible="buttonbar" layout="listing" x="50" y="110" width="510"
> height="420">
>   <image x="10" y="110" width="32" height="32" label="uparrow"
>                     filename="up.png"/>
>   <image x="10" y="max-32" width="32" height="32" label="downarrow"
>                     filename="down.png"/>
> </listing>
> 
> AFAICS the prepare function in xml_skin.py:324 (not that this function is
> very clearly written) sets the visibility on depending on a variable. When
> the variable is set then the "listing" should change it's size. The
> variable is set when the plugin has the attribute visible. (see
> idlebar(__init__.py)
> 
> It may be good to define a buttonbar area in the menuset which can then
> have it's own visible attribute. Then the plugin can have a skin.register
> call. This needs to be tried to see what the impact is.

Been fighting and pulling my hair out with this problem :)

Unfortunately, this idea can't work because the view and listings are
hard coded in the xml_skin and as they are stored in a dictionary it
only  stores one, the first.

There must be a cleaner way of doing this, without rewriting all the
skin processing.

Sorry but I'm really not happy about two sets of almost identical skins
in freevo so, for the time being, I'll move the button bar plug-in and
skins in to the contrib area until a clean solution has been found.

Duncan


-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier.
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Freevo-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freevo-devel

Reply via email to