aboutsummaryrefslogtreecommitdiff
path: root/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gre/NodeFactory.java
diff options
context:
space:
mode:
Diffstat (limited to 'eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gre/NodeFactory.java')
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gre/NodeFactory.java86
1 files changed, 0 insertions, 86 deletions
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gre/NodeFactory.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gre/NodeFactory.java
deleted file mode 100644
index b0b9971ba..000000000
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gre/NodeFactory.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Eclipse Public License, Version 1.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.eclipse.org/org/documents/epl-v10.php
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.ide.eclipse.adt.internal.editors.layout.gre;
-
-import com.android.ide.common.api.INode;
-import com.android.ide.eclipse.adt.internal.editors.layout.gle2.CanvasViewInfo;
-import com.android.ide.eclipse.adt.internal.editors.layout.gle2.LayoutCanvas;
-import com.android.ide.eclipse.adt.internal.editors.layout.gle2.SwtUtils;
-import com.android.ide.eclipse.adt.internal.editors.layout.uimodel.UiViewElementNode;
-
-import org.eclipse.swt.graphics.Rectangle;
-
-import java.util.Map;
-import java.util.WeakHashMap;
-
-/**
- * An object that can create {@link INode} proxies.
- * This also keeps references to objects already created and tries to reuse them.
- */
-public class NodeFactory {
-
- private final Map<UiViewElementNode, NodeProxy> mNodeMap =
- new WeakHashMap<UiViewElementNode, NodeProxy>();
- private LayoutCanvas mCanvas;
-
- public NodeFactory(LayoutCanvas canvas) {
- mCanvas = canvas;
- }
-
- /**
- * Returns an {@link INode} proxy based on the view key of the given
- * {@link CanvasViewInfo}. The bounds of the node are set to the canvas view bounds.
- */
- public NodeProxy create(CanvasViewInfo canvasViewInfo) {
- return create(canvasViewInfo.getUiViewNode(), canvasViewInfo.getAbsRect());
- }
-
- /**
- * Returns an {@link INode} proxy based on a given {@link UiViewElementNode} that
- * is not yet part of the canvas, typically those created by layout rules
- * when generating new XML.
- */
- public NodeProxy create(UiViewElementNode uiNode) {
- return create(uiNode, null /*bounds*/);
- }
-
- public void clear() {
- mNodeMap.clear();
- }
-
- public LayoutCanvas getCanvas() {
- return mCanvas;
- }
-
- //----
-
- private NodeProxy create(UiViewElementNode uiNode, Rectangle bounds) {
- NodeProxy proxy = mNodeMap.get(uiNode);
-
- if (proxy == null) {
- // Create a new proxy if the key doesn't exist
- proxy = new NodeProxy(uiNode, bounds, this);
- mNodeMap.put(uiNode, proxy);
-
- } else if (bounds != null && !SwtUtils.equals(proxy.getBounds(), bounds)) {
- // Update the bounds if necessary
- proxy.setBounds(bounds);
- }
-
- return proxy;
- }
-}