Scale: assuming you have a sort of resize handle, when the plater clicks on it you could set a x and y values for the opposite corner in a variable. Then you can set the width to mouse.x - corner.x and height to mouse.y - corner.y.
Order: this can be done easily when choosing to set to the bottom or top, read up on z-order. This can easily be manipulated through events.
Hopefully they both make sense, I know it's a bit vague so just ask if you don't fully understand.