Diff Вы: nobody
Вход

Differences From Artifact [8770c6e051]:

To Artifact [535128c3b5]:


    50     50   function macrosНайтиВыделенныйТекстВверх(){
    51     51       return selectNextPattern(-1);
    52     52   }
    53     53   
    54     54   function macrosПоменятьОперандыПрисваиванияМестами() {
    55     55       
    56     56       var w = GetTextWindow(); 
    57         -    if (!w) return false;
           57  +    if (!w || windows.modalMode != msNone) return false;
    58     58       
    59     59       var selText = w.GetSelectedText();
    60     60       if (selText == '') return false;
    61     61       
    62     62       var sel = w.GetSelection();
    63     63       
    64     64       var lines = StringUtils.toLines(selText);
................................................................................
    90     90   SelfScript.Self['macrosПреобразовать регистр: строчные'] = function() {
    91     91       return processSelectedText(function(selText){ return selText.toLowerCase(); });
    92     92   }
    93     93   
    94     94   SelfScript.Self['macrosВыделить текст в скобках'] = function() {
    95     95   
    96     96       var w = GetTextWindow(); 
    97         -    if (!w) return false;    
           97  +    if (!w  || windows.modalMode != msNone) return false;    
    98     98           
    99     99       var sel = w.GetCaretPos();
   100    100       
   101    101       var startPos = { 'row' : sel.beginRow-1, 'col' : sel.beginCol-1 };
   102    102       
   103    103       var lines = w.GetLines();    
   104    104       var foundOpeningBrace = false;
................................................................................
   190    190           });
   191    191       }, doNotRestoreSelection);
   192    192   }
   193    193   
   194    194   function selectNextPattern(dir){
   195    195       //debugger;
   196    196       var w = GetTextWindow(); //snegopat.activeTextWindow();
   197         -    if (!w) return false;
          197  +    if (!w || windows.modalMode != msNone) return false;
   198    198       
   199    199   //debugger;    
   200    200       
   201    201       var sel = w.getSelection();
   202    202       var selText = w.selectedText();
   203    203       if (selText == '') return false;
   204    204   
................................................................................
   243    243           if (j > -1) return i;
   244    244       }
   245    245       return null;
   246    246   }
   247    247   
   248    248   function macrosКлонироватьТекст(){
   249    249       var w = GetTextWindow();//snegopat.activeTextWindow();
   250         -    if (!w) return false;
          250  +    if (!w || windows.modalMode != msNone) return false;
   251    251       
   252    252       var sel = w.getSelection();
   253    253       var selText = w.selectedText();
   254    254       if (selText != ''){            
   255    255           w.SetSelectedText(selText + "\n" + selText);
   256    256       }
   257    257       else{
................................................................................
   261    261           w.SetSelectedText(w.selectedText() + "\n" + w.selectedText());
   262    262       }
   263    263       return true;
   264    264   }
   265    265   
   266    266   function macrosOnPressEnterInComment(){
   267    267       var w = GetTextWindow();//snegopat.activeTextWindow();
   268         -    if (!w) return false;
          268  +    if (!w || windows.modalMode != msNone) return false;
   269    269       
   270    270       var pos = w.getCaretPos();
   271    271       var str = w.line(pos.beginRow);
   272    272       if (str.match(/^\s*\/\/\s*[^\s]+/ig)) {     
   273    273   
   274    274           // Если курсор установлен левее символов комментария, то не обрабатываем нажатие,
   275    275           // чтобы добавлялась пустая строка, как и ожидается.
................................................................................
   293    293           return true;
   294    294       }
   295    295       return false;
   296    296   }
   297    297   
   298    298   function macrosOnPressDeleteInComment(){
   299    299       var w = GetTextWindow();//snegopat.activeTextWindow();
   300         -    if (!w) return false;
          300  +    if (!w || windows.modalMode != msNone) return false;
   301    301   
   302    302       if (w.selectedText() != ""){
   303    303           return false;    /// TODO: обработать этот вариант.
   304    304       }
   305    305       
   306    306       var pos = w.getCaretPos();
   307    307       
................................................................................
   327    327           return true;
   328    328       }
   329    329       return false;
   330    330   }
   331    331   
   332    332   function macrosOnPressBackspaceInComment(){
   333    333       var w = GetTextWindow();//snegopat.activeTextWindow();
   334         -    if (!w) return false;
          334  +    if (!w || windows.modalMode != msNone) return false;
   335    335   
   336    336       if (w.selectedText() != ""){
   337    337           return false;    /// TODO: обработать этот вариант.
   338    338       }
   339    339       
   340    340       var pos = w.getCaretPos();
   341    341       if (pos.beginRow == 1) return false;    // И так уже стоим в первой строке.
................................................................................
   379    379       var res = !match ? "" : match[0];
   380    380       return res;
   381    381   }
   382    382   
   383    383   function processSelectedText(selTextHandler, doNotRestoreSelection) {
   384    384       
   385    385       var w = GetTextWindow(); 
   386         -    if (!w) return false;    
          386  +    if (!w || windows.modalMode != msNone) return false;    
   387    387       
   388    388       var sel = w.GetSelection();            
   389    389       var selText = w.GetSelectedText();
   390    390       
   391    391       try 
   392    392       {
   393    393           selText = selTextHandler.call(null, selText);
................................................................................
   405    405           w.SetSelection(sel.beginRow, sel.beginCol, sel.endRow, sel.endCol);
   406    406       return true;
   407    407   }
   408    408   
   409    409   SelfScript.Self['macrosУстановить символ | в строке/выделении'] = function() {
   410    410      
   411    411       var w = GetTextWindow(); //Получим активное текстовое окно
   412         -    if (!w) return false;   
          412  +    if (!w || windows.modalMode != msNone) return false;   
   413    413      
   414    414       // Проверем есть ли выделенный текс, если нет, то выделим текущую строку , в результате обработаем выделенный текст и вернем на место.
   415    415       var selText = w.GetSelectedText();
   416    416       if (selText.length==0) {
   417    417           var pos = w.getCaretPos();
   418    418           w.setSelection(pos.beginRow, 1, pos.beginRow, 1 + w.line(pos.beginRow).length);
   419    419           var text = w.GetSelectedText();
................................................................................
   438    438           result = result+str+(((Lines.length-1)==i)?"":"\n");
   439    439       }
   440    440       return result
   441    441   }
   442    442   
   443    443   function macrosOnPressBackspaceInBracket(){
   444    444       var w = GetTextWindow();//snegopat.activeTextWindow();
   445         -    if (!w) return false;
          445  +    if (!w || windows.modalMode != msNone) return false;
   446    446   
   447    447       if (w.selectedText() != ""){
   448    448           return false;    /// TODO: обработать этот вариант.
   449    449       }
   450    450       
   451    451       var pos = w.getCaretPos();
   452    452       
................................................................................
   475    475       }
   476    476   
   477    477       return false;
   478    478       
   479    479   }
   480    480   function macrosOnPressDelInBracket(){
   481    481       var w = GetTextWindow();//snegopat.activeTextWindow();
   482         -    if (!w) return false;
          482  +    if (!w || windows.modalMode != msNone) return false;
   483    483   
   484    484       if (w.selectedText() != ""){
   485    485           return false;    /// TODO: обработать этот вариант.
   486    486       }
   487    487       
   488    488       var pos = w.getCaretPos();
   489    489