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);
+ }
+}