Overview

Changes have been made to the circle menu to facilitate subclassing it.

Compile Time Changes

Removed the following functions because ensureSettings did not do anything.

Remove: public void addCetQLParamsFromSnapper(Snapper z, bool ensureSettings) {
Remove: public void removeCetQLParamsFromSnapper(Snapper z, bool ensureSettings) {

class Animation

Removed: extend public void hideCircleMenu(AnimationMouseInfo mi=null) {

class CircleMenu

Replaced global variable with global function. Now there is no variable to set. The function checks if there is any visible circle menu.

Old: public bool inCircleMenu = false;
New: public bool inCircleMenu() {
Old: public constructor(Window parent, Window owner,
			Brush brush=null,
			Skin skin0=null,
			FrameStyle frameStyle=noFrame,
			frame3DState frameState=frameStateUp,
			SrcRef src=#:src) {
New: public constructor(Window parent, Window owner,
			str key=defaultCircleMenuKey,
			Brush brush=null,
			Skin skin0=null,
			FrameStyle frameStyle=noFrame,
			frame3DState frameState=frameStateUp,
			bool transparent=true,
			SrcRef src=#:src) {

Now you can retrieve a circle menu by its key.

Old: public CircleMenu circleMenu(Window w, bool includeHidden=false) {
New: public CircleMenu circleMenu(str key) {

Comment: If you need to close a specific circle menu you can use the class member function instead.

Old: public void hideCircleMenu(Window w, bool fromUndo=false) {
New: public void hideAllCircleMenus(bool fromUndo=false) {

class CoreDistanceField

The new function is in the same file but is no longer a member of CoreDistanceField.

Old: final public Double scanAndCalculate(str text) {
New: public Double scanAndCalculate(str text, distanceUnit defaultUnit) {

clas enableV2ViewModeBar

The following changes were made to support efforts in the Facelift project

The global setting enableV2ViewModeBar and the class ViewModeBarV2 has been removed, as ViewModeBarV2 has been merged with its parent class.

cm/core/coreUIEffect.cm has been moved to cm/win/uiEffect.cm, which has effected the following classes and functions:

public class AbstractEffect;
public class AbstractUIEffect;
public double logEffectLambdaFunction(double lambda, AbstractEffect effect) {}
public double expEffectLambdaFunction(double lambda, AbstractEffect effect) {}
public double tanhEffectLambdaFunction(double lambda, AbstractEffect effect) {}
public double oneEffectLambdaFunction(double lambda, AbstractEffect effect) {}
public double bouncingEffectLambdaFunction(double lambda, AbstractEffect effect) {}

ViewModeButton's constructor has been been modified as follows:

Removed: public constructor(Window parent, ViewMode mode, bool normal, SrcRef src=#:src) {}
Added: public constructor(Window parent, ViewMode mode, SrcRef src=#:src) {}

Runtime/Behavior Changes

Added:

A function to collect any additional child parts has been added to the OrderExporter. This is to catch COMParts that are appended during rawPartsListHooks.

// orderExporter.cm
extend public void collectAdditionalChildParts(Part[] parts)