Search in sources :

Example 11 with Image

use of org.apache.pivot.wtk.media.Image in project pivot by apache.

the class ImageViewSkin method install.

@Override
public void install(Component component) {
    super.install(component);
    ImageView imageView = (ImageView) component;
    imageView.getImageViewListeners().add(this);
    Image image = imageView.getImage();
    if (image != null) {
        image.getImageListeners().add(imageListener);
    }
}
Also used : ImageView(org.apache.pivot.wtk.ImageView) Image(org.apache.pivot.wtk.media.Image)

Example 12 with Image

use of org.apache.pivot.wtk.media.Image in project pivot by apache.

the class TextPaneSkinImageNodeView method imageChanged.

@Override
public void imageChanged(ImageNode imageNode, Image previousImage) {
    invalidateUpTree();
    Image image = imageNode.getImage();
    if (image != null) {
        image.getImageListeners().add(this);
    }
    if (previousImage != null) {
        previousImage.getImageListeners().remove(this);
    }
}
Also used : Image(org.apache.pivot.wtk.media.Image)

Example 13 with Image

use of org.apache.pivot.wtk.media.Image in project pivot by apache.

the class TextPaneSkinImageNodeView method getPreferredSize.

@Override
public Dimensions getPreferredSize(int breakWidth) {
    ImageNode imageNode = (ImageNode) getNode();
    Image image = imageNode.getImage();
    if (image == null) {
        return Dimensions.ZERO;
    }
    return image.getSize();
}
Also used : ImageNode(org.apache.pivot.wtk.text.ImageNode) Image(org.apache.pivot.wtk.media.Image)

Example 14 with Image

use of org.apache.pivot.wtk.media.Image in project pivot by apache.

the class DragAndDropDemo method initialize.

