AH beautiful! Thanks Alex - ended up sending component.skin out and all is well.


On Feb 11, 2013, at 1:29 AM, grimmwerks wrote:

> Duh - sorry - I can trace this out now and I see component.skin.
> 
> 
> On Feb 11, 2013, at 1:10 AM, grimmwerks wrote:
> 
>> Hmm -- so how do I find the 'skin' part? I was reading about parent vs owner 
>> but both of these point to root1, which isn't the actual component...
>> 
>> Following the PureMVC/Fabrication thing, I've got the mediator sending it's 
>> view -- which *should* be an instance of my COVideoPlayer class which 
>> extends VideoPlayer but utilizes the skin:
>> 
>> <video:COVideoPlayer id="videoPlayer" width="100%" height="100%" 
>> skinClass="com.creativity.player.skins.video.COVideoPlayerSkin" 
>> visible="true" />
>> 
>> So I'm not sure why the SkinnableComponent is the thing being sent around:
>> 
>> From the mediator:
>> 
>> public function get component():COVideoPlayer
>> {
>>      return viewComponent as COVideoPlayer;
>> }
>> 
>> sending it out:
>> 
>> //sendNotification(PlayerConstants.FULL_SCREEN_DISPLAY_VIEW, component);
>> 
>> On Feb 11, 2013, at 12:45 AM, Alex Harui wrote:
>> 
>>> The only child of a SkinnableComponent is supposed to be Skin and other
>>> children go in the skin.  There is no interface for SkinnableComponent, so I
>>> guess you have to test for it and add to its skin?
>>> 
>>> 
>>> On 2/10/13 9:03 PM, "grimmwerks" <[email protected]> wrote:
>>> 
>>>> I'm trying to pop something above items that are calling for fullscreen 
>>>> like
>>>> the VideoPlayer; but in my case I've extended the VideoPlayer and created a
>>>> SkinnableComponent for it.
>>>> 
>>>> I've got a little bit of code that I'm using ubiquitously by a few 
>>>> different
>>>> components and for some reason this video player is being seen as NOT an
>>>> IVisualElementContainer but of course the addElement has to work with it vs
>>>> addChild; so I'm unsure how I can or really SHOULD be checking for this?
>>>> Here's the code:
>>>> 
>>>> debugger.trace(this,'test: ' + (note.getBody() is 
>>>> IVisualElementContainer));
>>>> var ui:UIComponent = note.getBody() as UIComponent;
>>>> if(note.getBody() is IVisualElementContainer){
>>>>      var n:IVisualElementContainer = note.getBody() as
>>>> IVisualElementContainer;
>>>>      n.addElement(view);
>>>> }else{
>>>>      ui.addChild(view);
>>>> }
>>>> 
>>>> 
>>>> That first line outputs as false -- and forgive the note.getBody() - 
>>>> -that's
>>>> the way PureMVC / Fabrication sends messaging around.  So I'm basically
>>>> sending the view of the videoPlayerMediator out to be dealt with but for 
>>>> this
>>>> the code throws an error:
>>>> 
>>>> Error: addChild() is not available in this class. Instead, use 
>>>> addElement() or
>>>> modify the skin, if you have one.
>>>> at 
>>>> spark.components.supportClasses::SkinnableComponent/addChild()[E:\dev\4.y\fram
>>>> eworks\projects\spark\src\spark\components\supportClasses\SkinnableComponent.a
>>>> s:1123]
>>>> at 
>>>> com.creativity.player.view::OverlayPanelMediator/respondToFullScreenDisplayVie
>>>> w()[/Users/Shared/__WORK/Adage Creativity Player
>>>> Redone/src/com/creativity/player/view/OverlayPanelMediator.as:178]
>>>> 
>>>> 
>>>> 
>>>> 
>>>> Garry Schafer
>>>> grimmwerks
>>>> [email protected]
>>>> portfolio: www.grimmwerks.com/
>>>> 
>>>> 
>>>> 
>>>> 
>>> 
>>> -- 
>>> Alex Harui
>>> Flex SDK Team
>>> Adobe Systems, Inc.
>>> http://blogs.adobe.com/aharui
>>> 
>> 
>> 
>> Garry Schafer
>> grimmwerks
>> [email protected]
>> portfolio: www.grimmwerks.com/
>> 
>> 
>> 
>> 
> 
> 
> Garry Schafer
> grimmwerks
> [email protected]
> portfolio: www.grimmwerks.com/
> 
> 
> 
> 


Garry Schafer
grimmwerks
[email protected]
portfolio: www.grimmwerks.com/




Reply via email to