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/08 15:56:02 UTC
[48/53] [partial] ISIS-188: making structure of component viewers
consistent
http://git-wip-us.apache.org/repos/asf/isis/blob/eb613703/component/viewer/dnd/src/main/java/org/apache/isis/viewer/dnd/view/action/OptionFactory.java
----------------------------------------------------------------------
diff --git a/component/viewer/dnd/src/main/java/org/apache/isis/viewer/dnd/view/action/OptionFactory.java b/component/viewer/dnd/src/main/java/org/apache/isis/viewer/dnd/view/action/OptionFactory.java
deleted file mode 100644
index f3e5260..0000000
--- a/component/viewer/dnd/src/main/java/org/apache/isis/viewer/dnd/view/action/OptionFactory.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * 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.action;
-
-import java.util.Arrays;
-import java.util.List;
-
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.adapter.oid.Oid;
-import org.apache.isis.core.metamodel.spec.ActionType;
-import org.apache.isis.core.metamodel.spec.FreeStandingList;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.metamodel.spec.feature.ObjectAction;
-import org.apache.isis.core.metamodel.spec.feature.ObjectActionContainer.Contributed;
-import org.apache.isis.viewer.dnd.view.UserAction;
-import org.apache.isis.viewer.dnd.view.UserActionSet;
-import org.apache.isis.viewer.dnd.view.option.DisposeObjectOption;
-
-public class OptionFactory {
-
- public static void addCreateOptions(final ObjectSpecification specification, final UserActionSet options) {
- // TODO do the same as addObjectMenuOptions and collect together all the
- // actions for all the types
- final List<ObjectAction> actions = specification.getServiceActionsReturning(Arrays.asList(ActionType.USER, ActionType.EXPLORATION, ActionType.PROTOTYPE, ActionType.DEBUG));
- menuOptions(actions, null, options);
- }
-
- public static void addObjectMenuOptions(final ObjectAdapter adapter, final UserActionSet options) {
- if (adapter == null) {
- return;
- }
-
- final ObjectSpecification noSpec = adapter.getSpecification();
- menuOptions(noSpec.getObjectActions(Arrays.asList(ActionType.USER, ActionType.EXPLORATION, ActionType.PROTOTYPE, ActionType.DEBUG), Contributed.INCLUDED), adapter, options);
-
- // TODO: this looks like a bit of a hack; can we improve it by looking
- // at the facets?
- if (adapter.getObject() instanceof FreeStandingList) {
- return;
- }
- final Oid oid = adapter.getOid();
- if (oid != null && adapter.isTransient()) {
- return;
- }
- if (noSpec.isService()) {
- return;
- }
-
- options.add(new DisposeObjectOption());
- }
-
- private static void menuOptions(final List<ObjectAction> actions, final ObjectAdapter target, final UserActionSet menuOptionSet) {
- for (int i = 0; i < actions.size(); i++) {
- UserAction option = null;
- if (actions.get(i).getActions().size() > 0) {
- option = menuOptionSet.addNewActionSet(actions.get(i).getName());
- menuOptions(actions.get(i).getActions(), target, (UserActionSet) option);
-
- } else {
- final int noOfParameters = actions.get(i).getParameterCount();
- if (noOfParameters == 0) {
- option = ImmediateObjectOption.createOption(actions.get(i), target);
- } else if (actions.get(i).isContributed() && noOfParameters == 1 && target != null && target.getSpecification().isOfType(actions.get(i).getParameters().get(0).getSpecification())) {
- option = ImmediateObjectOption.createServiceOption(actions.get(i), target);
- } else {
- option = DialoggedObjectOption.createOption(actions.get(i), target);
- }
- if (option != null) {
- menuOptionSet.add(option);
- }
- }
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/eb613703/component/viewer/dnd/src/main/java/org/apache/isis/viewer/dnd/view/action/ParameterContent.java
----------------------------------------------------------------------
diff --git a/component/viewer/dnd/src/main/java/org/apache/isis/viewer/dnd/view/action/ParameterContent.java b/component/viewer/dnd/src/main/java/org/apache/isis/viewer/dnd/view/action/ParameterContent.java
deleted file mode 100644
index 11d02b0..0000000
--- a/component/viewer/dnd/src/main/java/org/apache/isis/viewer/dnd/view/action/ParameterContent.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * 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.action;
-
-import org.apache.isis.viewer.dnd.view.Content;
-
-public interface ParameterContent extends Content {
-
- String getParameterName();
-
- boolean isRequired();
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/eb613703/component/viewer/dnd/src/main/java/org/apache/isis/viewer/dnd/view/action/TextParseableParameter.java
----------------------------------------------------------------------
diff --git a/component/viewer/dnd/src/main/java/org/apache/isis/viewer/dnd/view/action/TextParseableParameter.java b/component/viewer/dnd/src/main/java/org/apache/isis/viewer/dnd/view/action/TextParseableParameter.java
deleted file mode 100644
index 3834146..0000000
--- a/component/viewer/dnd/src/main/java/org/apache/isis/viewer/dnd/view/action/TextParseableParameter.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * 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.action;
-
-import org.apache.isis.viewer.dnd.view.content.TextParseableContent;
-
-public interface TextParseableParameter extends ParameterContent, TextParseableContent {
-
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/eb613703/component/viewer/dnd/src/main/java/org/apache/isis/viewer/dnd/view/action/TextParseableParameterImpl.java
----------------------------------------------------------------------
diff --git a/component/viewer/dnd/src/main/java/org/apache/isis/viewer/dnd/view/action/TextParseableParameterImpl.java b/component/viewer/dnd/src/main/java/org/apache/isis/viewer/dnd/view/action/TextParseableParameterImpl.java
deleted file mode 100644
index 3d00069..0000000
--- a/component/viewer/dnd/src/main/java/org/apache/isis/viewer/dnd/view/action/TextParseableParameterImpl.java
+++ /dev/null
@@ -1,228 +0,0 @@
-/*
- * 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.action;
-
-import org.apache.isis.applib.profiles.Localization;
-import org.apache.isis.core.commons.debug.DebugBuilder;
-import org.apache.isis.core.commons.lang.ToString;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.adapter.util.AdapterUtils;
-import org.apache.isis.core.metamodel.consent.Allow;
-import org.apache.isis.core.metamodel.consent.Consent;
-import org.apache.isis.core.metamodel.consent.Veto;
-import org.apache.isis.core.metamodel.facets.object.parseable.InvalidEntryException;
-import org.apache.isis.core.metamodel.facets.object.parseable.ParseableFacet;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.metamodel.spec.feature.ParseableEntryActionParameter;
-import org.apache.isis.runtimes.dflt.runtime.system.context.IsisContext;
-import org.apache.isis.viewer.dnd.drawing.Image;
-import org.apache.isis.viewer.dnd.drawing.ImageFactory;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.content.AbstractTextParsableContent;
-
-public class TextParseableParameterImpl extends AbstractTextParsableContent implements TextParseableParameter {
- private ObjectAdapter object;
- private final ObjectAdapter[] options;
- private final ParseableEntryActionParameter parameter;
- private final ActionHelper invocation;
- private final int index;
-
- public TextParseableParameterImpl(final ParseableEntryActionParameter objectActionParameters, final ObjectAdapter adapter, final ObjectAdapter[] options, final int i, final ActionHelper invocation) {
- this.parameter = objectActionParameters;
- this.options = options;
- index = i;
- this.invocation = invocation;
- object = adapter;
- }
-
- @Override
- public void debugDetails(final DebugBuilder debug) {
- debug.appendln("name", parameter.getName());
- debug.appendln("required", isRequired());
- debug.appendln("object", object);
- }
-
- @Override
- public void entryComplete() {
- }
-
- @Override
- public String getIconName() {
- return "";
- }
-
- @Override
- public Image getIconPicture(final int iconHeight) {
- return ImageFactory.getInstance().loadIcon("value", 12, null);
- }
-
- @Override
- public ObjectAdapter getAdapter() {
- return object;
- }
-
- @Override
- public int getNoLines() {
- return parameter.getNoLines();
- }
-
- @Override
- public ObjectAdapter[] getOptions() {
- return options;
- }
-
- @Override
- public boolean isEmpty() {
- return object == null;
- }
-
- @Override
- public boolean isRequired() {
- return !parameter.isOptional();
- }
-
- @Override
- public Consent canClear() {
- return Allow.DEFAULT;
- }
-
- @Override
- public boolean canWrap() {
- return parameter.canWrap();
- }
-
- @Override
- public void clear() {
- object = null;
- }
-
- @Override
- public boolean isTransient() {
- return true;
- }
-
- @Override
- public boolean isTextParseable() {
- return true;
- }
-
- @Override
- public boolean isOptionEnabled() {
- return options != null && options.length > 0;
- }
-
- @Override
- public String title() {
- return AdapterUtils.titleString(object);
- }
-
- @Override
- public String toString() {
- final ToString toString = new ToString(this);
- toString.append("object", object);
- return toString.toString();
- }
-
- @Override
- public String getParameterName() {
- return parameter.getName();
- }
-
- @Override
- public ObjectSpecification getSpecification() {
- return parameter.getSpecification();
- }
-
- @Override
- public ObjectAdapter drop(final Content sourceContent) {
- return null;
- }
-
- @Override
- public Consent canDrop(final Content sourceContent) {
- return Veto.DEFAULT;
- }
-
- @Override
- public String titleString(final ObjectAdapter value) {
- return titleString(value, parameter, parameter.getSpecification());
- }
-
- /**
- * @throws InvalidEntryException
- * - turns the parameter red if invalid.
- */
- @Override
- public void parseTextEntry(final String entryText) {
- object = parse(entryText);
- Localization localization = IsisContext.getLocalization();
- final String reason = parameter.isValid(object, AdapterUtils.unwrap(object), localization);
- if (reason != null) {
- throw new InvalidEntryException(reason);
- } else if (!parameter.isOptional() && object == null) {
- throw new InvalidEntryException("Mandatory parameter cannot be empty");
- }
- invocation.setParameter(index, object);
- }
-
- private ObjectAdapter parse(final String entryText) {
- final ObjectSpecification parameterSpecification = parameter.getSpecification();
- final ParseableFacet p = parameterSpecification.getFacet(ParseableFacet.class);
- try {
- Localization localization = IsisContext.getLocalization();
- return p.parseTextEntry(object, entryText, localization);
- } catch (final IllegalArgumentException ex) {
- throw new InvalidEntryException(ex.getMessage(), ex);
- }
- }
-
- @Override
- public String getDescription() {
- final String title = object == null ? "" : ": " + object.titleString();
- final String specification = getSpecification().getShortIdentifier();
- final String type = getParameterName().indexOf(specification) == -1 ? "" : " (" + specification + ")";
- return getParameterName() + type + title + " " + parameter.getDescription();
- }
-
- @Override
- public String getHelp() {
- return null;
- }
-
- @Override
- public String getId() {
- return null;
- }
-
- @Override
- public Consent isEditable() {
- return Allow.DEFAULT;
- }
-
- @Override
- public int getMaximumLength() {
- return parameter.getMaximumLength();
- }
-
- @Override
- public int getTypicalLineLength() {
- return parameter.getTypicalLineLength();
- }
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/eb613703/component/viewer/dnd/src/main/java/org/apache/isis/viewer/dnd/view/axis/LabelAxis.java
----------------------------------------------------------------------
diff --git a/component/viewer/dnd/src/main/java/org/apache/isis/viewer/dnd/view/axis/LabelAxis.java b/component/viewer/dnd/src/main/java/org/apache/isis/viewer/dnd/view/axis/LabelAxis.java
deleted file mode 100644
index effcd5d..0000000
--- a/component/viewer/dnd/src/main/java/org/apache/isis/viewer/dnd/view/axis/LabelAxis.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * 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.axis;
-
-import org.apache.isis.core.commons.lang.ToString;
-import org.apache.isis.viewer.dnd.view.ViewAxis;
-
-public class LabelAxis implements ViewAxis {
- private int width;
-
- public LabelAxis() {
- }
-
- public void accommodateWidth(final int width) {
- this.width = Math.max(this.width, width);
- }
-
- public int getWidth() {
- return width;
- }
-
- @Override
- public String toString() {
- final ToString str = new ToString(this);
- str.append("width", width);
- return str.toString();
- }
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/eb613703/component/viewer/dnd/src/main/java/org/apache/isis/viewer/dnd/view/base/AbstractBorder.java
----------------------------------------------------------------------
diff --git a/component/viewer/dnd/src/main/java/org/apache/isis/viewer/dnd/view/base/AbstractBorder.java b/component/viewer/dnd/src/main/java/org/apache/isis/viewer/dnd/view/base/AbstractBorder.java
deleted file mode 100644
index 3dab885..0000000
--- a/component/viewer/dnd/src/main/java/org/apache/isis/viewer/dnd/view/base/AbstractBorder.java
+++ /dev/null
@@ -1,289 +0,0 @@
-/*
- * 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.viewer.dnd.drawing.Bounds;
-import org.apache.isis.viewer.dnd.drawing.Canvas;
-import org.apache.isis.viewer.dnd.drawing.Color;
-import org.apache.isis.viewer.dnd.drawing.ColorsAndFonts;
-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.Click;
-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.Toolkit;
-import org.apache.isis.viewer.dnd.view.View;
-import org.apache.isis.viewer.dnd.view.ViewAreaType;
-
-public class AbstractBorder extends AbstractViewDecorator {
- protected int bottom;
- protected int left;
- private boolean onBorder;
- protected int right;
- protected int top;
-
- protected AbstractBorder(final View view) {
- super(view);
- }
-
- protected Bounds contentArea() {
- return new Bounds(getLeft(), getTop(), getSize().getWidth() - getLeft() - getRight(), getSize().getHeight() - getTop() - getBottom());
- }
-
- @Override
- public View dragFrom(final Location location) {
- location.subtract(getLeft(), getTop());
- return super.dragFrom(location);
- }
-
- @Override
- public void dragIn(final ContentDrag drag) {
- drag.subtract(getLeft(), getTop());
- super.dragIn(drag);
- }
-
- @Override
- public void dragOut(final ContentDrag drag) {
- drag.subtract(getLeft(), getTop());
- super.dragOut(drag);
- }
-
- @Override
- public DragEvent dragStart(final DragStart drag) {
- if (overContent(drag.getLocation())) {
- drag.subtract(getLeft(), getTop());
- return super.dragStart(drag);
- } else {
- return null;
- }
- }
-
- protected void clearBackground(final Canvas canvas, final Color color) {
- final Bounds bounds = getView().getBounds();
- canvas.drawSolidRectangle(0, 0, bounds.getWidth(), bounds.getHeight(), color);
- }
-
- @Override
- public void draw(final Canvas canvas) {
- if (Toolkit.debug) {
- canvas.drawDebugOutline(new Bounds(getSize()), getBaseline(), Toolkit.getColor(ColorsAndFonts.COLOR_DEBUG_BOUNDS_BORDER));
- }
- final int width = getSize().getWidth() - getRight();
- final int height = getSize().getHeight() - getBottom();
- final Canvas subcanvas = canvas.createSubcanvas(getLeft(), getTop(), width, height);
- wrappedView.draw(subcanvas);
- }
-
- @Override
- public void drop(final ContentDrag drag) {
- drag.subtract(getLeft(), getTop());
- super.drop(drag);
- }
-
- @Override
- public void firstClick(final Click click) {
- if (overContent(click.getLocation())) {
- click.subtract(getLeft(), getTop());
- wrappedView.firstClick(click);
- }
- }
-
- @Override
- public int getBaseline() {
- return wrappedView.getBaseline() + getTop();
- }
-
- protected int getBottom() {
- return bottom;
- }
-
- protected int getLeft() {
- return left;
- }
-
- @Override
- public Padding getPadding() {
- final Padding padding = wrappedView.getPadding();
- padding.extendTop(getTop());
- padding.extendLeft(getLeft());
- padding.extendBottom(getBottom());
- padding.extendRight(getRight());
-
- return padding;
- }
-
- @Override
- public Size getRequiredSize(final Size availableSpace) {
- availableSpace.contract(getLeft() + getRight(), getTop() + getBottom());
- final Size size = wrappedView.getRequiredSize(availableSpace);
- size.extend(getLeft() + getRight(), getTop() + getBottom());
- return size;
- }
-
- protected int getRight() {
- return right;
- }
-
- @Override
- public Size getSize() {
- final Size size = wrappedView.getSize();
- size.extend(getLeft() + getRight(), getTop() + getBottom());
-
- return size;
- }
-
- protected int getTop() {
- return top;
- }
-
- @Override
- protected void debugDetails(final DebugBuilder debug) {
- super.debugDetails(debug);
- debug.appendln("border", getTop() + "/" + getBottom() + " " + getLeft() + "/" + getRight() + " (top/bottom left/right)");
- debug.appendln("contents", contentArea());
- }
-
- protected boolean overBorder(final Location location) {
- return !contentArea().contains(location);
- }
-
- protected boolean overContent(final Location location) {
- return contentArea().contains(location);
- }
-
- protected boolean isOnBorder() {
- return onBorder;
- }
-
- @Override
- public View identify(final Location location) {
- getViewManager().getSpy().addTrace(this, "mouse location within border", location);
- getViewManager().getSpy().addTrace(this, "non border area", contentArea());
-
- if (overBorder(location)) {
- getViewManager().getSpy().addTrace(this, "over border area", contentArea());
- return getView();
- } else {
- location.add(-getLeft(), -getTop());
- return super.identify(location);
- }
-
- }
-
- @Override
- public void mouseDown(final Click click) {
- if (overContent(click.getLocation())) {
- click.subtract(getLeft(), getTop());
- wrappedView.mouseDown(click);
- }
- }
-
- @Override
- public void mouseMoved(final Location at) {
- final boolean on = overBorder(at);
- if (onBorder != on) {
- markDamaged();
- onBorder = on;
- }
-
- if (!on) {
- at.move(-getLeft(), -getTop());
- wrappedView.mouseMoved(at);
- }
- }
-
- @Override
- public void mouseUp(final Click click) {
- if (overContent(click.getLocation())) {
- click.subtract(getLeft(), getTop());
- wrappedView.mouseUp(click);
- }
- }
-
- @Override
- public void exited() {
- onBorder = false;
- super.exited();
- }
-
- @Override
- public View pickupContent(final Location location) {
- location.subtract(getLeft(), getTop());
- return super.pickupContent(location);
- }
-
- @Override
- public View pickupView(final Location location) {
- if (overBorder(location)) {
- return Toolkit.getViewFactory().createDragViewOutline(getView());
- } else {
- location.subtract(getLeft(), getTop());
- return super.pickupView(location);
- }
- }
-
- @Override
- public void secondClick(final Click click) {
- if (overContent(click.getLocation())) {
- click.subtract(getLeft(), getTop());
- wrappedView.secondClick(click);
- }
- }
-
- @Override
- public void setSize(final Size size) {
- final Size wrappedViewSize = new Size(size);
- wrappedViewSize.contract(getLeft() + getRight(), getTop() + getBottom());
- wrappedView.setSize(wrappedViewSize);
- }
-
- @Override
- public void setBounds(final Bounds bounds) {
- final Bounds wrappedViewBounds = new Bounds(bounds);
- wrappedViewBounds.contract(getLeft() + getRight(), getTop() + getBottom());
- wrappedView.setBounds(wrappedViewBounds);
- }
-
- @Override
- public void thirdClick(final Click click) {
- if (overContent(click.getLocation())) {
- click.subtract(getLeft(), getTop());
- wrappedView.thirdClick(click);
- }
- }
-
- @Override
- public ViewAreaType viewAreaType(final Location mouseLocation) {
- final Size size = wrappedView.getSize();
- final Bounds bounds = new Bounds(getLeft(), getTop(), size.getWidth(), size.getHeight());
-
- if (bounds.contains(mouseLocation)) {
- mouseLocation.subtract(getLeft(), getTop());
-
- return wrappedView.viewAreaType(mouseLocation);
- } else {
- return ViewAreaType.VIEW;
- }
- }
-
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/eb613703/component/viewer/dnd/src/main/java/org/apache/isis/viewer/dnd/view/base/AbstractFieldSpecification.java
----------------------------------------------------------------------
diff --git a/component/viewer/dnd/src/main/java/org/apache/isis/viewer/dnd/view/base/AbstractFieldSpecification.java b/component/viewer/dnd/src/main/java/org/apache/isis/viewer/dnd/view/base/AbstractFieldSpecification.java
deleted file mode 100644
index 79e098f..0000000
--- a/component/viewer/dnd/src/main/java/org/apache/isis/viewer/dnd/view/base/AbstractFieldSpecification.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * 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.viewer.dnd.view.ViewRequirement;
-import org.apache.isis.viewer.dnd.view.ViewSpecification;
-
-public abstract class AbstractFieldSpecification implements ViewSpecification {
- @Override
- public boolean canDisplay(final ViewRequirement requirement) {
- return requirement.isTextParseable() && requirement.isEditable();
- }
-
- @Override
- public boolean isOpen() {
- return false;
- }
-
- @Override
- public boolean isReplaceable() {
- return true;
- }
-
- @Override
- public boolean isSubView() {
- return true;
- }
-
- @Override
- public boolean isAligned() {
- return false;
- }
-
- @Override
- public boolean isResizeable() {
- return false;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/eb613703/component/viewer/dnd/src/main/java/org/apache/isis/viewer/dnd/view/base/AbstractFocusManager.java
----------------------------------------------------------------------
diff --git a/component/viewer/dnd/src/main/java/org/apache/isis/viewer/dnd/view/base/AbstractFocusManager.java b/component/viewer/dnd/src/main/java/org/apache/isis/viewer/dnd/view/base/AbstractFocusManager.java
deleted file mode 100644
index 22f5f1f..0000000
--- a/component/viewer/dnd/src/main/java/org/apache/isis/viewer/dnd/view/base/AbstractFocusManager.java
+++ /dev/null
@@ -1,203 +0,0 @@
-/*
- * 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.ensure.Assert;
-import org.apache.isis.core.commons.lang.ToString;
-import org.apache.isis.viewer.dnd.view.FocusManager;
-import org.apache.isis.viewer.dnd.view.View;
-
-/**
- * Abstract focus manager that uses the set of views to move focus between from
- * the concrete subclass.
- *
- * @see #getChildViews()
- */
-public abstract class AbstractFocusManager implements FocusManager {
- // TODO container to go in subclass ??
- protected View container;
- protected View focus;
- private final View initialFocus;
-
- public AbstractFocusManager(final View container) {
- this(container, null);
- }
-
- public AbstractFocusManager(final View container, final View initalFocus) {
- Assert.assertNotNull(container);
- this.container = container;
- this.initialFocus = initalFocus;
- focus = initalFocus;
- }
-
- /**
- * Throws a ObjectAdapterRuntimeException if the specified view is available
- * to this focus manager.
- */
- private void checkCanFocusOn(final View view) {
- final View[] views = getChildViews();
- boolean valid = view == container.getView();
- for (int j = 0; valid == false && j < views.length; j++) {
- if (views[j] == view) {
- valid = true;
- }
- }
-
- if (!valid) {
- // throw new ObjectAdapterRuntimeException("No view " + view +
- // " to focus on in " +
- // container.getView());
- }
- }
-
- @Override
- public void focusFirstChildView() {
- final View[] views = getChildViews();
- for (final View view : views) {
- if (view.canFocus()) {
- setFocus(view);
- return;
- }
- }
- // no other focusable view; stick with the view we've got
- return;
- }
-
- @Override
- public void focusInitialChildView() {
- if (initialFocus == null) {
- focusFirstChildView();
- } else {
- setFocus(initialFocus);
- }
- }
-
- @Override
- public void focusLastChildView() {
- final View[] views = getChildViews();
- for (int j = views.length - 1; j > 0; j--) {
- if (views[j].canFocus()) {
- setFocus(views[j]);
- return;
- }
- }
- // no other focusable view; stick with the view we've got
- return;
- }
-
- @Override
- public void focusNextView() {
- final View[] views = getChildViews();
- for (int i = 0; i < views.length; i++) {
- if (testView(views, i)) {
- for (int j = i + 1; j < views.length; j++) {
- if (views[j].canFocus()) {
- setFocus(views[j]);
- return;
- }
- }
- for (int j = 0; j < i; j++) {
- if (views[j].canFocus()) {
- setFocus(views[j]);
- return;
- }
- }
- // no other focusable view; stick with the view we've got
- return;
- }
- }
-
- // throw new ObjectAdapterRuntimeException();
- }
-
- private boolean testView(final View[] views, final int i) {
- final View view = views[i];
- return view == focus;
- }
-
- @Override
- public void focusParentView() {
- container.getFocusManager().setFocus(container.getFocusManager().getFocus());
- }
-
- @Override
- public void focusPreviousView() {
- final View[] views = getChildViews();
- if (views.length > 1) {
- for (int i = 0; i < views.length; i++) {
- if (testView(views, i)) {
- for (int j = i - 1; j >= 0; j--) {
- if (views[j].canFocus()) {
- setFocus(views[j]);
- return;
- }
- }
- for (int j = views.length - 1; j > i; j--) {
- if (views[j].canFocus()) {
- setFocus(views[j]);
- return;
- }
- }
- // no other focusable view; stick with the view we've got
- return;
- }
- }
-
- // Don't move to any view
- // throw new
- // ObjectAdapterRuntimeException("Can't move to previous peer from "
- // + focus);
- }
- }
-
- protected abstract View[] getChildViews();
-
- @Override
- public View getFocus() {
- return focus;
- }
-
- @Override
- public void setFocus(final View view) {
- checkCanFocusOn(view);
-
- if (view != null && view.canFocus()) {
- if ((focus != null) && (focus != view)) {
- focus.focusLost();
- focus.markDamaged();
- }
-
- focus = view;
- focus.focusReceived();
-
- view.markDamaged();
- }
- }
-
- @Override
- public String toString() {
- final ToString str = new ToString(this);
- str.append("container", container);
- str.append("initialFocus", initialFocus);
- str.append("focus", focus);
- return str.toString();
- }
-
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/eb613703/component/viewer/dnd/src/main/java/org/apache/isis/viewer/dnd/view/base/AbstractView.java
----------------------------------------------------------------------
diff --git a/component/viewer/dnd/src/main/java/org/apache/isis/viewer/dnd/view/base/AbstractView.java b/component/viewer/dnd/src/main/java/org/apache/isis/viewer/dnd/view/base/AbstractView.java
deleted file mode 100644
index 79ae4eb..0000000
--- a/component/viewer/dnd/src/main/java/org/apache/isis/viewer/dnd/view/base/AbstractView.java
+++ /dev/null
@@ -1,987 +0,0 @@
-/*
- * 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 java.util.Enumeration;
-
-import org.apache.log4j.Logger;
-
-import org.apache.isis.core.commons.debug.DebugBuilder;
-import org.apache.isis.core.commons.exceptions.IsisException;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.consent.Consent;
-import org.apache.isis.core.metamodel.consent.ConsentAbstract;
-import org.apache.isis.core.metamodel.consent.Veto;
-import org.apache.isis.core.metamodel.facets.collections.modify.CollectionFacet;
-import org.apache.isis.core.metamodel.spec.ActionType;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-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.Color;
-import org.apache.isis.viewer.dnd.drawing.ColorsAndFonts;
-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.util.Properties;
-import org.apache.isis.viewer.dnd.util.ViewerException;
-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.ObjectContent;
-import org.apache.isis.viewer.dnd.view.Placement;
-import org.apache.isis.viewer.dnd.view.Toolkit;
-import org.apache.isis.viewer.dnd.view.UndoStack;
-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.ViewAxis;
-import org.apache.isis.viewer.dnd.view.ViewDrag;
-import org.apache.isis.viewer.dnd.view.ViewRequirement;
-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;
-import org.apache.isis.viewer.dnd.view.collection.CollectionContent;
-import org.apache.isis.viewer.dnd.view.collection.RootCollection;
-import org.apache.isis.viewer.dnd.view.content.FieldContent;
-import org.apache.isis.viewer.dnd.view.content.RootObject;
-import org.apache.isis.viewer.dnd.view.option.OpenViewOption;
-import org.apache.isis.viewer.dnd.view.option.UserActionAbstract;
-
-public abstract class AbstractView implements View {
- private static final Logger LOG = Logger.getLogger(AbstractView.class);
-
- private static int nextId = 0;
- private int id = 0;
- private View parent;
- private View viewRoot;
- private ViewSpecification specification;
- private Content content;
- private final ViewState state;
- private int x;
- private int y;
- private int height;
- private int width;
-
- protected AbstractView(final Content content) {
- this(content, null);
- }
-
- protected AbstractView(final Content content, final ViewSpecification specification) {
- if (content == null) {
- throw new IllegalArgumentException("Content not specified");
- }
- assignId();
- this.content = content;
- this.specification = specification;
- state = new ViewState();
- viewRoot = this;
- }
-
- @Override
- public void addView(final View view) {
- throw new IsisException("Can't add views to " + this);
- }
-
- protected void assignId() {
- id = nextId++;
- }
-
- @Override
- public Consent canChangeValue() {
- return Veto.DEFAULT;
- }
-
- @Override
- public boolean canFocus() {
- return true;
- }
-
- @Override
- public boolean contains(final View view) {
- final View[] subviews = getSubviews();
- for (final View subview : subviews) {
- if (subview == view || (subview != null && subview.contains(view))) {
- return true;
- }
- }
- return false;
- }
-
- @Override
- public boolean containsFocus() {
- if (hasFocus()) {
- return true;
- }
-
- final View[] subviews = getSubviews();
- for (final View subview : subviews) {
- if (subview != null && subview.containsFocus()) {
- return true;
- }
- }
- return false;
- }
-
- @Override
- public void contentMenuOptions(final UserActionSet options) {
- options.setColor(Toolkit.getColor(ColorsAndFonts.COLOR_MENU_CONTENT));
-
- final Content content = getContent();
- if (content != null) {
- content.contentMenuOptions(options);
- }
- }
-
- /**
- * Returns debug details about this view.
- */
- @Override
- public void debug(final DebugBuilder debug) {
- final String name = getClass().getName();
- debug.appendln("Root: " + name.substring(name.lastIndexOf('.') + 1) + getId());
- debug.indent();
- debug.appendln("required size", getRequiredSize(Size.createMax()));
- debug.appendln("given size", getSize());
- debug.appendln("padding", getPadding());
- debug.appendln("base line", getBaseline());
- debug.unindent();
- debug.appendln();
-
- debug.appendTitle("Specification");
- if (specification == null) {
- debug.append("\none");
- } else {
- debug.appendln(specification.getName());
- debug.appendln(" " + specification.getClass().getName());
- debug.appendln(" " + (specification.isOpen() ? "open" : "closed"));
- debug.appendln(" " + (specification.isReplaceable() ? "replaceable" : "non-replaceable"));
- debug.appendln(" " + (specification.isSubView() ? "subview" : "main view"));
- }
-
- debug.appendln();
- debug.appendTitle("View");
-
- debug.appendln("Self", getView());
- debug.appendln("Parent's size", getParent() == null ? new Size() : getParent().getSize());
- debug.appendln("Size w/in parent", getView().getRequiredSize(getParent() == null ? new Size() : getParent().getSize()));
- debug.appendln("Location w/in parent", getView().getLocation());
- debug.appendln("Changable", canChangeValue());
- debug.appendln("Focus", (canFocus() ? "focusable" : "non-focusable"));
- debug.appendln("Has focus", hasFocus());
- debug.appendln("Contains focus", containsFocus());
- debug.appendln("Focus manager", getFocusManager());
- debug.appendln("State", getState());
- debug.appendln("Axes", getViewAxes());
- appendDebug(debug);
-
- debug.appendln("Workspace", getWorkspace());
-
- View p = getParent();
- debug.appendln("Parent hierarchy:" + (p == null ? "none" : ""));
- debug.indent();
- while (p != null) {
- debug.appendln(p.toString());
- p = p.getParent();
- }
- debug.unindent();
-
- debug.appendln();
- debug.appendln();
- debug.appendln();
-
- debug.appendTitle("View structure");
- // b.appendln("Built", (buildInvalid ? "no" : "yes") + ", " + buildCount
- // + " builds");
- // b.appendln("Laid out", (layoutInvalid ? "no" : "yes") + ", " +
- // layoutCount + " layouts");
-
- debug.appendln(getSpecification().getName().toUpperCase());
- debugStructure(debug);
- }
-
- protected void appendDebug(final DebugBuilder debug) {
- }
-
- @Override
- public void debugStructure(final DebugBuilder b) {
- b.appendln("Content", getContent() == null ? "none" : getContent());
- b.appendln("Required size ", getRequiredSize(Size.createMax()));
- b.appendln("Bounds", getBounds());
- b.appendln("Baseline", getBaseline());
- b.appendln("Location", getAbsoluteLocation());
- final View views[] = getSubviews();
- b.indent();
- for (final View subview : views) {
- b.appendln();
- final ViewSpecification spec = subview.getSpecification();
- b.appendln(spec == null ? "none" : spec.getName().toUpperCase());
- b.appendln("View", subview);
- subview.debugStructure(b);
- }
- b.unindent();
- }
-
- @Override
- public void dispose() {
- final View parent = getParent();
- if (parent != null) {
- parent.removeView(getView());
- }
- }
-
- @Override
- public void drag(final InternalDrag drag) {
- }
-
- @Override
- public void drag(final ContentDrag contentDrag) {
- }
-
- @Override
- public void drag(final ViewDrag drag) {
- getViewManager().getSpy().addTrace(this, "view drag", drag);
- }
-
- @Override
- public void dragCancel(final InternalDrag drag) {
- getFeedbackManager().showDefaultCursor();
- }
-
- @Override
- public View dragFrom(final Location location) {
- final View subview = subviewFor(location);
- if (subview != null) {
- location.subtract(subview.getLocation());
- return subview.dragFrom(location);
- } else {
- return null;
- }
- }
-
- @Override
- public void dragIn(final ContentDrag drag) {
- }
-
- @Override
- public void dragOut(final ContentDrag drag) {
- }
-
- @Override
- public DragEvent dragStart(final DragStart drag) {
- final View subview = subviewFor(drag.getLocation());
- if (subview != null) {
- drag.subtract(subview.getLocation());
- return subview.dragStart(drag);
- } else {
- return null;
- }
- }
-
- @Override
- public void dragTo(final InternalDrag drag) {
- }
-
- /**
- * Clears the background of this view to the given color (call from the
- * {@link #draw(Canvas)} method.
- */
- protected void clearBackground(final Canvas canvas, final Color color) {
- final Bounds bounds = getBounds();
- canvas.drawSolidRectangle(0, 0, bounds.getWidth(), bounds.getHeight(), color);
- }
-
- @Override
- public void draw(final Canvas canvas) {
- if (Toolkit.debug) {
- canvas.drawDebugOutline(new Bounds(getSize()), getBaseline(), Toolkit.getColor(ColorsAndFonts.COLOR_DEBUG_BOUNDS_VIEW));
- }
- }
-
- @Override
- public void drop(final ContentDrag drag) {
- }
-
- /**
- * No default behaviour, views can only be dropped on workspace
- */
- @Override
- public void drop(final ViewDrag drag) {
- getParent().drop(drag);
- }
-
- @Override
- public void editComplete(final boolean moveFocus, final boolean toNextField) {
- }
-
- @Override
- public void entered() {
- final Content cont = getContent();
- if (cont != null) {
- final String description = cont.getDescription();
- if (description != null && !"".equals(description)) {
- getFeedbackManager().setViewDetail(description);
- }
- }
- }
-
- @Override
- public void exited() {
- }
-
- @Override
- public void firstClick(final Click click) {
- final View subview = subviewFor(click.getLocation());
- if (subview != null) {
- click.subtract(subview.getLocation());
- subview.firstClick(click);
- }
- }
-
- @Override
- public void focusLost() {
- }
-
- @Override
- public void focusReceived() {
- }
-
- @Override
- public Location getAbsoluteLocation() {
- final View parent = getParent();
- if (parent == null) {
- return getLocation();
- } else {
- final Location location = parent.getAbsoluteLocation();
- getViewManager().getSpy().addTrace(this, "parent location", location);
- location.add(x, y);
- getViewManager().getSpy().addTrace(this, "plus view's location", location);
- final Padding pad = parent.getPadding();
- location.add(pad.getLeft(), pad.getTop());
- getViewManager().getSpy().addTrace(this, "plus view's padding", location);
- return location;
- }
- }
-
- @Override
- public int getBaseline() {
- return 0;
- }
-
- @Override
- public Bounds getBounds() {
- return new Bounds(x, y, width, height);
- }
-
- @Override
- public Content getContent() {
- return content;
- }
-
- @Override
- public FocusManager getFocusManager() {
- return getParent() == null ? null : getParent().getFocusManager();
- }
-
- @Override
- public int getId() {
- return id;
- }
-
- @Override
- public Location getLocation() {
- return new Location(x, y);
- }
-
- @Override
- public Padding getPadding() {
- return new Padding(0, 0, 0, 0);
- }
-
- @Override
- public final View getParent() {
- // Assert.assertEquals(parent == null ? null : parent.getView(),
- // parent);
- // return parent;
-
- return parent == null ? null : parent.getView();
- }
-
- @Override
- public Size getRequiredSize(final Size maximumSize) {
- return new Size(maximumSize);
- }
-
- @Override
- public Size getSize() {
- return new Size(width, height);
- }
-
- @Override
- public ViewSpecification getSpecification() {
- if (specification == null) {
- specification = new NonBuildingSpecification(this);
- }
- return specification;
- }
-
- @Override
- public ViewState getState() {
- return state;
- }
-
- @Override
- public View[] getSubviews() {
- return new View[0];
- }
-
- @Override
- public final View getView() {
- return viewRoot;
- }
-
- @Override
- public Axes getViewAxes() {
- return new Axes();
- }
-
- @Override
- public Viewer getViewManager() {
- return Toolkit.getViewer();
- }
-
- @Override
- public Feedback getFeedbackManager() {
- return Toolkit.getFeedbackManager();
- }
-
- @Override
- public Workspace getWorkspace() {
- return getParent() == null ? null : getParent().getWorkspace();
- }
-
- @Override
- public boolean hasFocus() {
- return getViewManager().hasFocus(getView());
- }
-
- @Override
- public View identify(final Location location) {
- final View subview = subviewFor(location);
- if (subview == null) {
- getViewManager().getSpy().addTrace(this, "mouse location within node view", location);
- getViewManager().getSpy().addTrace("----");
- return getView();
- } else {
- location.subtract(subview.getLocation());
- return subview.identify(location);
- }
- }
-
- @Override
- public void invalidateContent() {
- }
-
- @Override
- public void invalidateLayout() {
- final View parent = getParent();
- if (parent != null) {
- parent.invalidateLayout();
- }
- }
-
- @Override
- public void keyPressed(final KeyboardAction key) {
- }
-
- @Override
- public void keyReleased(final KeyboardAction action) {
- }
-
- @Override
- public void keyTyped(final KeyboardAction action) {
- }
-
- @Override
- public void layout() {
- }
-
- /**
- * Limits the bounds of the this view (when being moved or dropped) so it
- * never extends outside the specified bounds e.g. outside of a parent view
- */
- public void limitBoundsWithin(final Bounds containerBounds) {
- final Bounds contentBounds = getView().getBounds();
- if (containerBounds.limitBounds(contentBounds)) {
- getView().setBounds(contentBounds);
- }
- }
-
- @Override
- public void limitBoundsWithin(final Size size) {
- final int w = getView().getSize().getWidth();
- final int h = getView().getSize().getHeight();
-
- int x = getView().getLocation().getX();
- int y = getView().getLocation().getY();
-
- if (x + w > size.getWidth()) {
- x = size.getWidth() - w;
- }
- if (x < 0) {
- x = 0;
- }
-
- if (y + h > size.getHeight()) {
- y = size.getHeight() - h;
- }
- if (y < 0) {
- y = 0;
- }
-
- getView().setLocation(new Location(x, y));
- }
-
- @Override
- public void markDamaged() {
- markDamaged(getView().getBounds());
- }
-
- @Override
- public void markDamaged(final Bounds bounds) {
- final View parent = getParent();
- if (parent == null) {
- getViewManager().markDamaged(bounds);
- } else {
- final Location pos = parent.getLocation();
- bounds.translate(pos.getX(), pos.getY());
- final Padding pad = parent.getPadding();
- bounds.translate(pad.getLeft(), pad.getTop());
- parent.markDamaged(bounds);
- }
- }
-
- @Override
- public void mouseDown(final Click click) {
- final View subview = subviewFor(click.getLocation());
- if (subview != null) {
- click.subtract(subview.getLocation());
- subview.mouseDown(click);
- }
- }
-
- @Override
- public void mouseMoved(final Location location) {
- final View subview = subviewFor(location);
- if (subview != null) {
- location.subtract(subview.getLocation());
- subview.mouseMoved(location);
- }
- }
-
- @Override
- public void mouseUp(final Click click) {
- final View subview = subviewFor(click.getLocation());
- if (subview != null) {
- click.subtract(subview.getLocation());
- subview.mouseUp(click);
- }
- }
-
- @Override
- public void objectActionResult(final ObjectAdapter result, final Placement placement) {
- if (result != null) {
- final CollectionFacet facet = result.getSpecification().getFacet(CollectionFacet.class);
- ObjectAdapter objectToDisplay = result;
- if (facet != null) {
- if (facet.size(result) == 1) {
- objectToDisplay = facet.firstElement(result);
- }
- }
- getWorkspace().addWindowFor(objectToDisplay, placement);
- }
- }
-
- @Override
- public View pickupContent(final Location location) {
- final View subview = subviewFor(location);
- if (subview != null) {
- location.subtract(subview.getLocation());
- return subview.pickupView(location);
- } else {
- return Toolkit.getViewFactory().createDragViewOutline(getView());
- }
- }
-
- @Override
- public View pickupView(final Location location) {
- final View subview = subviewFor(location);
- if (subview != null) {
- location.subtract(subview.getLocation());
- return subview.pickupView(location);
- } else {
- return null;
- }
- }
-
- /**
- * Delegates all printing the the draw method.
- *
- * @see #draw(Canvas)
- */
- @Override
- public void print(final Canvas canvas) {
- draw(canvas);
- }
-
- @Override
- public void refresh() {
- }
-
- @Override
- public void removeView(final View view) {
- throw new IsisException();
- }
-
- @Override
- public void replaceView(final View toReplace, final View replacement) {
- throw new IsisException();
- }
-
- @Override
- public void secondClick(final Click click) {
- final View subview = subviewFor(click.getLocation());
- if (subview != null) {
- click.subtract(subview.getLocation());
- subview.secondClick(click);
- }
- }
-
- /**
- * Sets the location and size view the {@link #setLocation(Location)) and
- * {@link #setSize(Size)) methods.
- */
- @Override
- public void setBounds(final Bounds bounds) {
- setLocation(bounds.getLocation());
- setSize(bounds.getSize());
- }
-
- @Override
- public void setFocusManager(final FocusManager focusManager) {
- }
-
- protected void setContent(final Content content) {
- this.content = content;
- }
-
- @Override
- public void setLocation(final Location location) {
- x = location.getX();
- y = location.getY();
- }
-
- @Override
- public final void setParent(final View parentView) {
- LOG.debug("set parent " + parentView + " for " + this);
- parent = parentView.getView();
- }
-
- public void setMaximumSize(final Size size) {
- }
-
- @Override
- public void setSize(final Size size) {
- width = size.getWidth();
- height = size.getHeight();
- }
-
- protected void setSpecification(final ViewSpecification specification) {
- this.specification = specification;
- }
-
- @Override
- public final void setView(final View view) {
- this.viewRoot = view;
- }
-
- @Deprecated
- protected void setViewAxis(final ViewAxis viewAxis) {
- // this.viewAxis = viewAxis;
- }
-
- @Override
- public View subviewFor(final Location location) {
- return null;
- }
-
- @Override
- public void thirdClick(final Click click) {
- final View subview = subviewFor(click.getLocation());
- if (subview != null) {
- click.subtract(subview.getLocation());
- subview.thirdClick(click);
- }
- }
-
- @Override
- public String toString() {
- final String name = getClass().getName();
- return name.substring(name.lastIndexOf('.') + 1) + getId() + ":" + getState() + ":" + getContent();
- }
-
- @Override
- public void update(final ObjectAdapter object) {
- }
-
- @Override
- public void updateView() {
- }
-
- @Override
- public ViewAreaType viewAreaType(final Location location) {
- final View subview = subviewFor(location);
- if (subview != null) {
- location.subtract(subview.getLocation());
- return subview.viewAreaType(location);
- } else {
- return ViewAreaType.CONTENT;
- }
- }
-
- @Override
- public void viewMenuOptions(final UserActionSet options) {
- options.setColor(Toolkit.getColor(ColorsAndFonts.COLOR_MENU_VIEW));
-
- final Content content = getContent();
- addContentMenuItems(options, content);
- addNewViewMenuItems(options, content);
-
- // TODO ask the viewer for the print option - provided by the underlying
- // system
- // options.add(new PrintOption());
-
- addViewDebugMenuItems(options);
-
- final UndoStack undoStack = getViewManager().getUndoStack();
- if (!undoStack.isEmpty()) {
- options.add(new UserActionAbstract("Undo " + undoStack.getNameOfUndo()) {
-
- @Override
- public Consent disabled(final View component) {
- return new ConsentAbstract("", undoStack.descriptionOfUndo()) {
- private static final long serialVersionUID = 1L;
- };
- }
-
- @Override
- public void execute(final Workspace workspace, final View view, final Location at) {
- undoStack.undoLastCommand();
- }
- });
- }
- }
-
- private void addViewDebugMenuItems(final UserActionSet options) {
- options.add(new UserActionAbstract("Refresh view", ActionType.DEBUG) {
- @Override
- public void execute(final Workspace workspace, final View view, final Location at) {
- refresh();
- }
- });
-
- options.add(new UserActionAbstract("Invalidate content", ActionType.DEBUG) {
- @Override
- public void execute(final Workspace workspace, final View view, final Location at) {
- invalidateContent();
- }
- });
-
- options.add(new UserActionAbstract("Invalidate layout", ActionType.DEBUG) {
- @Override
- public void execute(final Workspace workspace, final View view, final Location at) {
- invalidateLayout();
- }
- });
- }
-
- private void addNewViewMenuItems(final UserActionSet options, final Content content) {
- if (getContent() instanceof ObjectContent) {
- options.add(new UserActionAbstract("Use as default view for objects", ActionType.USER) {
- @Override
- public void execute(final Workspace workspace, final View view, final Location at) {
- Properties.setStringOption("view.object-default", getSpecification().getName());
- /*
- * Options viewOptions =
- * Properties.getViewConfigurationOptions
- * (getSpecification()); getView().saveOptions(viewOptions);
- */
- }
- });
- }
- if (getContent() instanceof CollectionContent) {
- options.add(new UserActionAbstract("Use as default view for collection", ActionType.USER) {
- @Override
- public void execute(final Workspace workspace, final View view, final Location at) {
- Properties.setStringOption("view.collection-default", getSpecification().getName());
- /*
- * Options viewOptions =
- * Properties.getViewConfigurationOptions
- * (getSpecification()); getView().saveOptions(viewOptions);
- */
- }
- });
- }
- if (getContent() instanceof ObjectContent && !getSpecification().isOpen()) {
- options.add(new UserActionAbstract("Use as default view for icon", ActionType.USER) {
- @Override
- public void execute(final Workspace workspace, final View view, final Location at) {
- Properties.setStringOption("view.icon-default", getSpecification().getName());
- /*
- * Options viewOptions =
- * Properties.getViewConfigurationOptions
- * (getSpecification()); getView().saveOptions(viewOptions);
- */
- }
- });
- }
-
- if (getContent() instanceof RootObject || getContent() instanceof RootCollection) {
- options.add(new UserActionAbstract("Use as default view for " + getContent().getSpecification().getSingularName(), ActionType.USER) {
- @Override
- public void execute(final Workspace workspace, final View view, final Location at) {
- final Options viewOptions = Properties.getViewConfigurationOptions(getSpecification());
- getView().saveOptions(viewOptions);
-
- // Options viewOptions =
- final ObjectSpecification specification = content.getSpecification();
- final Options settingsOptions = Properties.getDefaultViewOptions(specification);
- settingsOptions.addOption("spec", getSpecification().getName());
- }
- });
- }
- /*
- * options.add(new UserActionAbstract("Create new specification",
- * UserAction.USER) { // TODO probably needs to be a replace with new
- * view specification public void execute(final Workspace workspace,
- * final View view, final Location at) { UserViewSpecification newSpec =
- * new UserViewSpecification(getView()); Options viewOptions =
- * Properties.getViewConfigurationOptions(newSpec);
- * getView().saveOptions(viewOptions);
- *
- * viewOptions = Properties.getUserViewSpecificationOptions(newSpec);
- * viewOptions.addOption("wrapped-specification",
- * getSpecification().getClass().getName());
- *
- * Toolkit.getViewFactory().addSpecification(newSpec); } });
- */
- options.add(new UserActionAbstract("Save specification", ActionType.USER) {
- @Override
- public void execute(final Workspace workspace, final View view, final Location at) {
- final Options viewOptions = Properties.getViewConfigurationOptions(getSpecification());
- getView().saveOptions(viewOptions);
-
- Toolkit.getViewFactory().addSpecification(getSpecification());
- }
- });
- createOpenAsSubmenu(options, content);
-
- createCreateViewSubmenu(options, content);
- }
-
- private void createOpenAsSubmenu(final UserActionSet options, final Content content) {
- final ViewRequirement requirements = new ViewRequirement(content, ViewRequirement.OPEN | ViewRequirement.EXPANDABLE);
- final Enumeration possibleViews = Toolkit.getViewFactory().availableViews(requirements);
- if (possibleViews.hasMoreElements()) {
- final UserActionSet submenu = options.addNewActionSet("Open as");
- while (possibleViews.hasMoreElements()) {
- final ViewSpecification specification = (ViewSpecification) possibleViews.nextElement();
- final UserActionAbstract viewAs = new OpenViewOption(specification);
- submenu.add(viewAs);
- }
- }
- }
-
- private void createCreateViewSubmenu(final UserActionSet options, final Content content) {
- final ViewRequirement requirements = new ViewRequirement(content, ViewRequirement.OPEN);
- final Enumeration possibleViews = Toolkit.getViewFactory().availableDesigns(requirements);
- if (possibleViews.hasMoreElements()) {
- final UserActionSet submenu = options.addNewActionSet("Create view from");
- while (possibleViews.hasMoreElements()) {
- final ViewSpecification specification = (ViewSpecification) possibleViews.nextElement();
- final UserActionAbstract viewAs = new UserActionAbstract(specification.getName(), ActionType.USER) {
- @Override
- public void execute(final Workspace workspace, final View view, final Location at) {
- ViewSpecification newSpec;
- try {
- newSpec = specification.getClass().newInstance();
- } catch (final InstantiationException e) {
- throw new ViewerException(e);
- } catch (final IllegalAccessException e) {
- throw new ViewerException(e);
- }
-
- Content content = view.getContent();
- if (!(content instanceof FieldContent)) {
- content = Toolkit.getContentFactory().createRootContent(content.getAdapter());
- }
- final View newView = newSpec.createView(content, view.getViewAxes(), -1);
- LOG.debug("open view " + newView);
- workspace.addWindow(newView, new Placement(view));
- workspace.markDamaged();
-
- Options viewOptions = Properties.getViewConfigurationOptions(newSpec);
- newView.saveOptions(viewOptions);
- viewOptions = Properties.getUserViewSpecificationOptions(newSpec.getName());
- viewOptions.addOption("design", specification.getClass().getName());
-
- Toolkit.getViewFactory().addSpecification(newSpec);
- }
- };
-
- submenu.add(viewAs);
- }
- }
- }
-
- private void addContentMenuItems(final UserActionSet options, final Content content) {
- if (content != null) {
- content.viewMenuOptions(options);
- }
- }
-
- @Override
- public void loadOptions(final Options viewOptions) {
- }
-
- @Override
- public void saveOptions(final Options viewOptions) {
- // viewOptions.addOption("spec",
- // getSpecification().getClass().getName());
- }
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/eb613703/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
deleted file mode 100644
index 00a5670..0000000
--- a/component/viewer/dnd/src/main/java/org/apache/isis/viewer/dnd/view/base/AbstractViewDecorator.java
+++ /dev/null
@@ -1,505 +0,0 @@
-/*
- * 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);
- }
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/eb613703/component/viewer/dnd/src/main/java/org/apache/isis/viewer/dnd/view/base/AwtImage.java
----------------------------------------------------------------------
diff --git a/component/viewer/dnd/src/main/java/org/apache/isis/viewer/dnd/view/base/AwtImage.java b/component/viewer/dnd/src/main/java/org/apache/isis/viewer/dnd/view/base/AwtImage.java
deleted file mode 100644
index c37a1a2..0000000
--- a/component/viewer/dnd/src/main/java/org/apache/isis/viewer/dnd/view/base/AwtImage.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * 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.viewer.dnd.drawing.Image;
-import org.apache.isis.viewer.dnd.drawing.Size;
-
-public class AwtImage implements Image {
- java.awt.Image iconImage;
-
- public AwtImage(final java.awt.Image iconImage) {
- if (iconImage == null) {
- throw new NullPointerException();
- }
-
- this.iconImage = iconImage;
- }
-
- @Override
- public int getHeight() {
- return iconImage.getHeight(null);
- }
-
- @Override
- public int getWidth() {
- return iconImage.getWidth(null);
- }
-
- @Override
- public Size getSize() {
- return new Size(getWidth(), getHeight());
- }
-
- public java.awt.Image getAwtImage() {
- return iconImage;
- }
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/eb613703/component/viewer/dnd/src/main/java/org/apache/isis/viewer/dnd/view/base/BlankView.java
----------------------------------------------------------------------
diff --git a/component/viewer/dnd/src/main/java/org/apache/isis/viewer/dnd/view/base/BlankView.java b/component/viewer/dnd/src/main/java/org/apache/isis/viewer/dnd/view/base/BlankView.java
deleted file mode 100644
index f54cc12..0000000
--- a/component/viewer/dnd/src/main/java/org/apache/isis/viewer/dnd/view/base/BlankView.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * 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.viewer.dnd.drawing.Size;
-import org.apache.isis.viewer.dnd.view.Content;
-import org.apache.isis.viewer.dnd.view.content.NullContent;
-
-public class BlankView extends AbstractView {
- private final Size size;
-
- public BlankView() {
- this(new NullContent());
- }
-
- public BlankView(final Content content) {
- super(content);
- size = new Size(100, 50);
- }
-
- public BlankView(final Content content, final Size size) {
- super(content);
- this.size = size;
- }
-
- @Override
- public Size getRequiredSize(final Size availableSpace) {
- final Size requiredSize = new Size(size);
- requiredSize.limitSize(availableSpace);
- return requiredSize;
- }
-}