@@ -152,7 +152,8 @@ private ISelection getSelection() {
152
152
return StructuredSelection .EMPTY ;
153
153
}
154
154
155
- Frame frame = getModel ().getAtlasFrames ().get (index );
155
+ List <Frame > frames = getSortedFrames ();
156
+ Frame frame = frames .get (index );
156
157
return new StructuredSelection (frame );
157
158
}
158
159
@@ -235,7 +236,7 @@ private void moveTop(Control control) {
235
236
layout ();
236
237
237
238
updateActionsState ();
238
-
239
+
239
240
control .setFocus ();
240
241
}
241
242
@@ -261,13 +262,12 @@ public void setModel(AtlasAssetModel model) {
261
262
_canvas .setImageFile (file );
262
263
263
264
List <Frame > frames = model .getAtlasFrames ();
264
- frames = frames .stream ().sorted ((f1 , f2 ) -> f1 .getKey ().toLowerCase ().compareTo (f2 .getKey ().toLowerCase ()))
265
- .collect (toList ());
266
265
267
266
_canvas .setFrames (frames );
268
267
_canvas .redraw ();
269
268
270
269
_spritesList .getViewer ().setInput (model );
270
+ // sort frames by name
271
271
_spritesList .getViewer ().setComparator (new ViewerComparator () {
272
272
@ Override
273
273
public int compare (Viewer viewer , Object e1 , Object e2 ) {
@@ -281,7 +281,9 @@ public int compare(Viewer viewer, Object e1, Object e2) {
281
281
if (img != null ) {
282
282
Rectangle b = img .getBounds ();
283
283
284
- List <String > tooltips = frames .stream ().map (f -> {
284
+ List <Frame > sortedFrames = getSortedFrames ();
285
+
286
+ List <String > tooltips = sortedFrames .stream ().map (f -> {
285
287
String str = "Sprite Name: " + f .getKey () + "\n " ;
286
288
str += "Sprite Size: " + f .getSpriteW () + "x" + f .getSpriteH () + "\n " ;
287
289
str += "Image Size: " + b .width + "x" + b .height + "\n " ;
@@ -292,9 +294,10 @@ public int compare(Viewer viewer, Object e1, Object e2) {
292
294
_canvas .setTooltips (tooltips );
293
295
294
296
_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 ()));
296
298
297
299
_gridCanvas .setTooltips (tooltips );
300
+
298
301
getDisplay ().asyncExec (() -> {
299
302
_gridCanvas .fitWindow ();
300
303
_gridCanvas .redraw ();
@@ -365,4 +368,12 @@ public IZoomable getImageCanvas() {
365
368
366
369
updateActionsState ();
367
370
}
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
+ }
368
379
}
0 commit comments