Supress screen updates until end of process


#1

I know there is a way to do this but I can’t find it in the API docs.
Please remind me.
Normally this doesn’t come up, but in this case I am

  1. Transforming a component instance back to the origin so I can measure its bounding box,
  2. Opening an input box.
  3. Scaling the instance.
  4. Putting it back where it was.

I don’t need user to see result until the end. Currently user sees result of first transform behind the inputbox.

I could transform it back before the input box and then again after input box but that seems kinda dumb.


#2

You are maybe thinking of the second argument, disable_ui, to Model.start_operation?


#3

THAT"S IT!
Thanks again.


#4

You do not need to do that. Instead use it’s parent definition’s bounds. The definition’s bounds is always untransformed.

For a group, there is a wrapper method named local_bounds, whose description notes the difference in the bounds method between a component instance and definition. (When it really should also be noted in the bounds method description proper.)


#5

Not to do the measurement, but it has to be untransformed (and unrotated) to apply x y and z scales per user input.