Correct unknown variable baseFont to getFont(), and be explicit about the imports
Action Button: call calculateTextPosition() whenever text or font changes, and when width or height changes, get the corresponding value from the prop sheet rather than the widget