Package com.vaadin.ui.Table

Examples of com.vaadin.ui.Table.TableTransferable


                return new SourceIs(source1, source2);
            }

            @Override
            public void drop(DragAndDropEvent event) {
                TableTransferable transferable = (TableTransferable) event
                        .getTransferable();
                Item item = transferable.getSourceComponent().getItem(
                        transferable.getItemId());
                Object value = item.getItemProperty("value").getValue();
                AbstractSelectTargetDetails targetDetails = (AbstractSelectTargetDetails) event
                        .getTargetDetails();
                Object targetItemId = targetDetails.getItemIdOver();
                Object addItemAfter = target.addItemAfter(targetItemId);
                target.getItem(addItemAfter).getItemProperty("value")
                        .setValue(value);
                transferable.getSourceComponent().removeItem(
                        transferable.getItemId());
            }
        });

        TabSheet tabSheet = new TabSheet();
        tabSheet.addComponent(source1);
View Full Code Here


                return new SourceIs(source1, source2);
            }

            @Override
            public void drop(DragAndDropEvent event) {
                TableTransferable transferable = (TableTransferable) event
                        .getTransferable();
                Item item = transferable.getSourceComponent().getItem(
                        transferable.getItemId());
                Object value = item.getItemProperty("value").getValue();
                AbstractSelectTargetDetails targetDetails = (AbstractSelectTargetDetails) event
                        .getTargetDetails();
                Object targetItemId = targetDetails.getItemIdOver();
                Object addItemAfter = target.addItemAfter(targetItemId);
                target.getItem(addItemAfter).getItemProperty("value")
                        .setValue(value);
                transferable.getSourceComponent().removeItem(
                        transferable.getItemId());
            }
        });

        final HorizontalLayout horizontalLayout = new HorizontalLayout();
        horizontalLayout.setSpacing(true);
