Package org.apache.isis.viewer.dnd.view.base

Source Code of org.apache.isis.viewer.dnd.view.base.AbstractViewDecorator

/*
*  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);
    }
}
TOP

Related Classes of org.apache.isis.viewer.dnd.view.base.AbstractViewDecorator

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.