Cool.  I'll just wait till Michael’s changes are merged.

> On 25 Feb 2018, at 15:14, jp charras <jp.char...@wanadoo.fr> wrote:
> 
> Le 25/02/2018 à 15:03, Jeff Young a écrit :
>> Cool.  Thanks for the confirmation, Michael.
>> 
>> BTW, JP, could you let me know if you’re going to make this change.  I’ve 
>> been doing some work in
>> the NumericEvaluator to support the new units architecture and the hungarian 
>> notation is starting to
>> hurt my brain, so I’d like to reformat it (for 6.0, of course, but the fewer 
>> merge conflicts the
>> better).
>> 
>> Cheers,
>> Jeff.
> 
> I do not want to modify myself the code associated to TEXT_CTRL_EVAL, because 
>  do not really know
> this code.
> 
> This is the reason my fix does not really change the current code.
> 
> I'll leave these changes to guys who know the NumericEvaluator code.
> 
>> 
>> 
>>> On 25 Feb 2018, at 12:40, Michael Geselbracht <mgeselbrac...@gmail.com
>>> <mailto:mgeselbrac...@gmail.com>> wrote:
>>> 
>>> The original idea was to have one evaluator object per dialog so that 
>>> several text entries could
>>> access a common set of variables.
>>> Now that there is one evaluator object per entry field I think there is no 
>>> reason to retain the
>>> (single) input text in clear().
>>> If there is ever to be support for variables the class could be extended to 
>>> support a shared
>>> object with a map of variables. This could be useful in the footprint 
>>> editor.
>>> 
>>> 
>>> 
>>> On 25.02.2018 12:37, Jeff Young wrote:
>>>> Hmmm, pObj isn’t stored.  Since we use an instance of NumericEvaluator for 
>>>> each control, we don’t
>>>> actually need the storage to be a map (there’s only ever one key in it).  
>>>> For now, probably
>>>> easiest to just do:
>>>> 
>>>>  NumericEvaluator::clear(constvoid*pObj)
>>>>  {
>>>> free(clToken.token);
>>>> clToken.token=nullptr;
>>>> clToken.input=nullptr;
>>>> bClError=true;
>>>> +
>>>> +if(bClTextInputStorage)
>>>> +clObjMap.clear();
>>>>  }
>>>> 
>>>> 
>>>>> On 25 Feb 2018, at 11:26, Jeff Young <j...@rokeby.ie 
>>>>> <mailto:j...@rokeby.ie>> wrote:
>>>>> 
>>>>> Hi JP,
>>>>> 
>>>>> Rather than calling evaluate() in the new TEXT_CTRL_EVAL::SetValue(), I’d 
>>>>> call clear(), and add
>>>>> these two lines to NumericEvaluator::clear():
>>>>> 
>>>>> void
>>>>>  NumericEvaluator::clear()
>>>>>  {
>>>>> free(clToken.token);
>>>>> clToken.token=nullptr;
>>>>> clToken.input=nullptr;
>>>>> bClError=true;
>>>>> +
>>>>> +if(bClTextInputStorage)
>>>>> +clObjMap[pObj]=nullptr;
>>>>>  }
>>>>> That will zero out the stored text.
>>>>> 
>>>>> Cheers,
>>>>> Jeff.
>>>>> 
>>>>> 
>>>>> 
>>>>>> On 25 Feb 2018, at 10:17, jp charras <jp.char...@wanadoo.fr 
>>>>>> <mailto:jp.char...@wanadoo.fr>> wrote:
>>>>>> 
>>>>>> Hi Orson,
>>>>>> 
>>>>>> Could you have a look into this small patch.
>>>>>> I am not sure I used the better way to fix an issue.
>>>>>> 
>>>>>> It fixes an issue when using SetValue() to change the value shown by 
>>>>>> this widget.
>>>>>> 
>>>>>> The issue was due to the fact TEXT_CTRL_EVAL stores internally the last 
>>>>>> entered value in a buffer.
>>>>>> So when calling SetValue() after a value was already entered, and if we 
>>>>>> try to modify
>>>>>> the displayed value by calling SetValue(), as soon as the widget has the 
>>>>>> focus, the previous value
>>>>>> replaces the new value.
>>>>>> 
>>>>>> This is easy to see in Move Exactly dialog:
>>>>>> - enter a value
>>>>>> - reset the value by the Reset button
>>>>>> - move the cursor to the corresponding text control widgets and click on 
>>>>>> it to give it the focus.
>>>>>> 
>>>>>> -- 
>>>>>> Jean-Pierre CHARRAS
>>>>>> <fix_text_ctrl_eval_SetValue.patch>_______________________________________________
>>>>>> Mailing list: https://launchpad.net/~kicad-developers 
>>>>>> <https://launchpad.net/%7Ekicad-developers>
>>>>>> Post to     : kicad-developers@lists.launchpad.net 
>>>>>> <mailto:kicad-developers@lists.launchpad.net>
>>>>>> Unsubscribe : https://launchpad.net/~kicad-developers 
>>>>>> <https://launchpad.net/%7Ekicad-developers>
>>>>>> More help   : https://help.launchpad.net/ListHelp
>>>>> 
>>>>> _______________________________________________
>>>>> Mailing list: https://launchpad.net/~kicad-developers 
>>>>> <https://launchpad.net/%7Ekicad-developers>
>>>>> Post to     : kicad-developers@lists.launchpad.net 
>>>>> <mailto:kicad-developers@lists.launchpad.net>
>>>>> Unsubscribe : https://launchpad.net/~kicad-developers 
>>>>> <https://launchpad.net/%7Ekicad-developers>
>>>>> More help   : https://help.launchpad.net/ListHelp
>>>> 
>>>> 
>>>> 
>>>> _______________________________________________
>>>> Mailing list: https://launchpad.net/~kicad-developers
>>>> Post to     : kicad-developers@lists.launchpad.net
>>>> Unsubscribe : https://launchpad.net/~kicad-developers
>>>> More help   : https://help.launchpad.net/ListHelp
>>> 
>>> 
>>> _______________________________________________
>>> Mailing list: https://launchpad.net/~kicad-developers 
>>> <https://launchpad.net/%7Ekicad-developers>
>>> Post to     : kicad-developers@lists.launchpad.net 
>>> <mailto:kicad-developers@lists.launchpad.net>
>>> Unsubscribe : https://launchpad.net/~kicad-developers 
>>> <https://launchpad.net/%7Ekicad-developers>
>>> More help   : https://help.launchpad.net/ListHelp
>> 
>> 
>> 
>> _______________________________________________
>> Mailing list: https://launchpad.net/~kicad-developers
>> Post to     : kicad-developers@lists.launchpad.net
>> Unsubscribe : https://launchpad.net/~kicad-developers
>> More help   : https://help.launchpad.net/ListHelp
>> 
> 
> 
> -- 
> Jean-Pierre CHARRAS
> 
> _______________________________________________
> Mailing list: https://launchpad.net/~kicad-developers
> Post to     : kicad-developers@lists.launchpad.net
> Unsubscribe : https://launchpad.net/~kicad-developers
> More help   : https://help.launchpad.net/ListHelp


_______________________________________________
Mailing list: https://launchpad.net/~kicad-developers
Post to     : kicad-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kicad-developers
More help   : https://help.launchpad.net/ListHelp

Reply via email to