esempio drag&drop [wicket dnd][sc]

3
DRAG&DROP CON WICKET DnD [Santi Caltabiano] -------------------------------------------------------------------------------- -------------------------------------------------- Libreria: wicket-dnd -------------------------------------------------------------------------------- -------------------------------------------------- - https://code.google.com/p/wicket-dnd/ Wicket DnD per wicket 1.5 e 1.6 - https://github.com/svenmeier/wicket-dnd Wicket DnD per wicket 1.7 > https://github.com/svenmeier/wicket-dnd -------------------------------------------------------------------------------- -------------------------------------------------- HTML: Homepage.html -------------------------------------------------------------------------------- -------------------------------------------------- <?xml version="1.0" encoding="UTF-8"?> <html> <head> <title>osanet</title> </head> <body> <wicket:extend> <table wicket:id="container01" style="background: red;"> <tr style="background: green;"> <td><span wicket:id="label01">CCC</span></td> </tr> <tr> <td>BBBB</td> </tr> <tr style="background: yellow;"> <td><span wicket:id="label02">CCC</span></td> </tr> </table> </wicket:extend> </body> </html> -------------------------------------------------------------------------------- -------------------------------------------------- Homepage.java -------------------------------------------------------------------------------- -------------------------------------------------- /* * HomePage.java * * Created on 3 settembre 2008, 14.46 */

Upload: santi-caltabiano

Post on 16-Jul-2015

80 views

Category:

Software


0 download

TRANSCRIPT

Page 1: Esempio drag&drop [wicket dnd][sc]

DRAG&DROP CON WICKET DnD [Santi Caltabiano]

----------------------------------------------------------------------------------------------------------------------------------Libreria: wicket-dnd----------------------------------------------------------------------------------------------------------------------------------

- https://code.google.com/p/wicket-dnd/ Wicket DnD per wicket 1.5 e 1.6

- https://github.com/svenmeier/wicket-dnd Wicket DnD per wicket 1.7 > https://github.com/svenmeier/wicket-dnd

----------------------------------------------------------------------------------------------------------------------------------HTML: Homepage.html----------------------------------------------------------------------------------------------------------------------------------

<?xml version="1.0" encoding="UTF-8"?><html> <head> <title>osanet</title> </head> <body> <wicket:extend> <table wicket:id="container01" style="background: red;"> <tr style="background: green;"> <td><span wicket:id="label01">CCC</span></td> </tr> <tr> <td>BBBB</td> </tr> <tr style="background: yellow;"> <td><span wicket:id="label02">CCC</span></td> </tr> </table>

</wicket:extend> </body></html>

----------------------------------------------------------------------------------------------------------------------------------Homepage.java----------------------------------------------------------------------------------------------------------------------------------

/* * HomePage.java * * Created on 3 settembre 2008, 14.46 */

Page 2: Esempio drag&drop [wicket dnd][sc]

package com.osanet.pages.secured;

import com.osanet.application.annotations.SecuredPage;import com.osanet.pages.templates.TemplatePageWithMenubar;import static com.osanet.application.log.Log.appLog;import com.osanet.application.log.Log;import com.osanet.components.Label;import org.apache.wicket.Component;import org.apache.wicket.ajax.AjaxRequestTarget;import org.apache.wicket.markup.html.WebMarkupContainer;import wicketdnd.DragSource;import wicketdnd.DropTarget;import wicketdnd.Location;import wicketdnd.Operation;import wicketdnd.Reject;import wicketdnd.Transfer;import wicketdnd.theme.HumanTheme;import wicketdnd.theme.WindowsTheme;

/** * Homepage per l'utente standard * @author Santino */@SecuredPagepublic class HomePage extends TemplatePageWithMenubar { private WebMarkupContainer container01; private Label label01; private Label label02;

public HomePage() {

// Container contenente i componenti interessati dal D&D container01=new WebMarkupContainer("container01"); container01.setOutputMarkupId(true); add(container01);

// Tema per il drag&drop container01.add(new HumanTheme());

// Oggetto per la gestione dei drag. Operazioni previste: move e copy DragSource dragSource=new DragSource(Operation.MOVE, Operation.COPY){

@Override public void onAfterDrop(AjaxRequestTarget target, Transfer transfer) { System.out.println("After Drop"); }

@Override public void onBeforeDrop(Component drag, Transfer transfer) throws Reject { System.out.println("Before Drop"); } }; container01.add(dragSource);

// Il tag da trascinare è di tipo span dragSource.drag("span");

// Container per la gestione dei drop. Operazioni consentite: move e copy DropTarget dropTarget=new DropTarget(Operation.MOVE, Operation.COPY){

Page 3: Esempio drag&drop [wicket dnd][sc]

@Override public void onDrop(AjaxRequestTarget target, Transfer transfer, Location location) throws Reject { System.out.println("XXXXX03:"+location.getModel().toString()); } }; container01.add(dropTarget); // Il interessato dal drop è di tipo span dropTarget.dropCenter("span"); // Oggetto interessato dal D&D label01=new Label("label01","AAAAA"); label01.setOutputMarkupId(true); container01.add(label01);

// Oggetto interessato dal D&D label02=new Label("label02","CCCCC"); label02.setOutputMarkupId(true); container01.add(label02); }

}