Hello Martin

As soon as I read your reply I realised that I should have noticed that. Thank 
you very much for your support with this. I will make the adjustment later 
today and let you know how it goes. Great learning along the way.

Regards
Chris

On 7 Feb 2014, at 10:32, "Martin Miko [via Apache Flex Users]" 
<[email protected]> wrote:

> Hi Chris, 
> 
> yeah, sorry my mistake, I wrote it hastily and forgot kinda important line 
> there: 
> 
> *super.partAdded(partName, instance);* 
> 
> so the correct function should look like this: 
> 
> override protected function partAdded(partName:String, 
> instance:Object):void { 
>     super. partAdded(partName, instance); 
>     if (partName == "thumb") { 
>         thumbInst = instance; 
>     } 
> } 
> 
> Explanation: 
> You are overriding inherited function, so you need to call the inherited 
> one as well. 
> That's the one used in the parent class, because it adds all click events 
> and lots 
> more. If you just override it and don't call super.partAdded() all this 
> "magic behind the scenes" is not done and the slider is not clickable or 
> movable. 
> 
> Hope it'll work now, if you have any other question, feel free to ask. 
> 
> BR, 
> Martin 
> 
> 
> On Fri, Feb 7, 2014 at 10:20 AM, Tintin <[hidden email]>wrote: 
> 
> > Hello Martin 
> > 
> > I'm inching closer! I looked carefully at my code again last night, 
> > particularly at the passing of the presenter class to the Thumb Skin. I saw 
> > that your example code in the customSlider_creationCompleteHandler you 
> > assigned a new instance of SliderView_Presenter to variable 'p' and then 
> > passed this to the 'presenter' property of the customSlider. What I needed 
> > was to assign 'this' to 'p' in my SliderView_Presenter and pass it to the 
> > customSlider. That done, as my buttonColour property changes in 
> > SliderView_Presenter the Skin Rect fill colour, bound to the buttonColour 
> > property, now changes. Yippee! 
> > 
> > However (and it was going so well!) the following function prevents the 
> > HSlider button from moving: 
> > 
> >     override protected function partAdded(partName:String, 
> > instance:Object):void { 
> >         if (partName == "thumb") { 
> >             _thumbInst = instance; 
> >         } 
> > 
> > Can you suggest why the Thumb button is no longer draggable? 
> > 
> > Thank you. 
> > 
> > Chris 
> > 
> > 
> > On 6 Feb 2014, at 17:12, Martin Miko [via Apache Flex Users] wrote: 
> > 
> > > Hi Chris, 
> > > 
> > > yes, basically the presenter variable defined in the thumb skin is done 
> > > like this: 
> > > 
> > >     <fx:Declarations> 
> > >         <presenters:SliderView_Presenter id="presenter" /> 
> > >     </fx:Declarations> 
> > > 
> > > you add these 3 lines, and then use the presenter.buttonColour in the 
> > > component where you want to use it. 
> > > 
> > > BR, 
> > > Martin Miko 
> > > 
> > > 
> > > On Thu, Feb 6, 2014 at 10:28 AM, Tintin <[hidden email]>wrote: 
> > > 
> > > > Hi Martin 
> > > > 
> > > > Would you please explain one last point which I can't quite see. You 
> > use 
> > > > the following code in the custom HSlider: 
> > > > 
> > > > // injecting the presenter 
> > > >         public function set presenter(p:SliderView_Presenter):void { 
> > > >             _presenter = p; 
> > > > 
> > > >             if (thumbInst) 
> > > >                 thumbInst.skin.presenter = _presenter; 
> > > >         } 
> > > > 
> > > > Did you create a property named 'presenter' within the Thumb's skin 
> > mxml 
> > > > file to pass it the HSlider's presenter class? 
> > > > 
> > > > I can see that I need to pass the presenter to the Thumb's skin so 
> > that I 
> > > > can bind my Thumb Rect Fill Color property back to the uint property 
> > > > defined in my SliderView_Presenter class, but I can't see quite how. 
> > > > 
> > > > Thanks 
> > > > 
> > > > Chris 
> > > > 
> > > > On 4 Feb 2014, at 18:49, Martin Miko [via Apache Flex Users] wrote: 
> > > > 
> > > > > Hi Chris, 
> > > > > 
> > > > > I guess you almost have it working now! :) As you wrote in your 
> > previous 
> > > > > message, you need to pass the SliderView_Presenter instance all the 
> > way 
> > > > > from the place where you created it, to the place where you want to 
> > use 
> > > > it 
> > > > > (skin). If you pass that instance all the way to the thumb button's 
> > skin, 
> > > > > then you can use the data binding exactly in the way you wanted. 
> > > > > 
> > > > > 
> > > > > BR, 
> > > > > Martin Miko 
> > > > > 
> > > > > 
> > > > > On Tue, Feb 4, 2014 at 5:49 PM, Tintin <[hidden email]>wrote: 
> > > > > 
> > > > > > Thank you for your considered replies. I'm starting to get it now. 
> > > > > > 
> > > > > > It looks as if you are creating a custom HSlider with additional 
> > > > properties 
> > > > > > named 'presenter' and 'thumbInst'. When the creationComplete event 
> > is 
> > > > > > called 
> > > > > > you pass in the SliderView_Presenter class. When you Set the 
> > presenter 
> > > > > > property you check to ensure you have an instance of the 'thumb' 
> > part 
> > > > and 
> > > > > > if 
> > > > > > you do then you assign thumbInst.skin.presenter the instance of 
> > > > > > SliderView_Presenter (this must have to be the same instance and 
> > not 
> > > > > > instantiate a new instance otherwise when a property in the 
> > original 
> > > > > > SliderView_Presenter class changes the skin will not see this 
> > change?). 
> > > > > > 
> > > > > > This looks to me as if I first need to create a property within the 
> > > > thumb 
> > > > > > skin named 'presenter' so that I can set it with the 
> > > > SliderView_Property 
> > > > > > instance I'm passing in? 
> > > > > > 
> > > > > > In my SliderView_Presenter class I assign a property named 
> > > > buttonColour a 
> > > > > > uint value by default and when a parameter is passed in from the 
> > host 
> > > > web 
> > > > > > page a simple switch function assigns the correct colour depending 
> > on 
> > > > the 
> > > > > > parameter value passed in. How can I use this to update, say a 
> > > > rectangle, 
> > > > > > in 
> > > > > > my skin please? 
> > > > > > 
> > > > > > Chris 
> > > > > > 
> > > > > > 
> > > > > > 
> > > > > > -- 
> > > > > > View this message in context: 
> > > > > > 
> > > > 
> > http://apache-flex-users.2333346.n4.nabble.com/Can-I-Bind-a-SolidColor-Fill-Value-tp4615p4811.html
> > > > > > Sent from the Apache Flex Users mailing list archive at Nabble.com. 
> > > > > > 
> > > > > 
> > > > > 
> > > > > If you reply to this email, your message will be added to the 
> > discussion 
> > > > below: 
> > > > > 
> > > > 
> > http://apache-flex-users.2333346.n4.nabble.com/Can-I-Bind-a-SolidColor-Fill-Value-tp4615p4819.html
> > > > > To unsubscribe from Can I Bind a SolidColor Fill Value?, click here. 
> > > > > NAML 
> > > > 
> > > > 
> > > > 
> > > > 
> > > > 
> > > > -- 
> > > > View this message in context: 
> > > > 
> > http://apache-flex-users.2333346.n4.nabble.com/Can-I-Bind-a-SolidColor-Fill-Value-tp4615p4848.html
> > > > Sent from the Apache Flex Users mailing list archive at Nabble.com. 
> > > > 
> > > 
> > > 
> > > If you reply to this email, your message will be added to the discussion 
> > below: 
> > > 
> > http://apache-flex-users.2333346.n4.nabble.com/Can-I-Bind-a-SolidColor-Fill-Value-tp4615p4854.html
> > > To unsubscribe from Can I Bind a SolidColor Fill Value?, click here. 
> > > NAML 
> > 
> > 
> > 
> > 
> > 
> > -- 
> > View this message in context: 
> > http://apache-flex-users.2333346.n4.nabble.com/Can-I-Bind-a-SolidColor-Fill-Value-tp4615p4880.html
> > Sent from the Apache Flex Users mailing list archive at Nabble.com. 
> > 
> 
> 
> If you reply to this email, your message will be added to the discussion 
> below:
> http://apache-flex-users.2333346.n4.nabble.com/Can-I-Bind-a-SolidColor-Fill-Value-tp4615p4881.html
> To unsubscribe from Can I Bind a SolidColor Fill Value?, click here.
> NAML





--
View this message in context: 
http://apache-flex-users.2333346.n4.nabble.com/Can-I-Bind-a-SolidColor-Fill-Value-tp4615p4882.html
Sent from the Apache Flex Users mailing list archive at Nabble.com.

Reply via email to