Observation: VarResistor settings
1. The Minimum & Maximum Resistance are entered in ohms only.
This is good in that it is absolute - but not consistent with other component settings that auto-range to units. Food for thought/discussion...
This is limited by the implementation we have right now.
Value and multiplier are used for the "main property" (for example "Resistance" in a resistor) which is the one showed in the circuit.
Using value and multiplier for each property would be much more complex.
I want to modify this, but this has wide implications, so better think about it before changing it.
One thing that could be changed to do it much simpler:
Currently if you change the "main" value, the multiplier and the value are changed to match the new value:
For example if you change resistance in a resitor from 100 Ω to 1000 Ω, the value is updated to 1 KΩ.
In 0.5.16 this is not updated properly in the properties dialog, but you can see the change in the circuit.
This implementation makes the code much more complex, buggy, and values difficult to update.
I think it wold be much simpler give total control to the user.
This means that value and unit (multiplier) are totally independent:
If the user changes resistance in a resitor from 100 Ω to 1000 Ω, that is exactly what happens, value will read: 1000 Ω.
If the user wants to use KΩ it must be entered as unit.
What do you think about this?
For step value, A 'number of steps' integer value might be an idea, it would fit all resistance ranges & values.
1k resistor, 500 steps = 2 ohms per step
10ohm resistor, 100 steps = 0.1 ohm per step
You could apply some limit so the step remains reasonable.
And in the settings could have a field that shows the result step value from user inputs.
This is another aproach I was considering.
The implementation is simpler, but more complex for the user: in some cases calculating the number of steps can be time consuming (Example: min=1.320, max = 4.670, and you want 0.015 steps).
Changing the meaning of the property from "step size" to "number of steps" would be incompatible with older circuits.
One possibility would be to add a new "number of steps" property, but this would increase complexity quite a bit and I can't see many advantages.