I cant reproduce the issue now even with my code.
May be there were other concurrent factors.

Thank you very much
victor bombi
----- Original Message ----- 
From: "Antonio Scuri" <[email protected]>
To: "'IUP discussion list.'" <[email protected]>
Sent: Friday, February 21, 2014 8:08 PM
Subject: Re: [Iup-users] valuechanged_cb mistery


>  Hi,
>
>  I edited your sample a little so I could run it here. But in both
> situations the CPU utilization remains very low all the time.
>
>  I'm sending the complete sample attached. Please, compare it to your
> original script.
>
> Best,
> Scuri
>
>> -----Original Message-----
>> From: Victor Bombi [mailto:[email protected]]
>> Sent: segunda-feira, 27 de janeiro de 2014 12:01
>> To: IUP discussion list.
>> Subject: [Iup-users] valuechanged_cb mistery
>>
>> Hello,
>>
>> I needed a not modal dialog so i could not use iupGetParam.
>> I made a function to be called as
>>
>> NM = NotModal(function() iup.Update(cnv) end,
>> {
>> {"angle",0.0,iup.dial,{orientation="CIRCULAR"}}, --
>> name,default,creation,arguments
>> {"zcam",50,iup.val,{min=0,max=500}},
>> {"radspersecond",math.pi,iup.dial,{orientation="CIRCULAR"}},
>> {"fogDensity",0,iup.val,{min=0,max=0.005}}
>> })
>>
>> and then use NM.fogDensity to know actual value.
>>
>> Every time I used sliders CPU time got worse and did not go down when
>> stoping interaction.
>> This problem disappeared when I changed
>>
>>   function ctrl:valuechanged_cb()
>>    labelval.title = self.value ;
>>    this[name] = self.value;
>>    fun(name,self.value)
>>   end
>>
>> for
>>
>>   function ctrl:mousemove_cb(val)
>>    labelval.title = val ;
>>    this[name] = val;
>>    fun(name,val)
>>   end
>>
>> It seems that the relevant line is  this[name] = self.value;
>>
>> Here are both versions
>> --------------------good one
>> function NotModal(fun,telems)
>>  local elems = {}
>>  local this = {}
>>  this.vars = {}
>>  for i,elem in ipairs(telems) do
>>   local name = elem[1]
>>   local inival = elem[2]
>>   local verb = elem[3]
>>   local args = elem[4] or {}
>>   local label = iup.label{title=name}
>>   local labelval = iup.label{title=tostring(inival),size = "100x10"}
>>   local ctrl = verb(args)
>>   function ctrl:mousemove_cb(val)
>>    labelval.title = val ;
>>    this[name] = val;
>>    fun(name,val)
>>   end
>>   ctrl.value = inival
>>   this[name] = inival
>>   this.vars[#this.vars + 1] = {name = name, ctrl = ctrl, inival = inival}
>>   elems[i] = iup.hbox{label,ctrl,labelval}
>>  end
>>  local butreset = iup.button{title="Reset"}
>>  function butreset:action()
>>   for i,var in ipairs(this.vars) do
>>    var.ctrl:mousemove_cb(var.inival)
>>   end
>>  end
>>  elems[#elems + 1] = butreset
>>  this.dialog = iup.dialog{iup.vbox(elems),topmost="YES"}
>>  this.dialog:show()
>>  return this
>> end
>> -------------problematic one
>> function NotModal(fun,telems)
>>  local elems = {}
>>  local this = {}
>>  this.vars = {}
>>  for i,elem in ipairs(telems) do
>>   local name = elem[1]
>>   local inival = elem[2]
>>   local verb = elem[3]
>>   local args = elem[4] or {}
>>   local label = iup.label{title=name}
>>   local labelval = iup.label{title=tostring(inival),size = "100x10"}
>>   local ctrl = verb(args)
>>   function ctrl:mousemove_cb(val)
>>    labelval.title = val ;
>>    this[name] = val;
>>    fun(name,self.value)
>>   end
>>   ctrl.value = inival
>>   this[name] = inival
>>   this.vars[#this.vars + 1] = {name = name, ctrl = ctrl, inival = inival}
>>   elems[i] = iup.hbox{label,ctrl,labelval}
>>  end
>>  local butreset = iup.button{title="Reset"}
>>  function butreset:action()
>>   for i,var in ipairs(this.vars) do
>>    var.ctrl:mousemove_cb(var.inival)
>>   end
>>  end
>>  elems[#elems + 1] = butreset
>>  this.dialog = iup.dialog{iup.vbox(elems),topmost="YES"}
>>  this.dialog:show()
>>  return this
>> end
>>
>> -----------------------
>> why is this happening? I wish iupVal:mousemove_cb() dont gets
>> deprecated!!!
>>
>> Best Regards
>> victor bombi
>>
>>
>>
>>
> ----------------------------------------------------------------------------
> --
>> CenturyLink Cloud: The Leader in Enterprise Cloud Services.
>> Learn Why More Businesses Are Choosing CenturyLink Cloud For
>> Critical Workloads, Development Environments & Everything In Between.
>> Get a Quote or Start a Free Trial Today.
>> http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.c
>> lktrk
>> _______________________________________________
>> Iup-users mailing list
>> [email protected]
>> https://lists.sourceforge.net/lists/listinfo/iup-users
>


--------------------------------------------------------------------------------


> ------------------------------------------------------------------------------
> Managing the Performance of Cloud-Based Applications
> Take advantage of what the Cloud has to offer - Avoid Common Pitfalls.
> Read the Whitepaper.
> http://pubads.g.doubleclick.net/gampad/clk?id=121054471&iu=/4140/ostg.clktrk


--------------------------------------------------------------------------------


> _______________________________________________
> Iup-users mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/iup-users
> 


------------------------------------------------------------------------------
Managing the Performance of Cloud-Based Applications
Take advantage of what the Cloud has to offer - Avoid Common Pitfalls.
Read the Whitepaper.
http://pubads.g.doubleclick.net/gampad/clk?id=121054471&iu=/4140/ostg.clktrk
_______________________________________________
Iup-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/iup-users

Reply via email to