// Class: cm.core.Snapper Removed: private LayerSet systemVolumeLayer : public readable, copy=reference, ignore modify notice Removed: private LayerSet userVolumeLayer : public readable, copy=reference, ignore modify notice Removed: private symbol attachedSpaceVolume : public readable, ignore modify notice Removed: private Guid _chunkId Add: private CollInfo _collInfo : ignore modify notice;
// Class: cm.core.Animation Removed: extend public bool allowIdleRepoValidation() : deprecated
// Class: cm.core.World Add: extend public bool isCollWorldG3()
_chunkId has been moved to the CollInfo object.
// Class: cm.core.Entity Removed: public symbol sectionIdG2 : ignore modify notice; Removed: public symbol sectionParentIdG2; Add: extend public symbol sectionIdG2() Add: extend public symbol sectionIdG2=(symbol id) Add: extend public symbol sectionParentIdG2() Add: extend public symbol sectionParentIdG2=(symbol id)
These removed fields have been moved to methods and should be implemented in concrete subclasses. Snapper already implements these methods.
// Class: cm.core.Space Removed: private symbol _sectionIdG2 // Class: cm.core.AlternativeDialog Old: final private bool inCollWorldG2() New: final private bool inCollWorld() // Class: cm.core.EventViewer Removed: extend public bool contains(Object z) Removed: extend public Object info(symbol key, Object z=null, Object env=null) Removed: extend public CoreObject{} snappers()
New class for in dialog core properties in - cm/core/inDialogCoreProperties.cm - cm/core/inDialogCorePropertiesWindow.cm
The core properties classes has been renamed. The class AbstractPropertiesFactory
has been renamed to CoreProperties
and the class AbstractPropertyFactory
has been renamed to CoreProperty
. Due to these name changes all method/function parameters in core classes has also been renamed to be consistent with the new naming.
CoreProperties
parameters are now named 'properties'.
CoreProperty
parameters are now named 'property'.
The AbstractPropertiesFactory
classes has been renamed and the class hierarchy has been restructured.
The following class name changes has been made to what used to be AbstractPropertiesFactory
classes.
Old: public class AbstractPropertiesFactory New: public class CoreProperties Old: public class PropertiesFactory New: public class CoreAnimationProperties Old: public class QuickPropertiesFactory New: public class CoreQuickProperties Old: public class SpaceVesselPropertiesFactory New: public class SpaceVesselProperties Old: public class PropsSchemePropertiesFactory New: public class PropsSchemeProperties
The old class hierarchy
AbstractPropertiesFactory -- cm.core
|---PropertiesFactory
| |---DsCoreInWindowPropertiesFactory
| | |---PropertiesWindowFactory
| |---DsCoreMemBtnPropertiesFactory
| |---PropsSchemePropertiesFactory
| |---QuickPropertiesFactory
| | |---SpaceVesselPropertiesFactory
| |---UnitLoadPropertiesFactory
Has been turned into the new class hierarchy
CoreProperties -- cm.core
|---CoreAnimationProperties
|---CoreQuickProperties
| |---SpaceVesselProperties
|---DsCoreInWindowPropertiesFactory
| |---PropertiesWindowFactory
|---DsCoreMemBtnPropertiesFactory
|---PropsSchemeProperties
|---UnitLoadPropertiesFactory
Interface changes
// Class: CoreProperties Old: public PropObj owner : stream=null, copy=null; New: public CorePropObj owner : stream=null, copy=null; Old: public str factoryKey; New: public str propertiesKey; Old: public AbstractPropertyFactory[] propertyFactories; New: public CoreProperty[] orderedProperties; Old: public constructor(Window parent, PropObj owner, str->Object args=null); New: public constructor(Window parent, CorePropObj owner, str->Object args=null); Old: public void buildProperties(PropObj owner, bool finalize=true, symbol{} attributes=null, str{} excludeProps=null, str->Object args=null); New: public void buildProperties(PreCorePropObj z, bool finalize=true, symbol{} attributes=null, BuildPropertiesEnv env=null, str->Object args=null); Old: public void addFactoryToVesselInvalidate(AbstractPropertyFactory property); New: public void addPropertyToVesselInvalidate(CoreProperty property); Old: public void updateAuxillaryFactoryData(AbstractPropertyFactory property); New: public void updateAuxillaryPropertyData(CoreProperty property);
The AbstractPropertyFactory classes
has been renamed.
Old: public class AbstractPropertyFactory New: public class CoreProperty Old: public class CheckBoxPropertyFactory New: public class CheckBoxCoreProperty Old: public class ButtonPropertyFactory New: public class ButtonCoreProperty Old: public class DisplayPropertyFactory New: public class DisplayCoreProperty Old: public class ButtonsPropertyFactory New: public class ButtonsCoreProperty Old: public class ListPropertyFactory New: public class ListCoreProperty Old: public class InputPropertyFactory New: public class InputCoreProperty Old: public class SliderPropertyFactory New: public class SliderCoreProperty Old: public class ColorButtonPropertyFactory New: public class ColorButtonCoreProperty Old: public class ComboPropertyFactory New: public class ComboCoreProperty Old: public class SimpleMultiLineInputFactory New: public class SimpleMultiLineInputProperty
Interface changes
// Class: CoreProperty Old: public PropertiesFactory propertiesFactory; New: public CoreProperties properties; Old: public PropObj owner : copy=null, stream=null; New: public PreCorePropObj owner : copy=null, stream=null; Old: public constructor(PropertiesFactory factory, PropObj owner, str key, Object label=null, Object domain=null, Object value=null, Object defaultValue=null, class Object classType=null, bool lockable=false, symbol{} vesselTags=null, str->Object args=null, Object env=null); New: public constructor(CoreProperties properties, PreCorePropObj owner, str key, Object label=null, Object domain=null, Object value=null, Object defaultValue=null, class Object classType=null, bool lockable=false, symbol{} vesselTags=null, str->Object args=null, Object env=null); Old: public constructor(PropertiesFactory factory, PropObj owner, Object env); New: public constructor(CoreProperties properties, PreCorePropObj owner, Object env); Removed: public Object env(); Use: public PropInputSetting inputSetting(); Removed: public Object value=(Object v); Use: public Object setValue(Object v, Object env=null);
The AbstractPropertiesUI
classes has been renamed.
Old: public class AbstractPropertiesUI New: public class CorePropertiesWindow Old: public class QuickPropertiesUI New: public class CoreQuickPropertiesWindow Old: public class AbstractPropertiesUIDragEnv New: public class CorePropertiesWindowDragEnv Old: public class QuickPropertiesUIDragEnv New: public class CoreQuickPropertiesWindowDragEnv
The following changes has been made to PropInputSetting
.
// Class: PropertyInputSetting Old: public function(PropertiesFactory factory, PropObj owner, Object env):AbstractPropertyFactory createProp; New: public function(CoreProperties properties, PreCorePropObj owner, Object env):CoreProperty createProp;
This class PropInputSettingOrderNode
has been removed. Since version 12.0 it only carried the group index. Set the index directly on the PropInputSetting instead.
The following changes has been made to the core properties protocol in PreCorePropObj
.
// Class: PreCorePropObj Deprecated: public bool visibleInFactory(str key, PropObj owner, symbol{} attributes=null); Use: public bool visibleInProperties(str key, PropObj owner, symbol{} attributes=null);
The following interface changes has been made to CorePropObj
.
// Class: CorePropObj Deprecated: public void orderFactoryProperties(PropertyOrder order, CoreProperties properties); Use: public void postBuildOrderProperties(PropertyOrder order, CoreProperties properties); Old: extend public void additionalCorePropertyObjects(PreCorePropObj[] objs) New: extend public void additionalCorePropertyObjects(PreCorePropObj[] objs, symbol{} attributes)
The following classes and interfaces related to them have been removed
Removed: public class GLView3D Removed: public class GLPreview3D Removed: public class ComboView3D Removed: public class SnapperRepository3D Removed: public class SnapperRepositoryCache3D
renderingHiddenLines
have been removed, the affected interfaces have been adjusted to not use it.
Removed: public bool renderingHiddenLine