|
@@ -3411,6 +3411,43 @@ referencedClasses: []
|
|
|
}),
|
|
|
globals.HLManager);
|
|
|
|
|
|
+smalltalk.addMethod(
|
|
|
+smalltalk.method({
|
|
|
+selector: "activatePreviousTab",
|
|
|
+protocol: 'actions',
|
|
|
+fn: function (){
|
|
|
+var self=this;
|
|
|
+var previousTab;
|
|
|
+return smalltalk.withContext(function($ctx1) {
|
|
|
+var $1,$2,$5,$4,$3;
|
|
|
+var $early={};
|
|
|
+try {
|
|
|
+$1=self._tabs();
|
|
|
+$ctx1.sendIdx["tabs"]=1;
|
|
|
+_st($1)._ifEmpty_((function(){
|
|
|
+throw $early=[self];
|
|
|
+}));
|
|
|
+$2=self._tabs();
|
|
|
+$ctx1.sendIdx["tabs"]=2;
|
|
|
+$5=self._tabs();
|
|
|
+$ctx1.sendIdx["tabs"]=3;
|
|
|
+$4=_st($5)._indexOf_(self._activeTab());
|
|
|
+$3=_st($4).__minus((1));
|
|
|
+previousTab=_st($2)._at_ifAbsent_($3,(function(){
|
|
|
+return smalltalk.withContext(function($ctx2) {
|
|
|
+return _st(self._tabs())._last();
|
|
|
+}, function($ctx2) {$ctx2.fillBlock({},$ctx1,2)})}));
|
|
|
+self._activate_(previousTab);
|
|
|
+return self}
|
|
|
+catch(e) {if(e===$early)return e[0]; throw e}
|
|
|
+}, function($ctx1) {$ctx1.fill(self,"activatePreviousTab",{previousTab:previousTab},globals.HLManager)})},
|
|
|
+args: [],
|
|
|
+source: "activatePreviousTab\x0a\x09| previousTab |\x0a\x09\x0a\x09self tabs ifEmpty: [ ^ self ].\x0a\x09\x0a\x09previousTab := self tabs \x0a\x09\x09at: (self tabs indexOf: self activeTab) - 1 \x0a\x09\x09ifAbsent: [ self tabs last ].\x0a\x09\x09\x0a\x09self activate: previousTab",
|
|
|
+messageSends: ["ifEmpty:", "tabs", "at:ifAbsent:", "-", "indexOf:", "activeTab", "last", "activate:"],
|
|
|
+referencedClasses: []
|
|
|
+}),
|
|
|
+globals.HLManager);
|
|
|
+
|
|
|
smalltalk.addMethod(
|
|
|
smalltalk.method({
|
|
|
selector: "activeTab",
|
|
@@ -4135,42 +4172,66 @@ protocol: 'private',
|
|
|
fn: function (){
|
|
|
var self=this;
|
|
|
return smalltalk.withContext(function($ctx1) {
|
|
|
-var $1,$2,$3,$4,$5,$6;
|
|
|
+var $1,$3,$4,$5,$2,$7,$6,$8,$9,$10,$11,$12;
|
|
|
$1="body"._asJQuery();
|
|
|
$ctx1.sendIdx["asJQuery"]=1;
|
|
|
-_st($1)._keydown_((function(event){
|
|
|
+_st($1)._keypress_((function(event){
|
|
|
return smalltalk.withContext(function($ctx2) {
|
|
|
-$2=_st(_st(_st(event)._which()).__eq((9)))._and_((function(){
|
|
|
+$3=_st(event)._ctrlKey();
|
|
|
+$ctx2.sendIdx["ctrlKey"]=1;
|
|
|
+$2=_st($3)._and_((function(){
|
|
|
return smalltalk.withContext(function($ctx3) {
|
|
|
-return _st(event)._shiftKey();
|
|
|
+$4=_st(event)._which();
|
|
|
+$ctx3.sendIdx["which"]=1;
|
|
|
+$5="<"._asciiValue();
|
|
|
+$ctx3.sendIdx["asciiValue"]=1;
|
|
|
+return _st($4).__eq($5);
|
|
|
+$ctx3.sendIdx["="]=1;
|
|
|
}, function($ctx3) {$ctx3.fillBlock({},$ctx2,2)})}));
|
|
|
+$ctx2.sendIdx["and:"]=1;
|
|
|
if(smalltalk.assert($2)){
|
|
|
-self._activateNextTab();
|
|
|
+self._activatePreviousTab();
|
|
|
_st(event)._preventDefault();
|
|
|
+$ctx2.sendIdx["preventDefault"]=1;
|
|
|
};
|
|
|
-$3=_st(event)._ctrlKey();
|
|
|
-if(smalltalk.assert($3)){
|
|
|
-$4="body"._asJQuery();
|
|
|
-$ctx2.sendIdx["asJQuery"]=2;
|
|
|
-return _st($4)._addClass_("navigation");
|
|
|
+$7=_st(event)._ctrlKey();
|
|
|
+$ctx2.sendIdx["ctrlKey"]=2;
|
|
|
+$6=_st($7)._and_((function(){
|
|
|
+return smalltalk.withContext(function($ctx3) {
|
|
|
+return _st(_st(event)._which()).__eq(">"._asciiValue());
|
|
|
+}, function($ctx3) {$ctx3.fillBlock({},$ctx2,4)})}));
|
|
|
+if(smalltalk.assert($6)){
|
|
|
+self._activateNextTab();
|
|
|
+return _st(event)._preventDefault();
|
|
|
};
|
|
|
}, function($ctx2) {$ctx2.fillBlock({event:event},$ctx1,1)})}));
|
|
|
-$5="body"._asJQuery();
|
|
|
-$ctx1.sendIdx["asJQuery"]=3;
|
|
|
-_st($5)._keyup_((function(event){
|
|
|
+$8="body"._asJQuery();
|
|
|
+$ctx1.sendIdx["asJQuery"]=2;
|
|
|
+_st($8)._keydown_((function(event){
|
|
|
return smalltalk.withContext(function($ctx2) {
|
|
|
-$6="body"._asJQuery();
|
|
|
-$ctx2.sendIdx["asJQuery"]=4;
|
|
|
-return _st($6)._removeClass_("navigation");
|
|
|
-}, function($ctx2) {$ctx2.fillBlock({event:event},$ctx1,5)})}));
|
|
|
+$9=_st(event)._ctrlKey();
|
|
|
+if(smalltalk.assert($9)){
|
|
|
+$10="body"._asJQuery();
|
|
|
+$ctx2.sendIdx["asJQuery"]=3;
|
|
|
+return _st($10)._addClass_("navigation");
|
|
|
+};
|
|
|
+}, function($ctx2) {$ctx2.fillBlock({event:event},$ctx1,6)})}));
|
|
|
+$11="body"._asJQuery();
|
|
|
+$ctx1.sendIdx["asJQuery"]=4;
|
|
|
+_st($11)._keyup_((function(event){
|
|
|
+return smalltalk.withContext(function($ctx2) {
|
|
|
+$12="body"._asJQuery();
|
|
|
+$ctx2.sendIdx["asJQuery"]=5;
|
|
|
+return _st($12)._removeClass_("navigation");
|
|
|
+}, function($ctx2) {$ctx2.fillBlock({event:event},$ctx1,8)})}));
|
|
|
_st(_st(window)._asJQuery())._resize_((function(event){
|
|
|
return smalltalk.withContext(function($ctx2) {
|
|
|
return self._refresh();
|
|
|
-}, function($ctx2) {$ctx2.fillBlock({event:event},$ctx1,6)})}));
|
|
|
+}, function($ctx2) {$ctx2.fillBlock({event:event},$ctx1,9)})}));
|
|
|
return self}, function($ctx1) {$ctx1.fill(self,"setupEvents",{},globals.HLManager)})},
|
|
|
args: [],
|
|
|
-source: "setupEvents\x0a\x09'body' asJQuery keydown: [ :event |\x0a\x09\x0a\x09\x09\x22shift+tab\x22\x0a\x09\x09(event which = 9 and: [ event shiftKey ]) ifTrue: [\x0a\x09\x09\x09self activateNextTab.\x0a\x09\x09\x09event preventDefault ].\x0a\x09\x09\x09\x0a\x09\x09\x22On ctrl keydown, adds a 'navigation' css class to <body>\x0a\x09\x09for the CodeMirror navigation links. See `HLCodeWidget`.\x22\x0a\x09\x09event ctrlKey ifTrue: [\x0a\x09\x09\x09'body' asJQuery addClass: 'navigation' ] ].\x0a\x09\x09\x09\x0a\x09'body' asJQuery keyup: [ :event |\x0a\x09\x09'body' asJQuery removeClass: 'navigation' ].\x0a\x09\x09\x0a\x09window asJQuery resize: [ :event |\x0a\x09\x09self refresh ]",
|
|
|
-messageSends: ["keydown:", "asJQuery", "ifTrue:", "and:", "=", "which", "shiftKey", "activateNextTab", "preventDefault", "ctrlKey", "addClass:", "keyup:", "removeClass:", "resize:", "refresh"],
|
|
|
+source: "setupEvents\x0a\x09'body' asJQuery keypress: [ :event |\x0a\x09\x0a\x09\x09\x22ctrl+> and ctrl+<\x22\x0a\x09\x09(event ctrlKey and: [ event which = '<' asciiValue ]) ifTrue: [\x0a\x09\x09\x09self activatePreviousTab.\x0a\x09\x09\x09event preventDefault ].\x0a\x09\x09(event ctrlKey and: [ event which = '>' asciiValue ]) ifTrue: [\x0a\x09\x09\x09self activateNextTab.\x0a\x09\x09\x09event preventDefault ] ].\x0a\x0a\x09'body' asJQuery keydown: [ :event |\x0a\x09\x09\x09\x0a\x09\x09\x22On ctrl keydown, adds a 'navigation' css class to <body>\x0a\x09\x09for the CodeMirror navigation links. See `HLCodeWidget`.\x22\x0a\x09\x09event ctrlKey ifTrue: [\x0a\x09\x09\x09'body' asJQuery addClass: 'navigation' ] ].\x0a\x09\x09\x09\x0a\x09'body' asJQuery keyup: [ :event |\x0a\x09\x09'body' asJQuery removeClass: 'navigation' ].\x0a\x09\x09\x0a\x09window asJQuery resize: [ :event |\x0a\x09\x09self refresh ]",
|
|
|
+messageSends: ["keypress:", "asJQuery", "ifTrue:", "and:", "ctrlKey", "=", "which", "asciiValue", "activatePreviousTab", "preventDefault", "activateNextTab", "keydown:", "addClass:", "keyup:", "removeClass:", "resize:", "refresh"],
|
|
|
referencedClasses: []
|
|
|
}),
|
|
|
globals.HLManager);
|