Hi Hiedra,

My project definition:
I'm using a mix of Basic (when I don't need Jewel components) and Jewel
components for my project.
I don't use any CSS file that comes with Jewel.
I'm skinning as much as I can with my own CSS file (compiling from a jess
file).

My issue:
What happens with the Jewel components, all of them apply a "jewel" class
at code time on the class constructor and this "jewel" conflicts with some
CSS attributes (even though I don't load the jewel template css files).

What I have done to fix this on Jewel TextInput:
I had created my own TextInput that extends from Jewel TextInput and at
constructor method I set typeNames = "" and this works.

For Jewel ComboBox is much more complex:
Jewel ComboBox is built at runtime by a set of classes: ComboBox (the
base), ComboBoxView (how CombBox is built with a TextInput and a Button),
ComboBoxPopUp, ComboBoxPopUpView, etc. ...
Is the ComboBoxPopupView that builds the list when you click on CombBox and
this is a Jewel List again with "jewel" class name that conflicts with my
own CSS (I want to add a shadow).

The only solution (a monkey patch) that I found without recreating
everything was:
I Created the full path of Jewel List on my own project.
I Copied the Jewel List file to this folder.
I Setted the typeNames to ""

A better solution would be:
1. Ignoring the typeNames on every Jewel component with CSS (I don't know
how and if it is possible).
2. Overriding the jewel CSS class behaviour with my own CSS to do nothing
and don't conflict anymore (I don't know how).
3. Creating the List.as file but on my own path and defining to use is
instead of the original one thru CSS (I already tried this several times
but did not work).





Maria Jose Esteve <mjest...@iest.com> escreveu no dia quinta, 10/02/2022
à(s) 03:08:

> Hi Hugo,
> I would focus on CSS but since I don't know what you need I can't be 100%
> sure.
> Could you share your requirements? (maybe the only thing to debug is the
> hierarchy of classes in the CSS).
>
> Hiedra
>
> -----Mensaje original-----
> De: Hugo Ferreira <hferreira...@gmail.com>
> Enviado el: jueves, 10 de febrero de 2022 1:56
> Para: Apache Royale Development <dev@royale.apache.org>
> Asunto: How to change the List from Jewel ComboBox
>
> Hi,
>
> I need to change the List component from a Jewel ComboBox without have to
> override/copy everything, so, if I create the following
> folder: org.apache.royale.jewel on my project and the the List.as file
> within, I can override at runtime the List behaviour from a Jewel ComboBox.
> This simply works however it's a ugly monkey patch.
>
> There is any better alternative ?
>
> I tried using a css file following other examples without success.
>
> By the way, I need this just to clean the typeNames property from the
> List.as otherwise my own style does not work, so if there is a better way
> even better.
>

Reply via email to