소스 검색

Canvas2D: renamed Binding class to DataBinding

nockawa 8 년 전
부모
커밋
17ecf98605

+ 21 - 21
src/Canvas2d/babylon.smartPropertyPrim.ts

@@ -125,8 +125,8 @@
         private _classContentFactory: (base: TClass) => TClass;
     }
 
-    @className("Binding", "BABYLON")
-    export class Binding {
+    @className("DataBinding", "BABYLON")
+    export class DataBinding {
 
         /**
          * Use the mode specified in the SmartProperty declaration
@@ -176,13 +176,13 @@
 
         constructor() {
             this._converter = null;
-            this._mode = Binding.MODE_DEFAULT;
+            this._mode = DataBinding.MODE_DEFAULT;
             this._uiElementId = null;
             this._dataSource = null;
             this._currentDataSource = null;
             this._propertyPathName = null;
             this._stringFormat = null;
-            this._updateSourceTrigger = Binding.UPDATESOURCETRIGGER_PROPERTYCHANGED;
+            this._updateSourceTrigger = DataBinding.UPDATESOURCETRIGGER_PROPERTYCHANGED;
             this._boundTo = null;
             this._owner = null;
             this._updateCounter = 0;
@@ -211,7 +211,7 @@
          * Set the mode to use for the data flow in the binding. Set one of the MODE_xxx static member of this class. If not specified then MODE_DEFAULT will be used
          */
         public get mode(): number {
-            if (this._mode === Binding.MODE_DEFAULT) {
+            if (this._mode === DataBinding.MODE_DEFAULT) {
                 return this._boundTo.bindingMode;
             }
             return this._mode;
@@ -321,11 +321,11 @@
             }
 
             let mode = this.mode;
-            if (mode === Binding.MODE_ONETIME) {
+            if (mode === DataBinding.MODE_ONETIME) {
                 return this._updateCounter === 0;
             }
 
-            if (mode === Binding.MODE_ONEWAYTOSOURCE) {
+            if (mode === DataBinding.MODE_ONEWAYTOSOURCE) {
                 return false;
             }
             return true;
@@ -341,7 +341,7 @@
         }
 
         public _storeBoundValue(watcher: SmartPropertyBase, value) {
-            if ((++this._updateCounter > 1) && (this.mode === Binding.MODE_ONETIME)) {
+            if ((++this._updateCounter > 1) && (this.mode === DataBinding.MODE_ONETIME)) {
                 return;
             }
 
@@ -609,8 +609,8 @@
             propInfo.flagId = Math.pow(2, propId);
             propInfo.kind = kind;
             propInfo.name = propName;
-            propInfo.bindingMode = (settings.bindingMode !== undefined) ? settings.bindingMode : Binding.MODE_TWOWAY;
-            propInfo.bindingUpdateSourceTrigger = (settings.bindingUpdateSourceTrigger !== undefined) ? settings.bindingUpdateSourceTrigger : Binding.UPDATESOURCETRIGGER_PROPERTYCHANGED;
+            propInfo.bindingMode = (settings.bindingMode !== undefined) ? settings.bindingMode : DataBinding.MODE_TWOWAY;
+            propInfo.bindingUpdateSourceTrigger = (settings.bindingUpdateSourceTrigger !== undefined) ? settings.bindingUpdateSourceTrigger : DataBinding.UPDATESOURCETRIGGER_PROPERTYCHANGED;
             propInfo.dirtyBoundingInfo = (settings.dirtyBoundingInfo!==undefined) ? settings.dirtyBoundingInfo : false;
             propInfo.dirtyParentBoundingInfo = (settings.dirtyParentBoundingBox!==undefined) ? settings.dirtyParentBoundingBox : false;
             propInfo.typeLevelCompare = (settings.typeLevelCompare!==undefined) ? settings.typeLevelCompare : false;
@@ -721,16 +721,16 @@
             return this._dataSource;
         }
 
-        public createSimpleDataBinding(propInfo: Prim2DPropInfo, propertyPathName: string, mode: number = Binding.MODE_DEFAULT): Binding {
-            let binding = new Binding();
+        public createSimpleDataBinding(propInfo: Prim2DPropInfo, propertyPathName: string, mode: number = DataBinding.MODE_DEFAULT): DataBinding {
+            let binding = new DataBinding();
             binding.propertyPathName = propertyPathName;
             binding.mode = mode;
             return this.createDataBinding(propInfo, binding);
         }
 
-        public createDataBinding(propInfo: Prim2DPropInfo, binding: Binding): Binding {
+        public createDataBinding(propInfo: Prim2DPropInfo, binding: DataBinding): DataBinding {
             if (!this._bindings) {
-                this._bindings = new Array<Binding>();
+                this._bindings = new Array<DataBinding>();
             }
 
             if (!binding || binding._owner != null) {
@@ -778,19 +778,19 @@
         private _externalData: StringDictionary<Object>;
         protected _instanceDirtyFlags: number;
         private _propInfo: StringDictionary<Prim2DPropInfo>;
-        public _bindings: Array<Binding>;
+        public _bindings: Array<DataBinding>;
         private _hasBinding: number;
         private _bindingSourceChanged: number;
         private _disposeObservable: Observable<SmartPropertyBase>;
     }
 
     class BindingInfo {
-        constructor(binding: Binding, level: number, isLast: boolean) {
+        constructor(binding: DataBinding, level: number, isLast: boolean) {
             this.binding = binding;
             this.level = level;
             this.isLast = isLast;
         }
-        binding: Binding;
+        binding: DataBinding;
         level: number;
         isLast: boolean;
     }
@@ -834,7 +834,7 @@
 
     class BindingHelper {
 
-        static registerDataSource(dataSource: IPropertyChanged, binding: Binding) {
+        static registerDataSource(dataSource: IPropertyChanged, binding: DataBinding) {
 
             let properties = binding.propertyPathName.split(".");
 
@@ -877,7 +877,7 @@
             }
         }
 
-        static unregisterDataSource(dataSource: IPropertyChanged, binding: Binding, level: number) {
+        static unregisterDataSource(dataSource: IPropertyChanged, binding: DataBinding, level: number) {
             let properties = binding.propertyPathName.split(".");
 
             let propertyOwner = dataSource;
@@ -898,7 +898,7 @@
             }
         }
 
-        private static _unregisterBinding(mod: MonitoredObjectData, propertyID: number, binding: Binding): MonitoredObjectData {
+        private static _unregisterBinding(mod: MonitoredObjectData, propertyID: number, binding: DataBinding): MonitoredObjectData {
             let propertyIDStr = propertyID.toString();
             let res: MonitoredObjectData = null;
 
@@ -1274,7 +1274,7 @@
         protected _layoutBoundingInfo : BoundingInfo2D;
     }
 
-    export function dependencyProperty<T>(propId: number, piStore: (pi: Prim2DPropInfo) => void, mode = Binding.MODE_TWOWAY, updateSourceTrigger = Binding.UPDATESOURCETRIGGER_PROPERTYCHANGED): (target: Object, propName: string | symbol, descriptor: TypedPropertyDescriptor<T>) => void {
+    export function dependencyProperty<T>(propId: number, piStore: (pi: Prim2DPropInfo) => void, mode = DataBinding.MODE_TWOWAY, updateSourceTrigger = DataBinding.UPDATESOURCETRIGGER_PROPERTYCHANGED): (target: Object, propName: string | symbol, descriptor: TypedPropertyDescriptor<T>) => void {
         return SmartPropertyBase._hookProperty(propId, piStore, Prim2DPropInfo.PROPKIND_DYNAMIC, { bindingMode: mode, bindingUpdateSourceTrigger: updateSourceTrigger });
     }
 

+ 7 - 7
src/GUI/babylon.gui.UIElement.ts

@@ -608,13 +608,13 @@
             let p = this._visualPlaceholder;
             p.addExternalData<UIElement>("_GUIOwnerElement_", this);
             p.dataSource = this;
-            p.createSimpleDataBinding(Prim2DBase.widthProperty, "width", Binding.MODE_ONEWAY);
-            p.createSimpleDataBinding(Prim2DBase.heightProperty, "height", Binding.MODE_ONEWAY);
-            p.createSimpleDataBinding(Prim2DBase.actualWidthProperty, "actualWidth", Binding.MODE_ONEWAYTOSOURCE);
-            p.createSimpleDataBinding(Prim2DBase.actualHeightProperty, "actualHeight", Binding.MODE_ONEWAYTOSOURCE);
-            p.createSimpleDataBinding(Prim2DBase.marginProperty, "margin", Binding.MODE_ONEWAY);
-            p.createSimpleDataBinding(Prim2DBase.paddingProperty, "padding", Binding.MODE_ONEWAY);
-            p.createSimpleDataBinding(Prim2DBase.marginAlignmentProperty, "marginAlignment", Binding.MODE_ONEWAY);
+            p.createSimpleDataBinding(Prim2DBase.widthProperty, "width", DataBinding.MODE_ONEWAY);
+            p.createSimpleDataBinding(Prim2DBase.heightProperty, "height", DataBinding.MODE_ONEWAY);
+            p.createSimpleDataBinding(Prim2DBase.actualWidthProperty, "actualWidth", DataBinding.MODE_ONEWAYTOSOURCE);
+            p.createSimpleDataBinding(Prim2DBase.actualHeightProperty, "actualHeight", DataBinding.MODE_ONEWAYTOSOURCE);
+            p.createSimpleDataBinding(Prim2DBase.marginProperty, "margin", DataBinding.MODE_ONEWAY);
+            p.createSimpleDataBinding(Prim2DBase.paddingProperty, "padding", DataBinding.MODE_ONEWAY);
+            p.createSimpleDataBinding(Prim2DBase.marginAlignmentProperty, "marginAlignment", DataBinding.MODE_ONEWAY);
             this.createVisualTree();
         }
 

+ 2 - 2
src/GUI/babylon.gui.control.ts

@@ -171,13 +171,13 @@
             // Test primary types
             else if ((typeof c === "string") || (typeof c === "boolean") || (typeof c === "number")) {
                 let l = new Label({ parent: this, id: "Content of " + this.id });
-                let binding = new Binding();
+                let binding = new DataBinding();
                 binding.propertyPathName = "content";
                 binding.stringFormat = v => `${v}`;
                 binding.dataSource = this;
                 l.createDataBinding(Label.textProperty, binding);
 
-                binding = new Binding();
+                binding = new DataBinding();
                 binding.propertyPathName = "contentAlignment";
                 binding.dataSource = this;
                 l.createDataBinding(Label.marginAlignmentProperty, binding);

+ 4 - 4
tests/Canvas2d/Jasmine/DataBindingTest.ts

@@ -106,7 +106,7 @@ describe("GUI - Data Binding", () => {
         vm.dataSource = c;
 
         // Create the binding and set it up
-        let b = new BABYLON.Binding();
+        let b = new BABYLON.DataBinding();
         b.propertyPathName = "firstName";
         b.stringFormat = v => `My Name is ${v}`;
         vm.createDataBinding(BABYLON.CustomerViewModel.firstNameProperty, b);
@@ -115,7 +115,7 @@ describe("GUI - Data Binding", () => {
         expect(vm.firstName).toBe("My Name is Loic Baumann", "binding string format doesn't work");
 
         // Bind age to city with "Age: $value" format
-        b = new BABYLON.Binding();
+        b = new BABYLON.DataBinding();
         b.propertyPathName = "age";
         b.stringFormat = v => `Age: ${v}`;
         vm.createDataBinding(BABYLON.CustomerViewModel.cityProperty, b);
@@ -140,12 +140,12 @@ describe("GUI - Data Binding", () => {
         vm.dataSource = c1;
 
         // Create the binding and set it up
-        let b = new BABYLON.Binding();
+        let b = new BABYLON.DataBinding();
         b.propertyPathName = "firstName";
         vm.createDataBinding(BABYLON.CustomerViewModel.firstNameProperty, b);
 
         // Bind age with a custom source
-        b = new BABYLON.Binding();
+        b = new BABYLON.DataBinding();
         b.propertyPathName = "age";
         b.dataSource = c2;
         vm.createDataBinding(BABYLON.CustomerViewModel.ageProperty, b);

+ 2 - 2
tests/Canvas2d/Jasmine/TestClasses.ts

@@ -1,4 +1,4 @@
-module BABYLON {
+module BABYLON {
 
     @className("Address")
     export class Address extends PropertyChangedBase {
@@ -156,7 +156,7 @@ module BABYLON {
             this._city = value;
         }
 
-        @BABYLON.dependencyProperty(2, pi => CustomerViewModel.firstNameProperty = pi, Binding.MODE_ONETIME)
+        @BABYLON.dependencyProperty(2, pi => CustomerViewModel.firstNameProperty = pi, DataBinding.MODE_ONETIME)
         public get firstName(): string {
             return this._firstName;
         }