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.