Imported GNU Classpath 0.90
Imported GNU Classpath 0.90 * scripts/makemake.tcl: LocaleData.java moved to gnu/java/locale. * sources.am: Regenerated. * gcj/javaprims.h: Regenerated. * Makefile.in: Regenerated. * gcj/Makefile.in: Regenerated. * include/Makefile.in: Regenerated. * testsuite/Makefile.in: Regenerated. * gnu/java/lang/VMInstrumentationImpl.java: New override. * gnu/java/net/local/LocalSocketImpl.java: Likewise. * gnu/classpath/jdwp/VMMethod.java: Likewise. * gnu/classpath/jdwp/VMVirtualMachine.java: Update to latest interface. * java/lang/Thread.java: Add UncaughtExceptionHandler. * java/lang/reflect/Method.java: Implements GenericDeclaration and isSynthetic(), * java/lang/reflect/Field.java: Likewise. * java/lang/reflect/Constructor.java * java/lang/Class.java: Implements Type, GenericDeclaration, getSimpleName() and getEnclosing*() methods. * java/lang/Class.h: Add new public methods. * java/lang/Math.java: Add signum(), ulp() and log10(). * java/lang/natMath.cc (log10): New function. * java/security/VMSecureRandom.java: New override. * java/util/logging/Logger.java: Updated to latest classpath version. * java/util/logging/LogManager.java: New override. From-SVN: r113887
This commit is contained in:
parent
eaec4980e1
commit
4f9533c772
1640 changed files with 126485 additions and 104808 deletions
|
@ -59,6 +59,18 @@ public class PlainView extends View implements TabExpander
|
|||
* The color that is used to draw disabled text fields.
|
||||
*/
|
||||
Color disabledColor;
|
||||
|
||||
/**
|
||||
* While painting this is the textcomponent's current start index
|
||||
* of the selection.
|
||||
*/
|
||||
int selectionStart;
|
||||
|
||||
/**
|
||||
* While painting this is the textcomponent's current end index
|
||||
* of the selection.
|
||||
*/
|
||||
int selectionEnd;
|
||||
|
||||
Font font;
|
||||
|
||||
|
@ -150,12 +162,47 @@ public class PlainView extends View implements TabExpander
|
|||
{
|
||||
try
|
||||
{
|
||||
metrics = g.getFontMetrics();
|
||||
// FIXME: Selected text are not drawn yet.
|
||||
Element line = getElement().getElement(lineIndex);
|
||||
drawUnselectedText(g, x, y, line.getStartOffset(),
|
||||
line.getEndOffset() - 1);
|
||||
//drawSelectedText(g, , , , );
|
||||
int startOffset = line.getStartOffset();
|
||||
int endOffset = line.getEndOffset() - 1;
|
||||
|
||||
if (selectionStart <= startOffset)
|
||||
// Selection starts before the line ...
|
||||
if (selectionEnd <= startOffset)
|
||||
{
|
||||
// end ends before the line: Draw completely unselected text.
|
||||
drawUnselectedText(g, x, y, startOffset, endOffset);
|
||||
}
|
||||
else if (selectionEnd <= endOffset)
|
||||
{
|
||||
// and ends within the line: First part is selected,
|
||||
// second is not.
|
||||
x = drawSelectedText(g, x, y, startOffset, selectionEnd);
|
||||
drawUnselectedText(g, x, y, selectionEnd, endOffset);
|
||||
}
|
||||
else
|
||||
// and ends behind the line: Draw completely selected text.
|
||||
drawSelectedText(g, x, y, startOffset, endOffset);
|
||||
else if (selectionStart < endOffset)
|
||||
// Selection starts within the line ..
|
||||
if (selectionEnd < endOffset)
|
||||
{
|
||||
// and ends within it: First part unselected, second part
|
||||
// selected, third part unselected.
|
||||
x = drawUnselectedText(g, x, y, startOffset, selectionStart);
|
||||
x = drawSelectedText(g, x, y, selectionStart, selectionEnd);
|
||||
drawUnselectedText(g, x, y, selectionEnd, endOffset);
|
||||
}
|
||||
else
|
||||
{
|
||||
// and ends behind the line: First part unselected, second
|
||||
// part selected.
|
||||
x = drawUnselectedText(g, x, y, startOffset, selectionStart);
|
||||
drawSelectedText(g, x, y, selectionStart, endOffset);
|
||||
}
|
||||
else
|
||||
// Selection is behind this line: Draw completely unselected text.
|
||||
drawUnselectedText(g, x, y, startOffset, endOffset);
|
||||
}
|
||||
catch (BadLocationException e)
|
||||
{
|
||||
|
@ -171,7 +218,7 @@ public class PlainView extends View implements TabExpander
|
|||
g.setColor(selectedColor);
|
||||
Segment segment = getLineBuffer();
|
||||
getDocument().getText(p0, p1 - p0, segment);
|
||||
return Utilities.drawTabbedText(segment, x, y, g, this, 0);
|
||||
return Utilities.drawTabbedText(segment, x, y, g, this, segment.offset);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -212,6 +259,8 @@ public class PlainView extends View implements TabExpander
|
|||
selectedColor = textComponent.getSelectedTextColor();
|
||||
unselectedColor = textComponent.getForeground();
|
||||
disabledColor = textComponent.getDisabledTextColor();
|
||||
selectionStart = textComponent.getSelectionStart();
|
||||
selectionEnd = textComponent.getSelectionEnd();
|
||||
|
||||
Rectangle rect = s.getBounds();
|
||||
|
||||
|
@ -219,11 +268,13 @@ public class PlainView extends View implements TabExpander
|
|||
Document document = textComponent.getDocument();
|
||||
Element root = document.getDefaultRootElement();
|
||||
int y = rect.y + metrics.getAscent();
|
||||
int height = metrics.getHeight();
|
||||
|
||||
for (int i = 0; i < root.getElementCount(); i++)
|
||||
int count = root.getElementCount();
|
||||
for (int i = 0; i < count; i++)
|
||||
{
|
||||
drawLine(i, g, rect.x, y);
|
||||
y += metrics.getHeight();
|
||||
y += height;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -274,7 +325,7 @@ public class PlainView extends View implements TabExpander
|
|||
{
|
||||
Element child = el.getElement(i);
|
||||
int start = child.getStartOffset();
|
||||
int end = child.getEndOffset();
|
||||
int end = child.getEndOffset() - 1;
|
||||
try
|
||||
{
|
||||
el.getDocument().getText(start, end - start, seg);
|
||||
|
@ -386,6 +437,11 @@ public class PlainView extends View implements TabExpander
|
|||
*/
|
||||
protected void updateDamage(DocumentEvent changes, Shape a, ViewFactory f)
|
||||
{
|
||||
// Return early and do no updates if the allocation area is null
|
||||
// (like the RI).
|
||||
if (a == null)
|
||||
return;
|
||||
|
||||
float oldMaxLineLength = maxLineLength;
|
||||
Rectangle alloc = a.getBounds();
|
||||
Element el = getElement();
|
||||
|
@ -467,7 +523,7 @@ public class PlainView extends View implements TabExpander
|
|||
{
|
||||
Element child = newElements[i];
|
||||
int start = child.getStartOffset();
|
||||
int end = child.getEndOffset();
|
||||
int end = child.getEndOffset() - 1;
|
||||
try
|
||||
{
|
||||
el.getDocument().getText(start, end - start, seg);
|
||||
|
@ -586,7 +642,7 @@ public class PlainView extends View implements TabExpander
|
|||
* @returna {@link Segment} object, that can be used to fetch text from
|
||||
* the document
|
||||
*/
|
||||
protected Segment getLineBuffer()
|
||||
protected final Segment getLineBuffer()
|
||||
{
|
||||
if (lineBuffer == null)
|
||||
lineBuffer = new Segment();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue