فهرست منبع

TextBlock onTextChangedObservable + Control dispose fix

Royi Bernthal 7 سال پیش
والد
کامیت
77d87c9d9c
2فایلهای تغییر یافته به همراه15 افزوده شده و 0 حذف شده
  1. 1 0
      gui/src/controls/control.ts
  2. 14 0
      gui/src/controls/textBlock.ts

+ 1 - 0
gui/src/controls/control.ts

@@ -935,6 +935,7 @@ module BABYLON.GUI {
 
         public dispose() {
             this.onDirtyObservable.clear();
+            this.onAfterDrawObservable.clear();
             this.onPointerDownObservable.clear();
             this.onPointerEnterObservable.clear();
             this.onPointerMoveObservable.clear();

+ 14 - 0
gui/src/controls/textBlock.ts

@@ -12,6 +12,12 @@ module BABYLON.GUI {
         private _totalHeight: number;
         private _resizeToFit: boolean = false;
 
+        /**
+        * An event triggered after the text is changed
+        * @type {BABYLON.Observable}
+        */
+        public onTextChangedObservable = new Observable<TextBlock>();
+
         get resizeToFit(): boolean {
             return this._resizeToFit;
         }
@@ -47,6 +53,8 @@ module BABYLON.GUI {
             }
             this._text = value;
             this._markAsDirty();
+
+            this.onTextChangedObservable.notifyObservers(this);
         }
 
         public get textHorizontalAlignment(): number {
@@ -194,5 +202,11 @@ module BABYLON.GUI {
                 this.height = this.paddingTopInPixels + this.paddingBottomInPixels + this._fontOffset.height * this._lines.length + 'px';
             }
         }
+
+        dispose(): void {
+            super.dispose();
+
+            this.onTextChangedObservable.clear();
+        }
     }
 }