From 43f0fd0ffcb6a4abc400cfaaaac5f2a22e1c6350 Mon Sep 17 00:00:00 2001 From: Manol Donev Date: Fri, 31 Aug 2018 15:00:16 +0300 Subject: [PATCH] refactor: remove ununsed Layout class (#6228) --- tests/app/ui/view/view-tests-common.ts | 5 +- tns-core-modules/ui/layouts/layout.android.ts | 109 ------------------ tns-core-modules/ui/layouts/layout.d.ts | 12 -- tns-core-modules/ui/layouts/layout.ios.ts | 9 -- 4 files changed, 2 insertions(+), 133 deletions(-) delete mode 100644 tns-core-modules/ui/layouts/layout.android.ts delete mode 100644 tns-core-modules/ui/layouts/layout.d.ts delete mode 100644 tns-core-modules/ui/layouts/layout.ios.ts diff --git a/tests/app/ui/view/view-tests-common.ts b/tests/app/ui/view/view-tests-common.ts index e0e53ce80..1ac205011 100644 --- a/tests/app/ui/view/view-tests-common.ts +++ b/tests/app/ui/view/view-tests-common.ts @@ -5,16 +5,15 @@ import { Page } from "tns-core-modules/ui/page"; import { Button } from "tns-core-modules/ui/button"; import { Label } from "tns-core-modules/ui/label"; import { Color } from "tns-core-modules/color"; -import { Layout } from "tns-core-modules/ui/layouts/layout"; import { StackLayout } from "tns-core-modules/ui/layouts/stack-layout"; import { AbsoluteLayout } from "tns-core-modules/ui/layouts/absolute-layout"; -import * as utils from "tns-core-modules/utils/utils"; import * as types from "tns-core-modules/utils/types"; import * as helper from "../../ui/helper"; import * as observable from "tns-core-modules/data/observable"; import * as bindable from "tns-core-modules/ui/core/bindable"; import * as definition from "./view-tests"; import { isIOS, isAndroid } from "tns-core-modules/platform"; +import { LayoutBase } from "tns-core-modules/ui/layouts/layout-base"; export function test_eachDescendant() { const test = function (views: Array) { @@ -292,7 +291,7 @@ const customShortHandProperty = new ShorthandProperty({ }); customShortHandProperty.register(Style); -class TestView extends Layout { +class TestView extends LayoutBase { public inheritanceTest: number; public booleanInheritanceTest: boolean; public dummy: number; diff --git a/tns-core-modules/ui/layouts/layout.android.ts b/tns-core-modules/ui/layouts/layout.android.ts deleted file mode 100644 index faa903868..000000000 --- a/tns-core-modules/ui/layouts/layout.android.ts +++ /dev/null @@ -1,109 +0,0 @@ -import { Layout as LayoutDefinition } from "./layout"; -import { LayoutBase, View, layout, traceEnabled, traceWrite, traceCategories } from "./layout-base"; - -export * from "./layout-base"; - -const OWNER = Symbol("_owner"); - -interface NativeViewGroup { - new (context: android.content.Context): android.view.ViewGroup; -} - -let NativeViewGroup: NativeViewGroup; -function initializeNativeViewGroup() { - if (NativeViewGroup) { - return; - } - - class NativeViewGroupImpl extends android.view.ViewGroup { - constructor(context: android.content.Context) { - super(context); - return global.__native(this); - } - - onMeasure(widthMeasureSpec: number, heightMeasureSpec: number): void { - const owner: View = this[OWNER]; - owner.onMeasure(widthMeasureSpec, heightMeasureSpec); - this.setMeasuredDimension(owner.getMeasuredWidth(), owner.getMeasuredHeight()); - } - - onLayout(changed: boolean, left: number, top: number, right: number, bottom: number): void { - const owner: View = this[OWNER]; - owner.onLayout(left, top, right, bottom); - } - } - - NativeViewGroup = NativeViewGroupImpl; -} - -export class Layout extends LayoutBase implements LayoutDefinition { - nativeViewProtected: android.view.ViewGroup; - _measuredWidth: number; - _measuredHeight: number; - - public createNativeView() { - initializeNativeViewGroup(); - return new NativeViewGroup(this._context); - } - - public initNativeView(): void { - super.initNativeView(); - (this.nativeViewProtected)[OWNER] = this; - } - - public disposeNativeView() { - (this.nativeViewProtected)[OWNER] = undefined; - super.disposeNativeView(); - } - - public measure(widthMeasureSpec: number, heightMeasureSpec: number): void { - this._setCurrentMeasureSpecs(widthMeasureSpec, heightMeasureSpec); - - const view = this.nativeViewProtected; - if (view) { - if (traceEnabled()) { - traceWrite(`${this} :measure: ${layout.measureSpecToString(widthMeasureSpec)}, ${layout.measureSpecToString(heightMeasureSpec)}`, traceCategories.Layout); - } - view.measure(widthMeasureSpec, heightMeasureSpec); - } - } - - public layout(left: number, top: number, right: number, bottom: number): void { - this._setCurrentLayoutBounds(left, top, right, bottom); - - var view = this.nativeViewProtected; - if (view) { - this.layoutNativeView(left, top, right, bottom); - if (traceEnabled()) { - traceWrite(`${this} :layout: ${left}, ${top}, ${right - left}, ${bottom - top}`, traceCategories.Layout); - } - } - } - - public onMeasure(widthMeasureSpec: number, heightMeasureSpec: number): void { - // Don't call super because it will trigger measure again. - } - - public onLayout(left: number, top: number, right: number, bottom: number): void { - // Don't call super because it will trigger layout again. - } - - // NOTE: overriden so we cache measuredWidth & measuredHeight. - public setMeasuredDimension(measuredWidth: number, measuredHeight: number): void { - super.setMeasuredDimension(measuredWidth, measuredHeight); - this._measuredWidth = measuredWidth; - this._measuredHeight = measuredHeight; - } - - // NOTE: base implementation use the nativeView.getMeasuredWidth which should - // not be called while we are in onMeasure. - public getMeasuredWidth(): number { - return this._measuredWidth; - } - - // NOTE: base implementation use the nativeView.getMeasuredWidth which should - // not be called while we are in onMeasure. - public getMeasuredHeight(): number { - return this._measuredHeight; - } -} \ No newline at end of file diff --git a/tns-core-modules/ui/layouts/layout.d.ts b/tns-core-modules/ui/layouts/layout.d.ts deleted file mode 100644 index 38864c973..000000000 --- a/tns-core-modules/ui/layouts/layout.d.ts +++ /dev/null @@ -1,12 +0,0 @@ -/** - * @module "ui/layouts/layout" - */ /** */ - -import { LayoutBase } from "./layout-base"; - -/** - * Base class for all views that supports children positioning in cross platform manner. - */ -export class Layout extends LayoutBase { - // -} diff --git a/tns-core-modules/ui/layouts/layout.ios.ts b/tns-core-modules/ui/layouts/layout.ios.ts deleted file mode 100644 index 842681c58..000000000 --- a/tns-core-modules/ui/layouts/layout.ios.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { Layout as LayoutDefinition } from "./layout"; -import { LayoutBase } from "./layout-base"; - -export * from "./layout-base"; -export class Layout extends LayoutBase implements LayoutDefinition { - public onMeasure(widthMeasureSpec: number, heightMeasureSpec: number): void { - // Don't call super because it will measure the native element. - } -}