Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quellcode-Bibliothek

© Kompilation durch diese Firma

[Weder Korrektheit noch Funktionsfähigkeit der Software werden zugesichert.]

Datei:   Sprache: Unknown

Columbo aufrufen.bsh zum Wurzelverzeichnis wechselnLatech {Latech[84] Abap[104] [0]}Datei anzeigen

/*
 * Greedy_Left.bsh - If a buffer is using soft tabs,
 * this macro will move the caret tabSize spaces to the left,
 * if all the characters between the caret and the previous
 * tab stop are all spaces.  In all other cases, the caret
 * is moved a single character to the left.
 *
 * Copyright (C) 2004 Ollie Rutherfurd <[email protected]>
 *
 * $Id: Greedy_Left.bsh 5230 2005-07-20 13:31:08Z orutherfurd $
 */

/**
 * @param onlyFullTabs if true, the caret will only be moved
 *                     multiple spaces it would constitute
 *                     a 'complete' tab.
 */
void greedyLeft(View view, boolean onlyFullTabs)
{
 JEditTextArea textArea = view.getTextArea();
 JEditBuffer buffer = textArea.getBuffer();
 int caret = textArea.getCaretPosition();
 int caretLine = textArea.getCaretLine();
 int lineStart = textArea.getLineStartOffset(caretLine);

 if(textArea.getCaretPosition() == 0)
  return;

 if(buffer.getBooleanProperty("noTabs") == true)
 {
  // if anything is selected, use standard 
  if(textArea.getSelection().length != 0)
  {
   textArea.setCaretPosition(caret-1);
  }
  // if at the start of the line, use standard
  else if(caret == lineStart)
  {
   textArea.setCaretPosition(caret-1);
  }
  else
  {
   int col = caret - lineStart;
   int tabSize = buffer.getIntegerProperty("tabSize",8);

   // unlikely, but just in case
   if(tabSize <= 0)
   {
    textArea.setCaretPosition(caret-1);
   }
   else
   {
    int toTabStop = ((col-1) % tabSize) + 1;
    int count = 0;
    String chunk = buffer.getText(caret-toTabStop,toTabStop);
    for(int i=0; i < toTabStop; i++)
    {
     if(' ' != chunk.charAt(i))
      break;
     count += 1;
    }

    // if onlyFullTabs must be only spaces to
    // the tabStop and must have tabSize number 
    // of spaces to remove them all.
    if(onlyFullTabs == false || count == tabSize){
     textArea.setCaretPosition(caret-count);
    }
    else{
     textArea.setCaretPosition(caret-1);
    }
   }
  }
 }
 else
  textArea.setCaretPosition(caret-1);
}

greedyLeft(view,true);


[ Original von:0.84Diese Quellcodebibliothek enthält Beispiele in vielen Programmiersprachen. Man kann per Verzeichnistruktur darin navigieren. Der Code wird farblich markiert angezeigt.  ]

                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Musik

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Anleitung zur Erforschung der Natur

Jenseits des Üblichen ....
    

Besucherstatistik

Besucherstatistik