@Override
public void initialize(Map<String, Object> namespace, URL location, Resources resources) {
    // Text
    label.setDragSource(new DragSource() {

        private LocalManifest content = null;

        @Override
        public boolean beginDrag(Component component, int x, int y) {
            String text = label.getText();
            if (text != null) {
                content = new LocalManifest();
                content.putText(label.getText());
            }
            return (content != null);
        }

        @Override
        public void endDrag(Component component, DropAction dropAction) {
            content = null;
        }

        @Override
        public boolean isNative() {
            return true;
        }

        @Override
        public LocalManifest getContent() {
            return content;
        }

        @Override
        public Visual getRepresentation() {
            return null;
        }

        @Override
        public Point getOffset() {
            return null;
        }

        @Override
        public int getSupportedDropActions() {
            return DropAction.COPY.getMask();
        }
    });
    label.setDropTarget(new DropTarget() {

        @Override
        public DropAction dragEnter(Component component, Manifest dragContent, int supportedDropActions, DropAction userDropAction) {
            DropAction dropAction = null;
            if (dragContent.containsText() && DropAction.COPY.isSelected(supportedDropActions)) {
                dropAction = DropAction.COPY;
            }
            return dropAction;
        }

        @Override
        public void dragExit(Component component) {
        // empty block
        }

        @Override
        public DropAction dragMove(Component component, Manifest dragContent, int supportedDropActions, int x, int y, DropAction userDropAction) {
            return (dragContent.containsText() ? DropAction.COPY : null);
        }

        @Override
        public DropAction userDropActionChange(Component component, Manifest dragContent, int supportedDropActions, int x, int y, DropAction userDropAction) {
            return (dragContent.containsText() ? DropAction.COPY : null);
        }

        @Override
        public DropAction drop(Component component, Manifest dragContent, int supportedDropActions, int x, int y, DropAction userDropAction) {
            DropAction dropAction = null;
            if (dragContent.containsText()) {
                try {
                    label.setText(dragContent.getText());
                    dropAction = DropAction.COPY;
                } catch (IOException exception) {
                    System.err.println(exception);
                }
            }
            dragExit(component);
            return dropAction;
        }
    });
    copyTextButton.getButtonPressListeners().add(new ButtonPressListener() {

        @Override
        public void buttonPressed(Button button) {
            String text = label.getText();
            LocalManifest clipboardContent = new LocalManifest();
            clipboardContent.putText(text);
            Clipboard.setContent(clipboardContent);
        }
    });
    pasteTextButton.getButtonPressListeners().add(new ButtonPressListener() {

        @Override
        public void buttonPressed(Button button) {
            Manifest clipboardContent = Clipboard.getContent();
            if (clipboardContent != null && clipboardContent.containsText()) {
                try {
                    label.setText(clipboardContent.getText());
                } catch (IOException exception) {
                    System.err.println(exception);
                }
            }
        }
    });
    // Images
    imageView.setDragSource(new DragSource() {

        private LocalManifest content = null;

        @Override
        public boolean beginDrag(Component component, int x, int y) {
            Image image = imageView.getImage();
            if (image != null) {
                content = new LocalManifest();
                content.putImage(image);
            }
            return (content != null);
        }

        @Override
        public void endDrag(Component component, DropAction dropAction) {
            content = null;
        }

        @Override
        public boolean isNative() {
            return true;
        }

        @Override
        public LocalManifest getContent() {
            return content;
        }

        @Override
        public Visual getRepresentation() {
            return null;
        }

        @Override
        public Point getOffset() {
            return null;
        }

        @Override
        public int getSupportedDropActions() {
            return DropAction.COPY.getMask();
        }
    });
    imageView.setDropTarget(new DropTarget() {

        @Override
        public DropAction dragEnter(Component component, Manifest dragContent, int supportedDropActions, DropAction userDropAction) {
            DropAction dropAction = null;
            if (dragContent.containsImage() && DropAction.COPY.isSelected(supportedDropActions)) {
                dropAction = DropAction.COPY;
            }
            return dropAction;
        }

        @Override
        public void dragExit(Component component) {
        // empty block
        }

        @Override
        public DropAction dragMove(Component component, Manifest dragContent, int supportedDropActions, int x, int y, DropAction userDropAction) {
            return (dragContent.containsImage() ? DropAction.COPY : null);
        }

        @Override
        public DropAction userDropActionChange(Component component, Manifest dragContent, int supportedDropActions, int x, int y, DropAction userDropAction) {
            return (dragContent.containsImage() ? DropAction.COPY : null);
        }

        @Override
        public DropAction drop(Component component, Manifest dragContent, int supportedDropActions, int x, int y, DropAction userDropAction) {
            DropAction dropAction = null;
            if (dragContent.containsImage()) {
                try {
                    imageView.setImage(dragContent.getImage());
                    dropAction = DropAction.COPY;
                } catch (IOException exception) {
                    System.err.println(exception);
                }
            }
            dragExit(component);
            return dropAction;
        }
    });
    copyImageButton.getButtonPressListeners().add(new ButtonPressListener() {

        @Override
        public void buttonPressed(Button button) {
            Image image = imageView.getImage();
            if (image != null) {
                LocalManifest clipboardContent = new LocalManifest();
                clipboardContent.putImage(image);
                Clipboard.setContent(clipboardContent);
            }
        }
    });
    pasteImageButton.getButtonPressListeners().add(new ButtonPressListener() {

        @Override
        public void buttonPressed(Button button) {
            Manifest clipboardContent = Clipboard.getContent();
            if (clipboardContent != null && clipboardContent.containsImage()) {
                try {
                    imageView.setImage(clipboardContent.getImage());
                } catch (IOException exception) {
                    System.err.println(exception);
                }
            }
        }
    });
    // Files
    listView.setListData(new FileList());
    listView.setDragSource(new DragSource() {

        private LocalManifest content = null;

        @Override
        public boolean beginDrag(Component component, int x, int y) {
            ListView listViewLocal = (ListView) component;
            FileList fileList = (FileList) listViewLocal.getListData();
            if (fileList.getLength() > 0) {
                content = new LocalManifest();
                content.putFileList(fileList);
            }
            return (content != null);
        }

        @Override
        public void endDrag(Component component, DropAction dropAction) {
            content = null;
        }

        @Override
        public boolean isNative() {
            return true;
        }

        @Override
        public LocalManifest getContent() {
            return content;
        }

        @Override
        public Visual getRepresentation() {
            return null;
        }

        @Override
        public Point getOffset() {
            return null;
        }

        @Override
        public int getSupportedDropActions() {
            return DropAction.COPY.getMask();
        }
    });
    listView.setDropTarget(new DropTarget() {

        @Override
        public DropAction dragEnter(Component component, Manifest dragContent, int supportedDropActions, DropAction userDropAction) {
            DropAction dropAction = null;
            if (dragContent.containsFileList() && DropAction.COPY.isSelected(supportedDropActions)) {
                dropAction = DropAction.COPY;
            }
            return dropAction;
        }

        @Override
        public void dragExit(Component component) {
        // empty block
        }

        @Override
        public DropAction dragMove(Component component, Manifest dragContent, int supportedDropActions, int x, int y, DropAction userDropAction) {
            return (dragContent.containsFileList() ? DropAction.COPY : null);
        }

        @Override
        public DropAction userDropActionChange(Component component, Manifest dragContent, int supportedDropActions, int x, int y, DropAction userDropAction) {
            return (dragContent.containsFileList() ? DropAction.COPY : null);
        }

        @Override
        public DropAction drop(Component component, Manifest dragContent, int supportedDropActions, int x, int y, DropAction userDropAction) {
            DropAction dropAction = null;
            if (dragContent.containsFileList()) {
                try {
                    listView.setListData(dragContent.getFileList());
                    dropAction = DropAction.COPY;
                } catch (IOException exception) {
                    System.err.println(exception);
                }
            }
            dragExit(component);
            return dropAction;
        }
    });
    copyFilesButton.getButtonPressListeners().add(new ButtonPressListener() {

        @Override
        public void buttonPressed(Button button) {
        // TODO
        }
    });
    pasteFilesButton.getButtonPressListeners().add(new ButtonPressListener() {

        @Override
        public void buttonPressed(Button button) {
        // TODO
        }
    });
}
Also used : FileList(org.apache.pivot.io.FileList) DropAction(org.apache.pivot.wtk.DropAction) DragSource(org.apache.pivot.wtk.DragSource) Point(org.apache.pivot.wtk.Point) IOException(java.io.IOException) LocalManifest(org.apache.pivot.wtk.LocalManifest) Manifest(org.apache.pivot.wtk.Manifest) Image(org.apache.pivot.wtk.media.Image) LocalManifest(org.apache.pivot.wtk.LocalManifest) Point(org.apache.pivot.wtk.Point) ButtonPressListener(org.apache.pivot.wtk.ButtonPressListener) ListView(org.apache.pivot.wtk.ListView) PushButton(org.apache.pivot.wtk.PushButton) Button(org.apache.pivot.wtk.Button) DropTarget(org.apache.pivot.wtk.DropTarget) Component(org.apache.pivot.wtk.Component) Visual(org.apache.pivot.wtk.Visual)

