*** empty log message ***

This commit is contained in:
janna
2003-11-16 11:25:52 +00:00
parent 53f4454633
commit 9d55f72d7a
2 changed files with 60 additions and 24 deletions

View File

@@ -772,15 +772,16 @@ public class GFEditor2 extends JFrame implements ActionListener, CaretListener,
//cutting </focus> //cutting </focus>
// in case focus tag is cut into two lines: // in case focus tag is cut into two lines:
if (result.charAt(i-1)!='<') if (result.charAt(i-1)!='<')
// check if punktualtion marks like . ! ? are at the end of a sentence:
if (result.charAt(j+1)==' ') if (result.charAt(j+1)==' ')
result= result.substring(0,i-8)+result.substring(j+2); result= result.substring(0,i-8)+result.substring(j+2);
else else
result= result.substring(0,i-8)+result.substring(j+1); result= result.substring(0,i-9)+result.substring(j+1);
else else
if (result.charAt(j+1)==' ') if (result.charAt(j+1)==' ')
result= result.substring(0,i-1)+result.substring(j+2); result= result.substring(0,i-1)+result.substring(j+2);
else else
result= result.substring(0,i-1)+result.substring(j+1); result= result.substring(0,i-2)+result.substring(j+1);
j= result.indexOf("<focus"); j= result.indexOf("<focus");
l2 = result.indexOf("focus"); l2 = result.indexOf("focus");
// in case focus tag is cut into two lines: // in case focus tag is cut into two lines:
@@ -1482,12 +1483,13 @@ public class GFEditor2 extends JFrame implements ActionListener, CaretListener,
// not null selection: // not null selection:
if (start<output.getText().length()-1) if (start<output.getText().length()-1)
{ {
if (debug2) // if (debug2)
for (int k=0; k<outputVector.size(); k++) for (int k=0; k<outputVector.size(); k++)
{ {
System.out.print("element: "+k+" begin "+((MarkedArea)outputVector.elementAt(k)).begin+" "); System.out.print("element: "+k+" begin "+((MarkedArea)outputVector.elementAt(k)).begin+" ");
System.out.print(" end "+((MarkedArea)outputVector.elementAt(k)).end+" "); System.out.print(" end: "+((MarkedArea)outputVector.elementAt(k)).end+" ");
System.out.println(" position "+((MarkedArea)outputVector.elementAt(k)).position+" "); System.out.print(" position: "+((MarkedArea)outputVector.elementAt(k)).position+" ");
System.out.println(" words: "+((MarkedArea)outputVector.elementAt(k)).words);
} }
// localizing end: // localizing end:
while ((j< outputVector.size())&&(((MarkedArea)outputVector.elementAt(j)).end < end)) while ((j< outputVector.size())&&(((MarkedArea)outputVector.elementAt(j)).end < end))
@@ -1632,22 +1634,49 @@ public class GFEditor2 extends JFrame implements ActionListener, CaretListener,
currentLength += newLength ; currentLength += newLength ;
} // l<l2 } // l<l2
else else
{ // something before the tag: {
// something before the </subtree> tag:
if (l2-currentLength>1) if (l2-currentLength>1)
{ {
if (debug2) if (debug2)
System.out.println("SOMETHING BEFORE THE </subtree TAG"); System.out.println("SOMETHING BEFORE THE </subtree> TAG");
if (currentPosition.size()>0) if (currentPosition.size()>0)
register(currentLength, l2, (String)currentPosition.elementAt(currentPosition.size()-1)); register(currentLength, l2, (String)currentPosition.elementAt(currentPosition.size()-1));
else else
register(currentLength, l2, "[]"); register(currentLength, l2, "[]");
currentLength += newLength ; currentLength += newLength ;
} }
// cutting the </subtree> tags: // nothing before the tag:
if (restString.charAt(l2+10)==' ') else
removeSubTreeTag(l2,l2+10); // punctuation after the </subtree> tag:
else if (restString.substring(l2+10,l2+11).trim().length()>0)
removeSubTreeTag(l2,l2+9); {
if (debug2)
System.out.println("PUNCTUATION AFTER THE </subtree> TAG");
if (debug2) System.out.println("STRING: "+restString);
//cutting the tag first!:
if (l2>0)
removeSubTreeTag(l2-1,l2+9);
else
removeSubTreeTag(l2,l2+9);
if (debug2) System.out.println("STRING after cutting the </subtree> tag: "+restString);
// cutting the space in the last registered component:
if (outputVector.size()>0)
{
((MarkedArea)outputVector.elementAt(outputVector.size()-1)).end -=1;
if (currentLength>0) currentLength -=1;
}
if (debug2) System.out.println("currentLength: "+currentLength +" old length " +oldLength);
// register the punctuation:
if (currentPosition.size()>0)
register(currentLength, currentLength+2, (String)currentPosition.elementAt(currentPosition.size()-1));
else
register(currentLength, currentLength+2, "[]");
currentLength += newLength ;
}
else
// just cutting the </subtree> tag:
removeSubTreeTag(l2,l2+10);
} }
l2 = restString.indexOf("</subtree"); l2 = restString.indexOf("</subtree");
l = restString.indexOf("<subtree"); l = restString.indexOf("<subtree");
@@ -1676,7 +1705,7 @@ public class GFEditor2 extends JFrame implements ActionListener, CaretListener,
if (selEnd+oldLength>pos) if (selEnd+oldLength>pos)
{ {
addedLength = selEndTotal-selStartTotal+2; addedLength = selEndTotal-selStartTotal+2;
outputVector.addElement(new MarkedArea(selStartTotal, selEndTotal+1, focusPosition)); outputVector.addElement(new MarkedArea(selStartTotal, selEndTotal+1, focusPosition,restString.substring(currentLength)));
if (debug2) if (debug2)
System.out.println("APPENDING Selection Last:"+restString.substring(currentLength)+ System.out.println("APPENDING Selection Last:"+restString.substring(currentLength)+
"Length: "+addedLength+" POSITION: "+selStartTotal + " "+selEndT); "Length: "+addedLength+" POSITION: "+selStartTotal + " "+selEndT);
@@ -1717,7 +1746,7 @@ public class GFEditor2 extends JFrame implements ActionListener, CaretListener,
{ // only selection is to register: { // only selection is to register:
resultCurrent = currentLength + oldLength ; resultCurrent = currentLength + oldLength ;
resultNew = newLength + resultCurrent - 1; resultNew = newLength + resultCurrent - 1;
outputVector.addElement(new MarkedArea(resultCurrent, resultNew, focusPosition)); outputVector.addElement(new MarkedArea(resultCurrent, resultNew, focusPosition,restString.substring(selStart,selEnd+2)));
if (debug2) if (debug2)
System.out.println("APPENDING SelectedZONE ONLy:"+restString.substring(selStart,selEnd+2)+ System.out.println("APPENDING SelectedZONE ONLy:"+restString.substring(selStart,selEnd+2)+
"Length: "+newLength+" POSITION: "+resultCurrent + " "+resultNew); "Length: "+newLength+" POSITION: "+resultCurrent + " "+resultNew);
@@ -1728,7 +1757,7 @@ public class GFEditor2 extends JFrame implements ActionListener, CaretListener,
resultCurrent = currentLength+oldLength; resultCurrent = currentLength+oldLength;
resultNew = resultCurrent+ selStart-start -1; resultNew = resultCurrent+ selStart-start -1;
addedLength = selStart -start; addedLength = selStart -start;
outputVector.addElement(new MarkedArea(resultCurrent, resultNew, position)); outputVector.addElement(new MarkedArea(resultCurrent, resultNew, position,restString.substring(start,start+addedLength)));
if (debug2) if (debug2)
System.out.println("APPENDING ZONE First:"+restString.substring(start,start+addedLength)+ System.out.println("APPENDING ZONE First:"+restString.substring(start,start+addedLength)+
"Length: "+addedLength+" POSITION: "+resultCurrent + " "+resultNew); "Length: "+addedLength+" POSITION: "+resultCurrent + " "+resultNew);
@@ -1738,7 +1767,7 @@ public class GFEditor2 extends JFrame implements ActionListener, CaretListener,
newLength = selEnd - selStart+2; newLength = selEnd - selStart+2;
resultCurrent = currentLength+oldLength; resultCurrent = currentLength+oldLength;
resultNew = resultCurrent+ newLength -1; resultNew = resultCurrent+ newLength -1;
outputVector.addElement(new MarkedArea(resultCurrent, resultNew, focusPosition)); outputVector.addElement(new MarkedArea(resultCurrent, resultNew, focusPosition,restString.substring(selStart,selEnd+2)));
if (debug2) if (debug2)
System.out.println("APPENDING SelectedZONE Second:"+restString.substring(selStart,selEnd+2)+ System.out.println("APPENDING SelectedZONE Second:"+restString.substring(selStart,selEnd+2)+
"Length: "+newLength+" POSITION: "+resultCurrent + " "+resultNew); "Length: "+newLength+" POSITION: "+resultCurrent + " "+resultNew);
@@ -1748,7 +1777,7 @@ public class GFEditor2 extends JFrame implements ActionListener, CaretListener,
addedLength = selEnd - selStart +2; addedLength = selEnd - selStart +2;
resultCurrent = currentLength+oldLength; resultCurrent = currentLength+oldLength;
resultNew = resultCurrent + addedLength-1; resultNew = resultCurrent + addedLength-1;
outputVector.addElement(new MarkedArea(resultCurrent, resultNew, focusPosition)); outputVector.addElement(new MarkedArea(resultCurrent, resultNew, focusPosition,restString.substring(selStart,selEnd+2)));
if (debug2) if (debug2)
System.out.println("APPENDING SelectedZONE First:"+restString.substring(selStart,selEnd+2)+ System.out.println("APPENDING SelectedZONE First:"+restString.substring(selStart,selEnd+2)+
"Length: "+addedLength+" POSITION: "+resultCurrent + " "+resultNew); "Length: "+addedLength+" POSITION: "+resultCurrent + " "+resultNew);
@@ -1758,20 +1787,22 @@ public class GFEditor2 extends JFrame implements ActionListener, CaretListener,
newLength = end-selEnd-2; newLength = end-selEnd-2;
resultCurrent = currentLength+oldLength; resultCurrent = currentLength+oldLength;
resultNew = resultCurrent + newLength -1; resultNew = resultCurrent + newLength -1;
outputVector.addElement(new MarkedArea(resultCurrent, resultNew, position)); outputVector.addElement(new MarkedArea(resultCurrent, resultNew, position,restString.substring(selEnd+2,end)));
if (debug2) if (debug2)
System.out.println("APPENDING ZONE Second:"+restString.substring(selEnd+2,end)+ System.out.println("APPENDING ZONE Second:"+restString.substring(selEnd+2,end)+
"Length: "+newLength+" POSITION: "+resultCurrent + " "+resultNew); "Length: "+newLength+" POSITION: "+resultCurrent + " "+resultNew);
} }
}// if selectionCheck }// focus has a separate position
else else
{ {
resultCurrent = currentLength + oldLength ; resultCurrent = currentLength + oldLength ;
resultNew = newLength + resultCurrent - 1; resultNew = newLength + resultCurrent - 1;
if (debug2) System.out.println("Start: "+ start + " end: "+end);
if (debug2) System.out.println("STRING: "+ restString + " which length is: "+restString.length());
stringToAppend = restString.substring(start,end); stringToAppend = restString.substring(start,end);
if (stringToAppend.trim().length()>0) if (stringToAppend.trim().length()>0)
{ {
outputVector.addElement(new MarkedArea(resultCurrent, resultNew, position)); outputVector.addElement(new MarkedArea(resultCurrent, resultNew, position,stringToAppend));
if (debug2) if (debug2)
System.out.println("APPENDING ZONE:"+stringToAppend+ System.out.println("APPENDING ZONE:"+stringToAppend+
"Length: "+newLength+" POSITION: "+resultCurrent + " "+resultNew+" "+position); "Length: "+newLength+" POSITION: "+resultCurrent + " "+resultNew+" "+position);
@@ -1786,8 +1817,8 @@ public class GFEditor2 extends JFrame implements ActionListener, CaretListener,
//updating: //updating:
public static void removeSubTreeTag (int start, int end) public static void removeSubTreeTag (int start, int end)
{ {
//if (debug2) if (debug2)
// System.out.println("removing: "+ start +" to "+ end); System.out.println("removing: "+ start +" to "+ end);
int difference =end-start+1; int difference =end-start+1;
int positionStart, positionEnd; int positionStart, positionEnd;
if (difference>20) if (difference>20)
@@ -1798,7 +1829,10 @@ public class GFEditor2 extends JFrame implements ActionListener, CaretListener,
} }
else else
currentPosition.removeElementAt(currentPosition.size()-1); currentPosition.removeElementAt(currentPosition.size()-1);
restString = restString.substring(0,start)+restString.substring(end+1); if (start>0)
restString = restString.substring(0,start)+restString.substring(end+1);
else
restString = restString.substring(end+1);
if (selStart > end) if (selStart > end)
{ selStart -=difference; { selStart -=difference;
selEnd -=difference; selEnd -=difference;

View File

@@ -4,12 +4,14 @@
public int begin; public int begin;
public int end; public int end;
public String position; public String position;
public String words;
MarkedArea(int b, int e, String p) MarkedArea(int b, int e, String p, String w)
{ {
begin = b; begin = b;
end = e; end = e;
position = p; position = p;
words = w;
} }
} }