From 6e9169242ab2aa2df2b799e5ebcb0fef95587b83 Mon Sep 17 00:00:00 2001 From: Branislav Stojkovic Date: Sun, 3 Feb 2019 09:58:19 +0100 Subject: [PATCH] dnd improvements --- .../src/org/diylc/presenter/Presenter.java | 12 +- diylc/diylc-library/lib/diylc-core.jar | Bin 243995 -> 243995 bytes diylc/diylc-swing/lib/diylc-core.jar | Bin 243995 -> 243995 bytes diylc/diylc-swing/library/main.jar | Bin 576324 -> 576324 bytes .../plugins/tree/TreeSourceListener.java | 8 +- .../plugins/tree/TreeTargetListener.java | 115 +++++++++--------- 6 files changed, 74 insertions(+), 61 deletions(-) diff --git a/diylc/diylc-core/src/org/diylc/presenter/Presenter.java b/diylc/diylc-core/src/org/diylc/presenter/Presenter.java index 6f6b6f9d..c6c8ef6e 100644 --- a/diylc/diylc-core/src/org/diylc/presenter/Presenter.java +++ b/diylc/diylc-core/src/org/diylc/presenter/Presenter.java @@ -1459,9 +1459,7 @@ public class Presenter implements IPlugInPort { Point scaledPoint = scalePoint(point); - if (!dragInProgress) { - if (instantiationManager.getComponentSlot() != null) - addPendingComponentsToProject(scaledPoint, instantiationManager.getComponentTypeSlot(), null); + if (!dragInProgress && instantiationManager.getComponentSlot() == null) { return; } @@ -1488,6 +1486,9 @@ public class Presenter implements IPlugInPort { // selectedComponents); // messageDispatcher.dispatchMessage(EventType.SELECTION_SIZE_CHANGED, // calculateSelectionDimension()); + } else if (instantiationManager.getComponentSlot() != null) { + preDragProject = currentProject.clone(); + addPendingComponentsToProject(scaledPoint, instantiationManager.getComponentTypeSlot(), null); } else { updateSelection(selectedComponents); } @@ -2133,6 +2134,11 @@ public class Presenter implements IPlugInPort { setNewComponentTypeSlot(null, null, false); return; } + + if (componentType == null) { + controlPointMap.clear(); + updateSelection(EMPTY_SELECTION); + } // try to find a default template if none is provided if (componentType != null && template == null) { diff --git a/diylc/diylc-library/lib/diylc-core.jar b/diylc/diylc-library/lib/diylc-core.jar index 20714dc86d39ee7d51d05fc834452fad1c4bbc7e..f563933e99abeebf4d1dc58a0d4462b1678870a6 100644 GIT binary patch delta 4866 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 L8_E5AqnPb} delta 4866 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 E0d`)-%K!iX diff --git a/diylc/diylc-swing/lib/diylc-core.jar b/diylc/diylc-swing/lib/diylc-core.jar index 20714dc86d39ee7d51d05fc834452fad1c4bbc7e..f563933e99abeebf4d1dc58a0d4462b1678870a6 100644 GIT binary patch delta 4866 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 L8_E5AqnPb} delta 4866 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 E0d`)-%K!iX diff --git a/diylc/diylc-swing/library/main.jar b/diylc/diylc-swing/library/main.jar index f97b8bccec2b562311b67517127cede02440b7bb..26e723d4679e01e62f9cd6eb221610cf88de3f7e 100644 GIT binary patch delta 5901 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 delta 5901 zcmY*ddqB_U8vowE?=M{?N~OrP6UFRcLK==St%GDjuCv;@SyV0wiK3J?ZxSk(5~=(g z-%|P&l5#d;jqMP2jI$=p?aYqL`TpML>0J8feR}TC=Xu`e{noji9_My?SOrcMB@2!t z9C!7Uf0ori@rr(oOlQXhH+Ho56Lnd3SAGyX$MQbxjNwPKvy30XPG_-ywvEu0(S3z6 z>|7%FqfUQ%JCmsYA1-^6)Svq7CUUm5Xn{UPvU8R=?mu>ZrwHl!zgY%w|MTNS3yA8P z{aQ3I1B3J)J10r+vNKT{Y(9<0q&kTaF@`sm);cF(#BU3ElO4xZ^rtqyqBD(NL5MNG z`}cNCZOyYS-;}Yo@0C?8Lh=AT&cSz72To{dot%5-e!TeP^OR#JzgZs9QRQwgY$@ zx*&;k(fqynk1UwZ<%AX6BlRg?(Usnrt+!j(v7*&U#GqXs#m9rkss21=HE2J5s1G&E z%Po+<&vMobb9tBvZSH(N5iD+g!k4N{FFlg?7Z}Li1&#MZZ8$E%gX6rie-#`dR$U}7 zX@(d+iZw@Doy4a?1T~qjv}Bg!e6@{XRvh=6E64f#$5MNq$**VlX$gDz<&faRV!nZa ztDUUlLmA$h<5~V6YNWeXJ@v#=|3K^O_`zC- zmoUnKAvwrj2!{CY{ql3k3qAgMZ@MrR1JI~6VxVnlL@8>XAOHkkhX|H{<&F8mQ|Q9d zKTqtPp(j@%bDSTwYvny@^fqFnIV}U@Q;1i}wKA#4R+b+h2j7O2*7LzoXG1>6>J>L3J&w4T?upn1*Hq@Bc38~16=!?k57Tz7Ron|*f@`dsOL!{SW61Y@~gP_gJBzG59O2WZaVVCQs1It$dT zQYlAf{#O~L=de@b0++6A)XNL-05I~6k~LjdsNe9)8mR@!+xAz<6LPI;l_oH-Pu`Vw zfz!Nu(lAhKc`oIFTJ&4#eUP5yMz(cg${Mo*F8htyO?y-UW}FT)&%>@z2L6IPm(9V*NXW{@a&Ey>IHxahEO5Qp0TS zhIKt;xZ($B#f(<&$m~h!*=uHp3vD|nd($ySVojY7$p)=pyy6OO>fcwYp*ia&D|=wI zxGhwk!-eeesqz7=h^Zgf?<9JoM=G#ES+!rEAlBNUaK#Z4sgF=rfY(vciV2q3zfzRd zz)MI~LSU6#JD|h@FQ7>IBgEWnQdTnF$ukNC)7i-`j^T! za2?32pM#l6R9j%Ix&=EG&d}ctA0N74y#B0IR}&ZQJEG2m4FBk+_6P7nJyZiwpAAqG zz|H+Zs-wyV%u9@$zoQOUS<^bEcbnr* zv(i;hI(Llf0E%zl>s0g_quPVw^&xE+UFgwZU2&?3IMGMJszLj5g6axgtGbjNI7lyh zfQ@+z^)u_(Y0oFAqoCxW0V+19EKq$0SRV>j@l&Da9JLj&j(_u_sHdL)7PgHCP?s~r zQuA4;dO_Zyi&YPBxG7wX1m26!)p@|16|3XQTBgpP)|97kT#6O6%vN_p51-XPWGv#; zLlDZhi}Q`%dZP85lZB|?0c5F>o<3Xxq zs%{`1NY%5jwH_9!M?jiaqV9t&IQE1(1TJ=zNyTrsmU{Iy=(U_vPs3SNT5B(!|L6bgh+CNoCdxnJ+e7?B=HrZVDhk>pQ|=odvMGa@>QOk+e{6q(+sqkmLI6Be3=Mw5w*T@;NL zPol|3|5Xf)LB)(1GJ&yMW5^Un=%&te%yQz%ehXht*k7KsWI4+Jxt#o&iKc!*W;5c@ z7bKJsB$h-nA|aN{W5oBdWC0_5S0E>E1zF5E!bmmVZ^j}GM5oY<4G_hlmzlIBNio)PZ)7AfrK++$}_2*NtF3R#EBHJyZO68c${ggRG~ zFnRCw=rDIZI{bY-I-I)!IW-$l*>NKhu^X|#Z#I&JET3V?SWZ?l31OT^$*4Sa6XtVt z6IsSY-BS?o#1w??ehOK_L;;&or*bpuxNjkgm}t`$?BFk3NCe}Aq+)baDq0OnL!Iqu zD0-TPlQ3&5ifXo!&zQOAHY9Skq4KM3*uk)Lgyq|GOv5(=%?mSdHmtW}(D?1Bb9*~l zP0j2qITIZ^Wg(H0g+Tq3h44S2uh6RfD^#Ai6MI^;6H9iWouf`Mjk}Ztu%PeepjBoL2K`qKCKj}d1TvlCU3mRp zcX9%A@irCZ>LT;bd6kO}r|m}QjJvTH-SaT#xI7H;V;+ho?!kNx?twIR?nS^t_ae-V zd(q$EeK;CB_MzzaeduOhKDM+zA31#s5Y#mVWCknZN&yBRQ;0hGg=i)1$DoV%<6t)L zM|3?7plHJZ?Az@Fh_3%Z^qg}L>w9?+MInc=HrzX7|6MI;Wi3L|+VvQ9TbjWe^v*UPY61IfEz^ zoUw$~c4{1NA| z#{Bb$!^`tH9y1$}C~HKk9v3id!Ua^maslVxs|kseChW`Kn{X<|HzTmSnh}Oyn#sri E1~_&(g#Z8m diff --git a/diylc/diylc-swing/src/org/diylc/swing/plugins/tree/TreeSourceListener.java b/diylc/diylc-swing/src/org/diylc/swing/plugins/tree/TreeSourceListener.java index 5c2a2d00..65d5e9ef 100644 --- a/diylc/diylc-swing/src/org/diylc/swing/plugins/tree/TreeSourceListener.java +++ b/diylc/diylc-swing/src/org/diylc/swing/plugins/tree/TreeSourceListener.java @@ -26,7 +26,7 @@ import java.awt.dnd.DragSourceDragEvent; import java.awt.dnd.DragSourceDropEvent; import java.awt.dnd.DragSourceEvent; import java.awt.dnd.DragSourceListener; - + import org.diylc.common.IPlugInPort; @@ -37,6 +37,7 @@ import org.diylc.common.IPlugInPort; */ class TreeSourceListener implements DragSourceListener { + @SuppressWarnings("unused") private IPlugInPort presenter; public TreeSourceListener(IPlugInPort presenter) { @@ -45,8 +46,9 @@ class TreeSourceListener implements DragSourceListener { } @Override - public void dragDropEnd(DragSourceDropEvent dsde) { - presenter.dragEnded(null); + public void dragDropEnd(DragSourceDropEvent dsde) { +// if (!dsde.getDropSuccess()) +// presenter.setNewComponentTypeSlot(null, null, false); } @Override diff --git a/diylc/diylc-swing/src/org/diylc/swing/plugins/tree/TreeTargetListener.java b/diylc/diylc-swing/src/org/diylc/swing/plugins/tree/TreeTargetListener.java index f97e94a2..6bc0aecb 100644 --- a/diylc/diylc-swing/src/org/diylc/swing/plugins/tree/TreeTargetListener.java +++ b/diylc/diylc-swing/src/org/diylc/swing/plugins/tree/TreeTargetListener.java @@ -1,62 +1,67 @@ /* - * - * DIY Layout Creator (DIYLC). Copyright (c) 2009-2018 held jointly by the individual authors. - * - * This file is part of DIYLC. - * - * DIYLC is free software: you can redistribute it and/or modify it under the terms of the GNU - * General Public License as published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * DIYLC is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even - * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General - * Public License for more details. - * - * You should have received a copy of the GNU General Public License along with DIYLC. If not, see - * . - */ -package org.diylc.swing.plugins.tree; -import java.awt.dnd.DnDConstants; -import java.awt.dnd.DropTargetDragEvent; -import java.awt.dnd.DropTargetDropEvent; -import java.awt.dnd.DropTargetEvent; -import java.awt.dnd.DropTargetListener; + DIY Layout Creator (DIYLC). + Copyright (c) 2009-2018 held jointly by the individual authors. -import org.diylc.common.IPlugInPort; + This file is part of DIYLC. + DIYLC is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. -/** - * {@link DropTargetListener} for {@link TreePanel}. - * - * @author Branislav Stojkovic - */ -class TreeTargetListener implements DropTargetListener { + DIYLC is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. - private IPlugInPort presenter; + You should have received a copy of the GNU General Public License + along with DIYLC. If not, see . - public TreeTargetListener(IPlugInPort presenter) { - super(); - this.presenter = presenter; - } - - @Override - public void dragEnter(DropTargetDragEvent dtde) {} - - @Override - public void dragExit(DropTargetEvent dte) {} - - @Override - public void dragOver(DropTargetDragEvent dtde) { - dtde.acceptDrag(DnDConstants.ACTION_COPY_OR_MOVE); - } - - @Override - public void drop(DropTargetDropEvent dtde) { - presenter.setNewComponentTypeSlot(null, null, false); - } - - @Override - public void dropActionChanged(DropTargetDragEvent dtde) { - } -} +*/ +package org.diylc.swing.plugins.tree; + +import java.awt.Point; +import java.awt.dnd.DnDConstants; +import java.awt.dnd.DropTargetDragEvent; +import java.awt.dnd.DropTargetDropEvent; +import java.awt.dnd.DropTargetEvent; +import java.awt.dnd.DropTargetListener; + +import org.diylc.common.IPlugInPort; + + +/** + * {@link DropTargetListener} for {@link TreePanel}. + * + * @author Branislav Stojkovic + */ +class TreeTargetListener implements DropTargetListener { + + private IPlugInPort presenter; + + public TreeTargetListener(IPlugInPort presenter) { + super(); + this.presenter = presenter; + } + + @Override + public void dragEnter(DropTargetDragEvent dtde) {} + + @Override + public void dragExit(DropTargetEvent dte) {} + + @Override + public void dragOver(DropTargetDragEvent dtde) { + dtde.acceptDrag(DnDConstants.ACTION_COPY_OR_MOVE); + } + + @Override + public void drop(DropTargetDropEvent dtde) { + presenter.setNewComponentTypeSlot(null, null, false); + } + + @Override + public void dropActionChanged(DropTargetDragEvent dtde) { + } +}