diff options
author | Adam Wagner <wbadam@users.noreply.github.com> | 2017-04-10 16:28:22 +0300 |
---|---|---|
committer | Pekka Hyvönen <pekka@vaadin.com> | 2017-04-10 16:28:22 +0300 |
commit | 125d2a926c1bc7213e732da053cc7ea5cb019c50 (patch) | |
tree | b4f78aa32c5bd5e33e97f44fcd02f8ace254c1af /uitest/src | |
parent | 3cf3d1b564571f272e84dc152d8a606acf6ce808 (diff) | |
download | vaadin-framework-125d2a926c1bc7213e732da053cc7ea5cb019c50.tar.gz vaadin-framework-125d2a926c1bc7213e732da053cc7ea5cb019c50.zip |
Make Button component draggable (#9038)
* Make Button component draggable (#9037)
* Add own state to button drag source
Diffstat (limited to 'uitest/src')
-rw-r--r-- | uitest/src/main/java/com/vaadin/tests/dnd/DraggableButton.java | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/uitest/src/main/java/com/vaadin/tests/dnd/DraggableButton.java b/uitest/src/main/java/com/vaadin/tests/dnd/DraggableButton.java new file mode 100644 index 0000000000..3a4db48eb5 --- /dev/null +++ b/uitest/src/main/java/com/vaadin/tests/dnd/DraggableButton.java @@ -0,0 +1,73 @@ +/* + * Copyright 2000-2016 Vaadin Ltd. + * + * Licensed 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 com.vaadin.tests.dnd; + +import com.vaadin.event.dnd.ButtonDragSource; +import com.vaadin.event.dnd.DropTargetExtension; +import com.vaadin.server.Page; +import com.vaadin.server.VaadinRequest; +import com.vaadin.tests.components.AbstractTestUIWithLog; +import com.vaadin.ui.Button; +import com.vaadin.ui.HorizontalLayout; +import com.vaadin.ui.Label; +import com.vaadin.ui.Layout; + +public class DraggableButton extends AbstractTestUIWithLog { + + @Override + protected void setup(VaadinRequest request) { + + Button draggableButton = new Button("Draggable Button"); + ButtonDragSource dragSourceExtension = new ButtonDragSource( + draggableButton); + dragSourceExtension.setDataTransferText( + "If you see this, the drop was successful"); + + Label dropTarget = new Label("Drop Here"); + dropTarget.addStyleName("drop-target"); + DropTargetExtension<Label> dropTargetExtension = new DropTargetExtension<>( + dropTarget); + dropTargetExtension + .addDropListener(event -> log(event.getDataTransferText())); + + Layout layout = new HorizontalLayout(); + layout.addComponents(draggableButton, dropTarget); + addComponent(layout); + + // Add styling + setStyle(); + } + + private void setStyle() { + Page.Styles styles = Page.getCurrent().getStyles(); + + styles.add(".drop-target {" + + "width: 150px;" + + "height: 100px;" + + "border: 1px solid black;" + + "border-radius: 4px;" + + "text-align: center;" + + "}"); + styles.add(".v-drag-over {" + + "border-style: dashed;" + + "}"); + } + + @Override + protected String getTestDescription() { + return "Test if Button is draggable"; + } +} |