Browse Source

Fixed classes announcement handling

Nicolas Petton 12 years ago
parent
commit
98bc6cbb6a
3 changed files with 14 additions and 9 deletions
  1. 5 3
      js/Helios-Browser.deploy.js
  2. 6 4
      js/Helios-Browser.js
  3. 3 2
      st/Helios-Browser.st

+ 5 - 3
js/Helios-Browser.deploy.js

@@ -667,13 +667,15 @@ $3=aPackage;
 if(($receiver = $3) == nil || $receiver == undefined){
 $2=[];
 } else {
-$2=_st(_st(_st(_st(aPackage)._classes())._collect_((function(each){
+$2=_st(_st(_st(_st(_st(aPackage)._classes())._collect_((function(each){
 return smalltalk.withContext(function($ctx2) {
return _st(each)._theNonMetaClass();
-}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})})))._asSet())._asArray();
+}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})})))._asSet())._asArray())._sort_((function(a,b){
+return smalltalk.withContext(function($ctx2) {
return _st(_st(a)._name()).__lt(_st(b)._name());
+}, function($ctx2) {$ctx2.fillBlock({a:a,b:b},$ctx1)})}));
 };
 _st($1)._items_($2);
 return self}, function($ctx1) {$ctx1.fill(self,"setItemsForPackage:",{aPackage:aPackage}, smalltalk.HLClassesListWidget)})},
-messageSends: ["items:", "ifNil:ifNotNil:", "asArray", "asSet", "collect:", "theNonMetaClass", "classes"]}),
+messageSends: ["items:", "ifNil:ifNotNil:", "sort:", "<", "name", "asArray", "asSet", "collect:", "theNonMetaClass", "classes"]}),
 smalltalk.HLClassesListWidget);
 
 smalltalk.addMethod(

+ 6 - 4
js/Helios-Browser.js

@@ -868,15 +868,17 @@ $3=aPackage;
 if(($receiver = $3) == nil || $receiver == undefined){
 $2=[];
 } else {
-$2=_st(_st(_st(_st(aPackage)._classes())._collect_((function(each){
+$2=_st(_st(_st(_st(_st(aPackage)._classes())._collect_((function(each){
 return smalltalk.withContext(function($ctx2) {
return _st(each)._theNonMetaClass();
-}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})})))._asSet())._asArray();
+}, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1)})})))._asSet())._asArray())._sort_((function(a,b){
+return smalltalk.withContext(function($ctx2) {
return _st(_st(a)._name()).__lt(_st(b)._name());
+}, function($ctx2) {$ctx2.fillBlock({a:a,b:b},$ctx1)})}));
 };
 _st($1)._items_($2);
 return self}, function($ctx1) {$ctx1.fill(self,"setItemsForPackage:",{aPackage:aPackage}, smalltalk.HLClassesListWidget)})},
 args: ["aPackage"],
-source: "setItemsForPackage: aPackage\x0a\x09self items: (aPackage \x0a    \x09ifNil: [ #() ]\x0a  \x09\x09ifNotNil: [ (aPackage classes \x0a        \x09collect: [ :each | each theNonMetaClass ]) asSet asArray ]).",
-messageSends: ["items:", "ifNil:ifNotNil:", "asArray", "asSet", "collect:", "theNonMetaClass", "classes"],
+source: "setItemsForPackage: aPackage\x0a\x09self items: (aPackage \x0a    \x09ifNil: [ #() ]\x0a  \x09\x09ifNotNil: [ ((aPackage classes \x0a        \x09collect: [ :each | each theNonMetaClass ]) asSet asArray) \x0a            \x09sort: [:a :b | a name < b name ] ]).",
+messageSends: ["items:", "ifNil:ifNotNil:", "sort:", "<", "name", "asArray", "asSet", "collect:", "theNonMetaClass", "classes"],
 referencedClasses: []
 }),
 smalltalk.HLClassesListWidget);

+ 3 - 2
st/Helios-Browser.st

@@ -205,8 +205,9 @@ showInstance: aBoolean
 setItemsForPackage: aPackage
 	self items: (aPackage 
     	ifNil: [ #() ]
-  		ifNotNil: [ (aPackage classes 
-        	collect: [ :each | each theNonMetaClass ]) asSet asArray ]).
+  		ifNotNil: [ ((aPackage classes 
+        	collect: [ :each | each theNonMetaClass ]) asSet asArray) 
+            	sort: [:a :b | a name < b name ] ]).
 !
 
 setItemsForSelectedPackage