On 27/05/2010 11:17, Harbs wrote:


I'm not sure I explained myself well enough.

I extended the basic CheckBox component. The only visual elements that I added was the Sprite which draws the middle state indicator above the checkbox icon. This Sprite is added at creationComplete (to make sure it's added after all the icons, etc).

I do not dynamically draw anything. I'm toggling visibility of my Sprite for the mid-state.

When the CheckBox is first drawn it looks correct.

A mouseover brings the (default) icon to the top and a mouseout seems to do the same.

I fixed the mouseover behavior by adding an event listener to move my sprite back to the top, but this only works on mouseover -- not mouseout. I am very puzzled as to why. Possibly there's another event which fires after mouseout which I'm not aware of?

I like to keep default behavior as much as possible, and I don't want to have to draw my own components unless there's no choice...

I think that without looking at the implementation of the CheckBox component, it's going to be difficult to know what is going on.




Harbs

On May 27, 2010, at 12:45 PM, Paul Andrews wrote:

On 27/05/2010 07:34, Harbs wrote:

I'm trying to implement a tri-state checkbox. I found a previous implementation which was way to complicated for my taste. I have the implementation mostly done, but there's one issue which I'm having a hard time with:

I created a Sprite which draws the mid-state indicator over the checkbox icon. Moving the mouse over the checkbox or away from the checkbox seem to move the checkbox icon on top of my Sprite. I was able to handle the Mouse Overs by adding an additional MOUSE_OVER event which moves the Sprite back up to the top of the stack. For some reason this only works for MOUSE_OVER. I added a MOUSE_OUT event listener as well, which did not do anything. The icon still appears above the Sprite when the mouse moves away from the checkbox.

Any ideas why?

I don't see why you are having the problem, but suspect it may be due to dynamically drawing components in response to mouseover/out, etc.

My approach would be to create a component that has as part of the initialisation, all of the components for the visual state created. Then I would show/hide these according to the three states of the component - either by toggling visibility/changing alpha/changing state.

For components like this, I generally toggle the visibility according to state (though I rarely use Flex states) except when I need a more sophisticated transition between component states.

Paul




Thanks,
Harbs







Reply via email to