View Full Code Here

            public void drop(DragAndDropEvent dropEvent) {
                Transferable transferable = dropEvent.getTransferable();

                String data = (String) transferable.getData("Text");
                if (transferable instanceof TableTransferable) {
                    TableTransferable tr = (TableTransferable) transferable;
                    System.out.println("From table row" + tr.getPropertyId());
                    Object value = tr.getSourceContainer()
                            .getItem(tr.getItemId())
                            .getItemProperty(tr.getPropertyId()).getValue();
                    data = (null != value) ? value.toString() : null;
                }
                if (data == null) {
                    data = "-no Text data flavor-";
                }
                tree3.addItem(data);
                AbstractSelect.AbstractSelectTargetDetails dropTargetData = (AbstractSelect.AbstractSelectTargetDetails) dropEvent
                        .getTargetDetails();
                tree3.setParent(data, dropTargetData.getItemIdOver());

            }

            @Override
            public AcceptCriterion getAcceptCriterion() {
                return crit;
            }
        });

        addComponent(tree3);

        /*
         * Make table rows draggable
         */
        table.setDragMode(Table.TableDragMode.ROW);

        TargetItemAllowsChildren onNode = TargetItemAllowsChildren.get();
        SourceIs fromTable = new SourceIs(table);

        SourceIs fromTree = new SourceIs(tree1);
        final Or fromTree1OrTable = new Or(fromTable, fromTree);
        // Or could in the case be replaced with, keeping here as an example and
        // test
        @SuppressWarnings("unused")
        SourceIs treeOrTable = new SourceIs(table, tree1);

        final And and = new And(fromTree1OrTable, onNode);

        DropHandler dropHandler = new DropHandler() {

            @Override
            public void drop(DragAndDropEvent event) {
                /*
                 * We know transferrable is from table, so it is of type
                 * DataBoundTransferrable
                 */
                DataBoundTransferable tr = (DataBoundTransferable) event
                        .getTransferable();
                Object itemId = tr.getItemId();
                Container sourceContainer = tr.getSourceContainer();
                if (tr.getSourceComponent() != tree1) {
                    // if the source is from table (not from tree1 itself),
                    // transfer Name property and use it as an identifier in
                    // tree1
                    Object nameValue = sourceContainer.getItem(itemId)
                            .getItemProperty("Name").getValue();
                    String name = (null != nameValue) ? nameValue.toString()
                            : null;

                    tree1.addItem(name);
                    tree1.setChildrenAllowed(name, false);

                    /*
                     * Remove the item from table
                     */
                    sourceContainer.removeItem(itemId);

                    itemId = name;

                }

                /*
                 * As we also accept only drops on folders, we know dropDetails
                 * is from Tree and it contains itemIdOver.
                 */
                AbstractSelectTargetDetails details = (AbstractSelectTargetDetails) event
                        .getTargetDetails();
                Object idOver = details.getItemIdOver();
                tree1.setParent(itemId, idOver);

            }

            @Override
            public AcceptCriterion getAcceptCriterion() {
                return and;
            }
        };
        tree1.setDropHandler(dropHandler);

        /*
         * First step done. tree1 now accepts drags only from table and only
         * over tree nodes aka "folders"
         */

        /*
         * Now set the rightmost tree accept any item drag. On drop, copy from
         * source. Also make drags from tree1 possible.
         */

        dropHandler = new DropHandler() {
            @Override
            public void drop(DragAndDropEvent event) {
                AbstractSelectTargetDetails details = (AbstractSelectTargetDetails) event
                        .getTargetDetails();
                Transferable transferable = event.getTransferable();

                if (transferable instanceof DataBoundTransferable) {
                    DataBoundTransferable tr = (DataBoundTransferable) transferable;

                    Object itemId = tree2.addItem();
                    tree2.setParent(itemId, details.getItemIdOver());
                    if (tr.getSourceComponent() == tree1) {
                        // use item id from tree1 as caption
                        tree2.setItemCaption(itemId, (String) tr.getItemId());
                        // if comes from tree1, move subtree too
                        copySubTree(tr.getItemId(), itemId);
                    } else if (tr.getSourceComponent() == table) {
                        // comes from table, override caption with name
                        String name = (String) table.getItem(tr.getItemId())
                                .getItemProperty("Name").getValue();
                        tree2.setItemCaption(itemId, name);
                    } else if (tr.getSourceComponent() == tree2) {
                        tree2.setItemCaption(itemId,
                                tree2.getItemCaption(tr.getItemId()));
                    }
                }
            }

            private void copySubTree(Object itemId, Object itemIdTo) {
View Full Code Here

        @Override
        public void drop(DragAndDropEvent event) {
            CalendarTargetDetails details = (CalendarTargetDetails) event
                    .getTargetDetails();

            TableTransferable transferable = (TableTransferable) event
                    .getTransferable();

            calendar.addEvent(new BasicEvent(transferable.getItemId()
                    .toString(), "This event was dragged here", details
                    .getDropTime()));

            table.removeItem(transferable.getItemId());
        }
View Full Code Here

        public void drop(DragAndDropEvent event) {
            Transferable transferable = event.getTransferable();
            TargetDetails targetDetails = event.getTargetDetails();
            if (transferable instanceof TableTransferable) {
                TableTransferable tt = (TableTransferable) transferable;
                Object fromItemId = tt.getItemId();
                // get the active selection, but only if we drag from the same table
                Set<?> selection =
                    m_associations.isActiveTable(tt.getSourceComponent()) ? m_associations.getActiveSelection() : null;
                if (targetDetails instanceof AbstractSelectTargetDetails) {
                    AbstractSelectTargetDetails ttd = (AbstractSelectTargetDetails) targetDetails;
                    Object toItemId = ttd.getItemIdOver();
                    if (tt.getSourceComponent().equals(m_left)) {
                        if (selection != null) {
                            for (Object item : selection) {
                                associateFromLeft((String) item, (String) toItemId);
                            }
                        }
                        else {
                            associateFromLeft((String) fromItemId, (String) toItemId);
                        }
                    }
                    else if (tt.getSourceComponent().equals(m_right)) {
                        if (selection != null) {
                            for (Object item : selection) {
                                associateFromRight((String) toItemId, (String) item);
                            }
                        }
View Full Code Here

        public void drop(DragAndDropEvent event) {
            Transferable transferable = event.getTransferable();
            TargetDetails targetDetails = event.getTargetDetails();
            if (transferable instanceof TableTransferable) {
                TableTransferable tt = (TableTransferable) transferable;
                Object fromItemId = tt.getItemId();
                // get the active selection, but only if we drag from the same table
                Set<?> selection = m_associations.isActiveTable(tt.getSourceComponent()) ? m_associations.getActiveSelection() : null;
                if (targetDetails instanceof AbstractSelectTargetDetails) {
                    AbstractSelectTargetDetails ttd = (AbstractSelectTargetDetails) targetDetails;
                    Object toItemId = ttd.getItemIdOver();
                    if (tt.getSourceComponent().equals(m_left)) {
                        if (selection != null) {
                            for (Object item : selection) {
                                associateFromLeft((String) item, (String) toItemId);
                            }
                        }
                        else {
                            associateFromLeft((String) fromItemId, (String) toItemId);
                        }
                    }
                    else if (tt.getSourceComponent().equals(m_right)) {
                        if (selection != null) {
                            for (Object item : selection) {
                                associateFromRight((String) toItemId, (String) item);
                            }
                        }
View Full Code Here

            private static final long serialVersionUID = -8939822725278862037L;

            public void drop(DragAndDropEvent event) {
                CalendarTargetDetails details = (CalendarTargetDetails) event
                        .getTargetDetails();
                TableTransferable transferable = (TableTransferable) event
                        .getTransferable();

                createEvent(details, transferable);
            }
View Full Code Here

                CssLayout labels = new CssLayout();
                labels.addComponent(new Label(
                        "<strong>Selected transactions</strong>",
                        ContentMode.HTML));
                if (items != null) {
                    TableTransferable tt = (TableTransferable) items;
                    Table s = tt.getSourceComponent();
                    Set<Object> val = (Set<Object>) s.getValue();
                    if (val.contains(tt.getData("itemId"))) {
                        for (Object id : val) {
                            Item item = s.getItem(id);
                            if (item != null)
                                labels.addComponent(createTransactionLabel(item));
                        }
                    } else {
                        Item item = s.getItem(tt.getData("itemId"));
                        if (item != null)
                            labels.addComponent(createTransactionLabel(item));
                    }
                } else if (table != null) {
                    Set<Object> val = (Set<Object>) table.getValue();
View Full Code Here

TOP

Related Classes of com.vaadin.ui.Table.TableTransferable

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