So, I'm working on bringing all the charting stuff up to speed so that we can finally get that checked in appropriately, and I have a bunch of instances of applyConstraint() that need to be changed. So what I did was, I took the functions and made methods out of them, but I'm not sure exactly what to feed into applyConstraintMethod() to get it to work the same way. For instance, part of my code block looks like:

         if(this.charttype == "bar"){
             if(this.drawaxis == 'x'){
var f = function(ignore=null){ this.setAttribute("x", this.barlink.x + (this.barlink.width / 2) -
                         (this.width / 2));                         }
                 var d = [this.barlink, "x"];
                 this.applyConstraint("x", f, d);
                 var ff = function(ignore=null){
this.setAttribute("y", this.barlink.y - this.height - 4);
                 }
                 var dd = [this.barlink, "y"];
                 this.applyConstraint("y", ff, dd);
                 if(this.fadein == true){
                     this.fader.doStart();
                 }
             }

So what I did was, I made methods for these:

     <method name="constrainBarDrawXX" args="ignore=null">
this.setAttribute('x', this.barlink.x + (this.barlink.width / 2) - (this.width / 2));
     </method>
     <method name="constrainBarDrawXY" args="ignore=null">
         this.setAttribute('y', this.barlink.y - this.height - 4);
     </method>

...and changed the script to:

if(this.charttype == "bar"){
             if(this.drawaxis == 'x'){
this.applyConstraintMethod("constrainBarDrawXX", [this.barlink, x, this, x]); this.applyConstraintMethod("constrainBarDrawXY", [this.barlink, y, this, y]);
                 if(this.fadein == true){
                     this.fader.doStart();
                 }

However, the labels now don't exhibit the same behavior as when they were using applyConstraint(). What am I doing wrong?

Thanks!
Josh

Reply via email to