system.gui.transform

Description

Sets a component's position and size at runtime. Additional arguments for the duration, framesPerSecond, and acceleration of the operation exist for animation. An optional callback argument will be executed when the transformation is complete. Note: The transformation is performed in Designer coordinate space on components which are centered or have more than 2 anchors. Since 7.8.1.

Syntax

system.gui. transform( component [, newX, newY, newWidth, newHeight, duration, callback, framesPerSecond, acceleration, coordSpace] )

  • Parameters

JComponent component - The component to move or resize.

int newX - An optional x-coordinate to move to, relative to the upper-left corner of the component's parent container.

int newY - An optional y-coordinate to move to, relative to the upper-left corner of the component's parent container.

int newWidth - An optional width for the component.

int newHeight - An optional height for the component.

int duration - An optional duration over which the transformation will take place. If omitted or 0, the transform will take place immediately.

PyObject callback- An optional function to be called when the transformation is complete.

int framesPerSecond - An optional frame rate argument which dictates how often the transformation updates over the given duration. The default is 60 frames per second.

int acceleration - An optional modifier to the acceleration of the transformation over the given duration. See system.gui constants for valid arguments.

int coordSpace- The coordinate space to use. When the default Screen Coordinates are used, the given size and position are absolute, as they appear in the client at runtime. When Designer Coordinates are used, the given size and position are pre-runtime adjusted values, as they would appear in the Designer. See system.gui constants for valid arguments.

  • Returns

PyObject animation - An animation object that the script can use to pause(), resume(), or cancel() the transformation.

  • Scope

Client

Code Examples
# This example changes the size the a component to 100x100
# This script should be run from the component that will be changed (ie: on the mouseEntered event)
 
system.gui.transform(component=event.source, newWidth=100, newHeight=100)
# This example moves a component to coordinates 0,0 over the course of 1 second.  
# When the animation is complete, the component is moved back to its original position 
# over the course of 2 seconds, slowing in speed as it approaches the end.
 
component = event.source.parent.getComponent('Text Field')
origX = component.x
origY = component.y
 
system.gui.transform(
component,
0, 0,
duration=1000,
callback=lambda: system.gui.transform(
component,
origX, origY,
duration=2000,
acceleration=system.gui.ACCL_FAST_TO_SLOW
)
)