You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2012/12/06 18:42:19 UTC

[52/52] [partial] ISIS-188: moving framework/ subdirs up to parent

http://git-wip-us.apache.org/repos/asf/isis/blob/255ef514/component/viewer/dnd/src/main/java/org/apache/isis/viewer/dnd/view/base/AbstractViewDecorator.java
----------------------------------------------------------------------
diff --git a/component/viewer/dnd/src/main/java/org/apache/isis/viewer/dnd/view/base/AbstractViewDecorator.java b/component/viewer/dnd/src/main/java/org/apache/isis/viewer/dnd/view/base/AbstractViewDecorator.java
new file mode 100644
index 0000000..00a5670
--- /dev/null
+++ b/component/viewer/dnd/src/main/java/org/apache/isis/viewer/dnd/view/base/AbstractViewDecorator.java
@@ -0,0 +1,505 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.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.apache.org/licenses/LICENSE-2.0
+ *
+ *  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 org.apache.isis.viewer.dnd.view.base;
+
+import org.apache.isis.core.commons.debug.DebugBuilder;
+import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
+import org.apache.isis.core.metamodel.consent.Consent;
+import org.apache.isis.core.runtime.userprofile.Options;
+import org.apache.isis.viewer.dnd.drawing.Bounds;
+import org.apache.isis.viewer.dnd.drawing.Canvas;
+import org.apache.isis.viewer.dnd.drawing.Location;
+import org.apache.isis.viewer.dnd.drawing.Padding;
+import org.apache.isis.viewer.dnd.drawing.Size;
+import org.apache.isis.viewer.dnd.view.Axes;
+import org.apache.isis.viewer.dnd.view.Click;
+import org.apache.isis.viewer.dnd.view.Content;
+import org.apache.isis.viewer.dnd.view.ContentDrag;
+import org.apache.isis.viewer.dnd.view.DragEvent;
+import org.apache.isis.viewer.dnd.view.DragStart;
+import org.apache.isis.viewer.dnd.view.Feedback;
+import org.apache.isis.viewer.dnd.view.FocusManager;
+import org.apache.isis.viewer.dnd.view.InternalDrag;
+import org.apache.isis.viewer.dnd.view.KeyboardAction;
+import org.apache.isis.viewer.dnd.view.Placement;
+import org.apache.isis.viewer.dnd.view.UserActionSet;
+import org.apache.isis.viewer.dnd.view.View;
+import org.apache.isis.viewer.dnd.view.ViewAreaType;
+import org.apache.isis.viewer.dnd.view.ViewDrag;
+import org.apache.isis.viewer.dnd.view.ViewSpecification;
+import org.apache.isis.viewer.dnd.view.ViewState;
+import org.apache.isis.viewer.dnd.view.Viewer;
+import org.apache.isis.viewer.dnd.view.Workspace;
+
+public abstract class AbstractViewDecorator implements View {
+    protected View wrappedView;
+
+    protected AbstractViewDecorator(final View wrappedView) {
+        this.wrappedView = wrappedView;
+        wrappedView.setView(this);
+    }
+
+    @Override
+    public void addView(final View view) {
+        wrappedView.addView(view);
+    }
+
+    @Override
+    public Consent canChangeValue() {
+        return wrappedView.canChangeValue();
+    }
+
+    @Override
+    public boolean canFocus() {
+        return wrappedView.canFocus();
+    }
+
+    @Override
+    public boolean contains(final View view) {
+        return wrappedView.contains(view);
+    }
+
+    @Override
+    public boolean containsFocus() {
+        return wrappedView.containsFocus();
+    }
+
+    @Override
+    public void contentMenuOptions(final UserActionSet menuOptions) {
+        wrappedView.contentMenuOptions(menuOptions);
+    }
+
+    @Override
+    public final void debug(final DebugBuilder debug) {
+        debug.append("Decorator: ");
+        debug.indent();
+        debugDetails(debug);
+        debug.appendln("required size", getRequiredSize(Size.createMax()));
+        debug.appendln("given size", getSize());
+        debug.appendln("padding", getPadding());
+        debug.appendln("baseline", getBaseline());
+
+        debug.appendln();
+        debug.unindent();
+        wrappedView.debug(debug);
+    }
+
+    protected void debugDetails(final DebugBuilder debug) {
+        final String name = getClass().getName();
+        debug.appendln(name.substring(name.lastIndexOf('.') + 1));
+    }
+
+    @Override
+    public void debugStructure(final DebugBuilder debug) {
+        wrappedView.debugStructure(debug);
+    }
+
+    @Override
+    public void dispose() {
+        wrappedView.dispose();
+    }
+
+    @Override
+    public void drag(final ContentDrag contentDrag) {
+        wrappedView.drag(contentDrag);
+    }
+
+    @Override
+    public void drag(final InternalDrag drag) {
+        wrappedView.drag(drag);
+    }
+
+    @Override
+    public void drag(final ViewDrag drag) {
+        wrappedView.drag(drag);
+    }
+
+    @Override
+    public void dragCancel(final InternalDrag drag) {
+        wrappedView.dragCancel(drag);
+    }
+
+    @Override
+    public View dragFrom(final Location location) {
+        return wrappedView.dragFrom(location);
+    }
+
+    @Override
+    public void dragIn(final ContentDrag drag) {
+        wrappedView.dragIn(drag);
+    }
+
+    @Override
+    public void dragOut(final ContentDrag drag) {
+        wrappedView.dragOut(drag);
+    }
+
+    @Override
+    public DragEvent dragStart(final DragStart drag) {
+        return wrappedView.dragStart(drag);
+    }
+
+    @Override
+    public void dragTo(final InternalDrag drag) {
+        wrappedView.dragTo(drag);
+    }
+
+    @Override
+    public void draw(final Canvas canvas) {
+        wrappedView.draw(canvas);
+    }
+
+    @Override
+    public void drop(final ContentDrag drag) {
+        wrappedView.drop(drag);
+    }
+
+    @Override
+    public void drop(final ViewDrag drag) {
+        wrappedView.drop(drag);
+    }
+
+    @Override
+    public void editComplete(final boolean moveFocus, final boolean toNextField) {
+        wrappedView.editComplete(moveFocus, toNextField);
+    }
+
+    @Override
+    public void entered() {
+        wrappedView.entered();
+    }
+
+    @Override
+    public void exited() {
+        wrappedView.exited();
+    }
+
+    @Override
+    public void firstClick(final Click click) {
+        wrappedView.firstClick(click);
+    }
+
+    @Override
+    public void focusLost() {
+        wrappedView.focusLost();
+    }
+
+    @Override
+    public void focusReceived() {
+        wrappedView.focusReceived();
+    }
+
+    @Override
+    public Location getAbsoluteLocation() {
+        return wrappedView.getAbsoluteLocation();
+    }
+
+    @Override
+    public int getBaseline() {
+        return wrappedView.getBaseline();
+    }
+
+    @Override
+    public Bounds getBounds() {
+        return new Bounds(getLocation(), getSize());
+    }
+
+    @Override
+    public Content getContent() {
+        return wrappedView.getContent();
+    }
+
+    @Override
+    public FocusManager getFocusManager() {
+        return wrappedView.getFocusManager();
+    }
+
+    @Override
+    public int getId() {
+        return wrappedView.getId();
+    }
+
+    @Override
+    public Location getLocation() {
+        return wrappedView.getLocation();
+    }
+
+    @Override
+    public Padding getPadding() {
+        return wrappedView.getPadding();
+    }
+
+    @Override
+    public View getParent() {
+        return wrappedView.getParent();
+    }
+
+    @Override
+    public Size getRequiredSize(final Size availableSpace) {
+        return wrappedView.getRequiredSize(availableSpace);
+    }
+
+    @Override
+    public Size getSize() {
+        return wrappedView.getSize();
+    }
+
+    @Override
+    public ViewSpecification getSpecification() {
+        return wrappedView.getSpecification();
+    }
+
+    @Override
+    public ViewState getState() {
+        return wrappedView.getState();
+    }
+
+    @Override
+    public View[] getSubviews() {
+        return wrappedView.getSubviews();
+    }
+
+    @Override
+    public View getView() {
+        return wrappedView.getView();
+    }
+
+    @Override
+    public Axes getViewAxes() {
+        return wrappedView.getViewAxes();
+    }
+
+    @Override
+    public Viewer getViewManager() {
+        return wrappedView.getViewManager();
+    }
+
+    @Override
+    public Feedback getFeedbackManager() {
+        return wrappedView.getFeedbackManager();
+    }
+
+    @Override
+    public Workspace getWorkspace() {
+        return wrappedView.getWorkspace();
+    }
+
+    @Override
+    public boolean hasFocus() {
+        return wrappedView.hasFocus();
+    }
+
+    @Override
+    public View identify(final Location mouseLocation) {
+        return wrappedView.identify(mouseLocation);
+    }
+
+    @Override
+    public void invalidateContent() {
+        wrappedView.invalidateContent();
+    }
+
+    @Override
+    public void invalidateLayout() {
+        wrappedView.invalidateLayout();
+    }
+
+    @Override
+    public void keyPressed(final KeyboardAction key) {
+        wrappedView.keyPressed(key);
+    }
+
+    @Override
+    public void keyReleased(final KeyboardAction action) {
+        wrappedView.keyReleased(action);
+    }
+
+    @Override
+    public void keyTyped(final KeyboardAction action) {
+        wrappedView.keyTyped(action);
+    }
+
+    @Override
+    public void layout() {
+        wrappedView.layout();
+    }
+
+    @Override
+    public void limitBoundsWithin(final Size size) {
+        wrappedView.limitBoundsWithin(size);
+    }
+
+    @Override
+    public void markDamaged() {
+        wrappedView.markDamaged();
+    }
+
+    @Override
+    public void markDamaged(final Bounds bounds) {
+        wrappedView.markDamaged(bounds);
+    }
+
+    @Override
+    public void mouseDown(final Click click) {
+        wrappedView.mouseDown(click);
+    }
+
+    @Override
+    public void mouseMoved(final Location at) {
+        wrappedView.mouseMoved(at);
+    }
+
+    @Override
+    public void mouseUp(final Click click) {
+        wrappedView.mouseUp(click);
+    }
+
+    @Override
+    public void objectActionResult(final ObjectAdapter result, final Placement placement) {
+        wrappedView.objectActionResult(result, placement);
+    }
+
+    @Override
+    public View pickupContent(final Location location) {
+        return wrappedView.pickupContent(location);
+    }
+
+    @Override
+    public View pickupView(final Location location) {
+        return wrappedView.pickupView(location);
+    }
+
+    @Override
+    public void print(final Canvas canvas) {
+        wrappedView.print(canvas);
+    }
+
+    @Override
+    public void refresh() {
+        wrappedView.refresh();
+    }
+
+    @Override
+    public void removeView(final View view) {
+        wrappedView.removeView(view);
+    }
+
+    @Override
+    public void replaceView(final View toReplace, final View replacement) {
+        wrappedView.replaceView(toReplace, replacement);
+    }
+
+    protected void replaceWrappedView(final View withReplacement) {
+        final View root = getView();
+        final View parent = getParent();
+        parent.markDamaged();
+        getViewManager().removeFromNotificationList(root);
+        for (final View view : root.getSubviews()) {
+            view.dispose();
+        }
+        wrappedView = withReplacement;
+        wrappedView.setView(root);
+        wrappedView.setParent(parent);
+        getViewManager().addToNotificationList(withReplacement);
+
+        wrappedView.invalidateContent();
+    }
+
+    @Override
+    public void secondClick(final Click click) {
+        wrappedView.secondClick(click);
+    }
+
+    @Override
+    public void setBounds(final Bounds bounds) {
+        wrappedView.setBounds(bounds);
+    }
+
+    @Override
+    public void setFocusManager(final FocusManager focusManager) {
+        wrappedView.setFocusManager(focusManager);
+    }
+
+    @Override
+    public void setLocation(final Location point) {
+        wrappedView.setLocation(point);
+    }
+
+    @Override
+    public void setParent(final View view) {
+        wrappedView.setParent(view);
+    }
+
+    @Override
+    public void setSize(final Size size) {
+        wrappedView.setSize(size);
+    }
+
+    @Override
+    public void setView(final View view) {
+        wrappedView.setView(view);
+    }
+
+    @Override
+    public View subviewFor(final Location location) {
+        return wrappedView.subviewFor(location);
+    }
+
+    @Override
+    public void thirdClick(final Click click) {
+        wrappedView.thirdClick(click);
+    }
+
+    @Override
+    public String toString() {
+        final String name = getClass().getName();
+        return name.substring(name.lastIndexOf('.') + 1) + "/" + wrappedView;
+    }
+
+    @Override
+    public void update(final ObjectAdapter object) {
+        wrappedView.update(object);
+    }
+
+    @Override
+    public void updateView() {
+        wrappedView.updateView();
+    }
+
+    @Override
+    public ViewAreaType viewAreaType(final Location mouseLocation) {
+        return wrappedView.viewAreaType(mouseLocation);
+    }
+
+    @Override
+    public void viewMenuOptions(final UserActionSet menuOptions) {
+        wrappedView.viewMenuOptions(menuOptions);
+    }
+
+    @Override
+    public void loadOptions(final Options viewOptions) {
+        wrappedView.loadOptions(viewOptions);
+    }
+
+    @Override
+    public void saveOptions(final Options viewOptions) {
+        wrappedView.saveOptions(viewOptions);
+    }
+}