Skip to content

Commit 8c785f6

Browse files
Preview: fix DnD from sorted grid atlas.
1 parent 9231e33 commit 8c785f6

File tree

2 files changed

+18
-7
lines changed

2 files changed

+18
-7
lines changed

source/phasereditor/phasereditor.assetpack.ui/src/phasereditor/assetpack/ui/preview/AtlasAssetPreviewComp.java

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,8 @@ private ISelection getSelection() {
152152
return StructuredSelection.EMPTY;
153153
}
154154

155-
Frame frame = getModel().getAtlasFrames().get(index);
155+
List<Frame> frames = getSortedFrames();
156+
Frame frame = frames.get(index);
156157
return new StructuredSelection(frame);
157158
}
158159

@@ -235,7 +236,7 @@ private void moveTop(Control control) {
235236
layout();
236237

237238
updateActionsState();
238-
239+
239240
control.setFocus();
240241
}
241242

@@ -261,13 +262,12 @@ public void setModel(AtlasAssetModel model) {
261262
_canvas.setImageFile(file);
262263

263264
List<Frame> frames = model.getAtlasFrames();
264-
frames = frames.stream().sorted((f1, f2) -> f1.getKey().toLowerCase().compareTo(f2.getKey().toLowerCase()))
265-
.collect(toList());
266265

267266
_canvas.setFrames(frames);
268267
_canvas.redraw();
269268

270269
_spritesList.getViewer().setInput(model);
270+
// sort frames by name
271271
_spritesList.getViewer().setComparator(new ViewerComparator() {
272272
@Override
273273
public int compare(Viewer viewer, Object e1, Object e2) {
@@ -281,7 +281,9 @@ public int compare(Viewer viewer, Object e1, Object e2) {
281281
if (img != null) {
282282
Rectangle b = img.getBounds();
283283

284-
List<String> tooltips = frames.stream().map(f -> {
284+
List<Frame> sortedFrames = getSortedFrames();
285+
286+
List<String> tooltips = sortedFrames.stream().map(f -> {
285287
String str = "Sprite Name: " + f.getKey() + "\n";
286288
str += "Sprite Size: " + f.getSpriteW() + "x" + f.getSpriteH() + "\n";
287289
str += "Image Size: " + b.width + "x" + b.height + "\n";
@@ -292,9 +294,10 @@ public int compare(Viewer viewer, Object e1, Object e2) {
292294
_canvas.setTooltips(tooltips);
293295

294296
_gridCanvas.setImage(img);
295-
_gridCanvas.setFrames(frames.stream().map(f -> f.getFrameData().src).collect(Collectors.toList()));
297+
_gridCanvas.setFrames(sortedFrames.stream().map(f -> f.getFrameData().src).collect(Collectors.toList()));
296298

297299
_gridCanvas.setTooltips(tooltips);
300+
298301
getDisplay().asyncExec(() -> {
299302
_gridCanvas.fitWindow();
300303
_gridCanvas.redraw();
@@ -365,4 +368,12 @@ public IZoomable getImageCanvas() {
365368

366369
updateActionsState();
367370
}
371+
372+
/**
373+
* @return
374+
*/
375+
private List<Frame> getSortedFrames() {
376+
return getModel().getAtlasFrames().stream()
377+
.sorted((f1, f2) -> f1.getKey().toLowerCase().compareTo(f2.getKey().toLowerCase())).collect(toList());
378+
}
368379
}

source/phasereditor/phasereditor.ui/src/phasereditor/ui/SpriteGridCanvas.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,7 @@ public void mouseDown(MouseEvent e) {
144144
}
145145

146146
private void afterCreateWidgets() {
147-
// scrollable canvas do not get the rigth style
147+
// scrollable canvas do not get the right style
148148
PhaserEditorUI.forceApplyCompositeStyle(this);
149149
}
150150

0 commit comments

Comments
 (0)