Example 15 with Image

use of org.apache.pivot.wtk.media.Image in project pivot by apache.

the class DragDropTest method startup.

@Override
public void startup(Display display, Map<String, String> properties) throws Exception {
    frame1.setTitle("Frame 1");
    frame1.setPreferredSize(160, 120);
    frame1.getStyles().put(Style.resizable, false);
    DragSource imageDragSource = new DragSource() {

        private Image image = null;

        private Point offset = null;

        private LocalManifest content = null;

        @Override
        public boolean beginDrag(Component component, int x, int y) {
            ImageView imageView = (ImageView) component;
            image = imageView.getImage();
            if (image != null) {
                imageView.setImage((Image) null);
                content = new LocalManifest();
                content.putImage(image);
                offset = new Point(x - (imageView.getWidth() - image.getWidth()) / 2, y - (imageView.getHeight() - image.getHeight()) / 2);
            }
            return (image != null);
        }

        @Override
        public void endDrag(Component component, DropAction dropAction) {
            if (dropAction == null) {
                ImageView imageView = (ImageView) component;
                imageView.setImage(image);
            }
            image = null;
            offset = null;
            content = null;
        }

        @Override
        public boolean isNative() {
            return false;
        }

        @Override
        public LocalManifest getContent() {
            return content;
        }

        @Override
        public Visual getRepresentation() {
            return image;
        }

        @Override
        public Point getOffset() {
            return offset;
        }

        @Override
        public int getSupportedDropActions() {
            return DropAction.MOVE.getMask();
        }
    };
    DropTarget imageDropTarget = new DropTarget() {

        @Override
        public DropAction dragEnter(Component component, Manifest dragContent, int supportedDropActions, DropAction userDropAction) {
            DropAction dropAction = null;
            ImageView imageView = (ImageView) component;
            if (imageView.getImage() == null && dragContent.containsImage() && DropAction.MOVE.isSelected(supportedDropActions)) {
                dropAction = DropAction.MOVE;
                component.getStyles().put(Style.backgroundColor, IMAGE_VIEW_DROP_HIGHLIGHT_COLOR);
            }
            return dropAction;
        }

        @Override
        public void dragExit(Component component) {
            component.getStyles().put(Style.backgroundColor, IMAGE_VIEW_BACKGROUND_COLOR);
        }

        @Override
        public DropAction dragMove(Component component, Manifest dragContent, int supportedDropActions, int x, int y, DropAction userDropAction) {
            return (dragContent.containsImage() ? DropAction.MOVE : null);
        }

        @Override
        public DropAction userDropActionChange(Component component, Manifest dragContent, int supportedDropActions, int x, int y, DropAction userDropAction) {
            return (dragContent.containsImage() ? DropAction.MOVE : null);
        }

        @Override
        public DropAction drop(Component component, Manifest dragContent, int supportedDropActions, int x, int y, DropAction userDropAction) {
            DropAction dropAction = null;
            if (dragContent.containsImage()) {
                ImageView imageView = (ImageView) component;
                try {
                    imageView.setImage(dragContent.getImage());
                    dropAction = DropAction.MOVE;
                } catch (IOException exception) {
                    System.err.println(exception);
                }
            }
            dragExit(component);
            return dropAction;
        }
    };
    ImageView imageView1 = new ImageView();
    imageView1.setImage(Image.load(getClass().getResource("go-home.png")));
    imageView1.getStyles().put(Style.backgroundColor, IMAGE_VIEW_BACKGROUND_COLOR);
    imageView1.setDragSource(imageDragSource);
    imageView1.setDropTarget(imageDropTarget);
    frame1.setContent(imageView1);
    frame1.open(display);
    frame2.setTitle("Frame 2");
    frame2.setPreferredSize(160, 120);
    frame2.setLocation(180, 0);
    ImageView imageView2 = new ImageView();
    imageView2.getStyles().put(Style.backgroundColor, IMAGE_VIEW_BACKGROUND_COLOR);
    imageView2.setDragSource(imageDragSource);
    imageView2.setDropTarget(imageDropTarget);
    frame2.setContent(imageView2);
    frame2.open(display);
}
Also used : DropAction(org.apache.pivot.wtk.DropAction) DragSource(org.apache.pivot.wtk.DragSource) Point(org.apache.pivot.wtk.Point) ImageView(org.apache.pivot.wtk.ImageView) DropTarget(org.apache.pivot.wtk.DropTarget) IOException(java.io.IOException) Image(org.apache.pivot.wtk.media.Image) Component(org.apache.pivot.wtk.Component) LocalManifest(org.apache.pivot.wtk.LocalManifest) Manifest(org.apache.pivot.wtk.Manifest) LocalManifest(org.apache.pivot.wtk.LocalManifest)

Aggregations

Image (org.apache.pivot.wtk.media.Image)35 Color (java.awt.Color)8 ImageView (org.apache.pivot.wtk.ImageView)8 Font (java.awt.Font)6 Component (org.apache.pivot.wtk.Component)5 ImageNode (org.apache.pivot.wtk.text.ImageNode)5 Dimensions (org.apache.pivot.wtk.Dimensions)3 Point (org.apache.pivot.wtk.Point)3 BasicStroke (java.awt.BasicStroke)2 Graphics2D (java.awt.Graphics2D)2 IOException (java.io.IOException)2 DragSource (org.apache.pivot.wtk.DragSource)2 DropAction (org.apache.pivot.wtk.DropAction)2 DropTarget (org.apache.pivot.wtk.DropTarget)2 Insets (org.apache.pivot.wtk.Insets)2 LocalManifest (org.apache.pivot.wtk.LocalManifest)2 Manifest (org.apache.pivot.wtk.Manifest)2 AlphaComposite (java.awt.AlphaComposite)1 Composite (java.awt.Composite)1 GradientPaint (java.awt.GradientPaint)1