Compile Time Changes

Removed: public void deleteUserStyle(str styleKey) {
Added: public void deleteUserStyle(UserStyle style) {
Removed: public bool saveUserStyle(UserStyle style) {
Removed: public bool saveUserStyle(UserStyle style, Url url) {
Added: public bool saveUserStyle(UserStyle style, bool newStyle=false, Url url=null) {

class UserStylesHolder

Old: public sorted str->UserStyle styles;
New: private sorted str->UserStyle styles : public readable;
Added: public void remove(str key) {

The new put method uses the key of the style. Consider using this if the key matches the key of the style.

Added: final public void put(UserStyle p) {

class UserStyle

Old: public class UserStyle {
New: public class UserStyle : abstract {

Replaces getStyleUrlPath in RegTypeCard.

Added: extend public Url getDefaultStyleUrlPath() {

class RegTypeCard

Replaced with method in UserStyle:

Removed: extend public Url getStyleUrlPath(UserStyle s) {
Removed: extend public bool addNewStyle(UserStyle s) {
Removed: extend public bool saveStyle(UserStyle s) {
Added: extend public bool saveStyle(UserStyle s, bool newStyle=false) {

class RegTypeDialog

Removed: extend public bool addNewStyle(UserStyle s) {
Added: extend public bool saveStyle(UserStyle style, bool newStyle=false) {

class ComboQuickProperty

Old: public bool edit;
New: private bool edit;

Runtime/Behavior Changes

Developers could previously add hooks for updating toolbox style treeviews when a style is updated by appending to updateToolBoxHook.

In addition to this, they would need to append a SelectWorldHooks to rebuild the treeview when the world changes (as different worlds have different saved styles).

Developers should no longer add a SelectWorldHooks to update toolbox drop downs, if they are already updated in hooks in updateToolBoxHook. All updateToolBoxHook are now called automatically when a new world is selected.

Updating via SelectWorldHooks should not cause functional issues, but may impact performance, as the update will happen twice.