提交 c6ac174c 编写于 作者: S serb

8025603: Unused methods in the awt text peers should be removed

Reviewed-by: art, anthony
上级 4b8e480a
...@@ -123,7 +123,7 @@ abstract class LWTextComponentPeer<T extends TextComponent, D extends JComponent ...@@ -123,7 +123,7 @@ abstract class LWTextComponentPeer<T extends TextComponent, D extends JComponent
} }
@Override @Override
public final void setText(final String l) { public final void setText(final String text) {
synchronized (getDelegateLock()) { synchronized (getDelegateLock()) {
// JTextArea.setText() posts two different events (remove & insert). // JTextArea.setText() posts two different events (remove & insert).
// Since we make no differences between text events, // Since we make no differences between text events,
...@@ -131,7 +131,7 @@ abstract class LWTextComponentPeer<T extends TextComponent, D extends JComponent ...@@ -131,7 +131,7 @@ abstract class LWTextComponentPeer<T extends TextComponent, D extends JComponent
// JTextArea.setText() is called. // JTextArea.setText() is called.
final Document document = getTextComponent().getDocument(); final Document document = getTextComponent().getDocument();
document.removeDocumentListener(this); document.removeDocumentListener(this);
getTextComponent().setText(l); getTextComponent().setText(text);
revalidate(); revalidate();
if (firstChangeSkipped) { if (firstChangeSkipped) {
postEvent(new TextEvent(getTarget(), postEvent(new TextEvent(getTarget(),
......
...@@ -822,37 +822,6 @@ public class TextComponent extends Component implements Accessible { ...@@ -822,37 +822,6 @@ public class TextComponent extends Component implements Accessible {
// Accessibility support // Accessibility support
//////////////// ////////////////
/**
*
*/
int getIndexAtPoint(Point p) {
return -1;
/* To be fully implemented in a future release
if (peer == null) {
return -1;
}
TextComponentPeer peer = (TextComponentPeer)this.peer;
return peer.getIndexAtPoint(p.x, p.y);
*/
}
/**
*
*/
Rectangle getCharacterBounds(int i) {
return null;
/* To be fully implemented in a future release
if (peer == null) {
return null;
}
TextComponentPeer peer = (TextComponentPeer)this.peer;
return peer.getCharacterBounds(i);
*/
}
/** /**
* Gets the AccessibleContext associated with this TextComponent. * Gets the AccessibleContext associated with this TextComponent.
* For text components, the AccessibleContext takes the form of an * For text components, the AccessibleContext takes the form of an
...@@ -963,7 +932,7 @@ public class TextComponent extends Component implements Accessible { ...@@ -963,7 +932,7 @@ public class TextComponent extends Component implements Accessible {
* @return the zero-based index of the character under Point p. * @return the zero-based index of the character under Point p.
*/ */
public int getIndexAtPoint(Point p) { public int getIndexAtPoint(Point p) {
return TextComponent.this.getIndexAtPoint(p); return -1;
} }
/** /**
...@@ -976,7 +945,7 @@ public class TextComponent extends Component implements Accessible { ...@@ -976,7 +945,7 @@ public class TextComponent extends Component implements Accessible {
* @return the screen coordinates of the character's bounding box * @return the screen coordinates of the character's bounding box
*/ */
public Rectangle getCharacterBounds(int i) { public Rectangle getCharacterBounds(int i) {
return TextComponent.this.getCharacterBounds(i); return null;
} }
/** /**
......
...@@ -60,11 +60,11 @@ public interface TextComponentPeer extends ComponentPeer { ...@@ -60,11 +60,11 @@ public interface TextComponentPeer extends ComponentPeer {
/** /**
* Sets the content for the text component. * Sets the content for the text component.
* *
* @param l the content to set * @param text the content to set
* *
* @see TextComponent#setText(String) * @see TextComponent#setText(String)
*/ */
void setText(String l); void setText(String text);
/** /**
* Returns the start index of the current selection. * Returns the start index of the current selection.
......
...@@ -97,6 +97,7 @@ final class XTextFieldPeer extends XComponentPeer implements TextFieldPeer { ...@@ -97,6 +97,7 @@ final class XTextFieldPeer extends XComponentPeer implements TextFieldPeer {
firstChangeSkipped = true; firstChangeSkipped = true;
} }
@Override
public void dispose() { public void dispose() {
XToolkit.specialPeerMap.remove(xtext); XToolkit.specialPeerMap.remove(xtext);
// visible caret has a timer thread which must be stopped // visible caret has a timer thread which must be stopped
...@@ -136,10 +137,10 @@ final class XTextFieldPeer extends XComponentPeer implements TextFieldPeer { ...@@ -136,10 +137,10 @@ final class XTextFieldPeer extends XComponentPeer implements TextFieldPeer {
setFont(font); setFont(font);
} }
/** /**
* @see java.awt.peer.TextComponentPeer * @see java.awt.peer.TextComponentPeer
*/ */
@Override
public void setEditable(boolean editable) { public void setEditable(boolean editable) {
if (xtext != null) { if (xtext != null) {
xtext.setEditable(editable); xtext.setEditable(editable);
...@@ -150,6 +151,7 @@ final class XTextFieldPeer extends XComponentPeer implements TextFieldPeer { ...@@ -150,6 +151,7 @@ final class XTextFieldPeer extends XComponentPeer implements TextFieldPeer {
/** /**
* @see java.awt.peer.ComponentPeer * @see java.awt.peer.ComponentPeer
*/ */
@Override
public void setEnabled(boolean enabled) { public void setEnabled(boolean enabled) {
super.setEnabled(enabled); super.setEnabled(enabled);
if (xtext != null) { if (xtext != null) {
...@@ -161,22 +163,23 @@ final class XTextFieldPeer extends XComponentPeer implements TextFieldPeer { ...@@ -161,22 +163,23 @@ final class XTextFieldPeer extends XComponentPeer implements TextFieldPeer {
/** /**
* @see java.awt.peer.TextComponentPeer * @see java.awt.peer.TextComponentPeer
*/ */
@Override
public InputMethodRequests getInputMethodRequests() { public InputMethodRequests getInputMethodRequests() {
if (xtext != null) return xtext.getInputMethodRequests(); if (xtext != null) return xtext.getInputMethodRequests();
else return null; else return null;
} }
@Override
void handleJavaInputMethodEvent(InputMethodEvent e) { void handleJavaInputMethodEvent(InputMethodEvent e) {
if (xtext != null) if (xtext != null)
xtext.processInputMethodEventImpl(e); xtext.processInputMethodEventImpl(e);
} }
/** /**
* @see java.awt.peer.TextFieldPeer * @see java.awt.peer.TextFieldPeer
*/ */
@Override
public void setEchoChar(char c) { public void setEchoChar(char c) {
if (xtext != null) { if (xtext != null) {
xtext.setEchoChar(c); xtext.setEchoChar(c);
...@@ -188,6 +191,7 @@ final class XTextFieldPeer extends XComponentPeer implements TextFieldPeer { ...@@ -188,6 +191,7 @@ final class XTextFieldPeer extends XComponentPeer implements TextFieldPeer {
/** /**
* @see java.awt.peer.TextComponentPeer * @see java.awt.peer.TextComponentPeer
*/ */
@Override
public int getSelectionStart() { public int getSelectionStart() {
return xtext.getSelectionStart(); return xtext.getSelectionStart();
} }
...@@ -195,6 +199,7 @@ final class XTextFieldPeer extends XComponentPeer implements TextFieldPeer { ...@@ -195,6 +199,7 @@ final class XTextFieldPeer extends XComponentPeer implements TextFieldPeer {
/** /**
* @see java.awt.peer.TextComponentPeer * @see java.awt.peer.TextComponentPeer
*/ */
@Override
public int getSelectionEnd() { public int getSelectionEnd() {
return xtext.getSelectionEnd(); return xtext.getSelectionEnd();
} }
...@@ -202,6 +207,7 @@ final class XTextFieldPeer extends XComponentPeer implements TextFieldPeer { ...@@ -202,6 +207,7 @@ final class XTextFieldPeer extends XComponentPeer implements TextFieldPeer {
/** /**
* @see java.awt.peer.TextComponentPeer * @see java.awt.peer.TextComponentPeer
*/ */
@Override
public String getText() { public String getText() {
return xtext.getText(); return xtext.getText();
} }
...@@ -209,12 +215,13 @@ final class XTextFieldPeer extends XComponentPeer implements TextFieldPeer { ...@@ -209,12 +215,13 @@ final class XTextFieldPeer extends XComponentPeer implements TextFieldPeer {
/** /**
* @see java.awt.peer.TextComponentPeer * @see java.awt.peer.TextComponentPeer
*/ */
public void setText(String txt) { @Override
setXAWTTextField(txt); public void setText(String text) {
setXAWTTextField(text);
repaint(); repaint();
} }
private boolean setXAWTTextField(String txt) { private void setXAWTTextField(String txt) {
text = txt; text = txt;
if (xtext != null) { if (xtext != null) {
// JTextField.setText() posts two different events (remove & insert). // JTextField.setText() posts two different events (remove & insert).
...@@ -229,29 +236,22 @@ final class XTextFieldPeer extends XComponentPeer implements TextFieldPeer { ...@@ -229,29 +236,22 @@ final class XTextFieldPeer extends XComponentPeer implements TextFieldPeer {
xtext.getDocument().addDocumentListener(xtext); xtext.getDocument().addDocumentListener(xtext);
xtext.setCaretPosition(0); xtext.setCaretPosition(0);
} }
return true;
} }
/** /**
* to be implemented. * to be implemented.
* @see java.awt.peer.TextComponentPeer * @see java.awt.peer.TextComponentPeer
*/ */
@Override
public void setCaretPosition(int position) { public void setCaretPosition(int position) {
if (xtext != null) xtext.setCaretPosition(position); if (xtext != null) xtext.setCaretPosition(position);
} }
/**
* DEPRECATED
* @see java.awt.peer.TextFieldPeer
*/
public void setEchoCharacter(char c) {
setEchoChar(c);
}
void repaintText() { void repaintText() {
xtext.repaintNow(); xtext.repaintNow();
} }
@Override
public void setBackground(Color c) { public void setBackground(Color c) {
if (log.isLoggable(PlatformLogger.Level.FINE)) { if (log.isLoggable(PlatformLogger.Level.FINE)) {
log.fine("target="+ target + ", old=" + background + ", new=" + c); log.fine("target="+ target + ", old=" + background + ", new=" + c);
...@@ -264,6 +264,7 @@ final class XTextFieldPeer extends XComponentPeer implements TextFieldPeer { ...@@ -264,6 +264,7 @@ final class XTextFieldPeer extends XComponentPeer implements TextFieldPeer {
repaintText(); repaintText();
} }
@Override
public void setForeground(Color c) { public void setForeground(Color c) {
foreground = c; foreground = c;
if (xtext != null) { if (xtext != null) {
...@@ -274,6 +275,7 @@ final class XTextFieldPeer extends XComponentPeer implements TextFieldPeer { ...@@ -274,6 +275,7 @@ final class XTextFieldPeer extends XComponentPeer implements TextFieldPeer {
repaintText(); repaintText();
} }
@Override
public void setFont(Font f) { public void setFont(Font f) {
synchronized (getStateLock()) { synchronized (getStateLock()) {
font = f; font = f;
...@@ -284,14 +286,6 @@ final class XTextFieldPeer extends XComponentPeer implements TextFieldPeer { ...@@ -284,14 +286,6 @@ final class XTextFieldPeer extends XComponentPeer implements TextFieldPeer {
xtext.validate(); xtext.validate();
} }
/**
* DEPRECATED
* @see java.awt.peer.TextFieldPeer
*/
public Dimension preferredSize(int cols) {
return getPreferredSize(cols);
}
/** /**
* Deselects the the highlighted text. * Deselects the the highlighted text.
*/ */
...@@ -303,20 +297,19 @@ final class XTextFieldPeer extends XComponentPeer implements TextFieldPeer { ...@@ -303,20 +297,19 @@ final class XTextFieldPeer extends XComponentPeer implements TextFieldPeer {
} }
} }
/** /**
* to be implemented. * to be implemented.
* @see java.awt.peer.TextComponentPeer * @see java.awt.peer.TextComponentPeer
*/ */
@Override
public int getCaretPosition() { public int getCaretPosition() {
return xtext.getCaretPosition(); return xtext.getCaretPosition();
} }
/** /**
* @see java.awt.peer.TextComponentPeer * @see java.awt.peer.TextComponentPeer
*/ */
@Override
public void select(int s, int e) { public void select(int s, int e) {
xtext.select(s,e); xtext.select(s,e);
// Fixed 5100806 // Fixed 5100806
...@@ -324,29 +317,32 @@ final class XTextFieldPeer extends XComponentPeer implements TextFieldPeer { ...@@ -324,29 +317,32 @@ final class XTextFieldPeer extends XComponentPeer implements TextFieldPeer {
xtext.repaint(); xtext.repaint();
} }
@Override
public Dimension getMinimumSize() { public Dimension getMinimumSize() {
return xtext.getMinimumSize(); return xtext.getMinimumSize();
} }
@Override
public Dimension getPreferredSize() { public Dimension getPreferredSize() {
return xtext.getPreferredSize(); return xtext.getPreferredSize();
} }
@Override
public Dimension getPreferredSize(int cols) { public Dimension getPreferredSize(int cols) {
return getMinimumSize(cols); return getMinimumSize(cols);
} }
private static final int PADDING = 16; private static final int PADDING = 16;
@Override
public Dimension getMinimumSize(int cols) { public Dimension getMinimumSize(int cols) {
Font f = xtext.getFont(); Font f = xtext.getFont();
FontMetrics fm = xtext.getFontMetrics(f); FontMetrics fm = xtext.getFontMetrics(f);
return new Dimension(fm.charWidth('0') * cols + 10, return new Dimension(fm.charWidth('0') * cols + 10,
fm.getMaxDescent() + fm.getMaxAscent() + PADDING); fm.getMaxDescent() + fm.getMaxAscent() + PADDING);
} }
@Override
public boolean isFocusable() { public boolean isFocusable() {
return true; return true;
} }
...@@ -359,11 +355,10 @@ final class XTextFieldPeer extends XComponentPeer implements TextFieldPeer { ...@@ -359,11 +355,10 @@ final class XTextFieldPeer extends XComponentPeer implements TextFieldPeer {
modifiers)); modifiers));
} }
protected void disposeImpl() { protected void disposeImpl() {
} }
@Override
public void repaint() { public void repaint() {
if (xtext != null) xtext.repaint(); if (xtext != null) xtext.repaint();
} }
...@@ -372,27 +367,32 @@ final class XTextFieldPeer extends XComponentPeer implements TextFieldPeer { ...@@ -372,27 +367,32 @@ final class XTextFieldPeer extends XComponentPeer implements TextFieldPeer {
if (xtext != null) xtext.paint(g); if (xtext != null) xtext.paint(g);
} }
@Override
public void print(Graphics g) { public void print(Graphics g) {
if (xtext != null) { if (xtext != null) {
xtext.print(g); xtext.print(g);
} }
} }
@Override
public void focusLost(FocusEvent e) { public void focusLost(FocusEvent e) {
super.focusLost(e); super.focusLost(e);
xtext.forwardFocusLost(e); xtext.forwardFocusLost(e);
} }
@Override
public void focusGained(FocusEvent e) { public void focusGained(FocusEvent e) {
super.focusGained(e); super.focusGained(e);
xtext.forwardFocusGained(e); xtext.forwardFocusGained(e);
} }
@Override
void handleJavaKeyEvent(KeyEvent e) { void handleJavaKeyEvent(KeyEvent e) {
AWTAccessor.getComponentAccessor().processEvent(xtext,e); AWTAccessor.getComponentAccessor().processEvent(xtext,e);
} }
@Override
public void handleJavaMouseEvent( MouseEvent mouseEvent ) { public void handleJavaMouseEvent( MouseEvent mouseEvent ) {
super.handleJavaMouseEvent(mouseEvent); super.handleJavaMouseEvent(mouseEvent);
if (xtext != null) { if (xtext != null) {
...@@ -405,26 +405,21 @@ final class XTextFieldPeer extends XComponentPeer implements TextFieldPeer { ...@@ -405,26 +405,21 @@ final class XTextFieldPeer extends XComponentPeer implements TextFieldPeer {
} }
} }
/** /**
* DEPRECATED * DEPRECATED
*/ */
@Override
public Dimension minimumSize() { public Dimension minimumSize() {
return getMinimumSize(); return getMinimumSize();
} }
/** @Override
* DEPRECATED
*/
public Dimension minimumSize(int cols) {
return getMinimumSize(cols);
}
public void setVisible(boolean b) { public void setVisible(boolean b) {
super.setVisible(b); super.setVisible(b);
if (xtext != null) xtext.setVisible(b); if (xtext != null) xtext.setVisible(b);
} }
@Override
public void setBounds(int x, int y, int width, int height, int op) { public void setBounds(int x, int y, int width, int height, int op) {
super.setBounds(x, y, width, height, op); super.setBounds(x, y, width, height, op);
if (xtext != null) { if (xtext != null) {
...@@ -451,47 +446,11 @@ final class XTextFieldPeer extends XComponentPeer implements TextFieldPeer { ...@@ -451,47 +446,11 @@ final class XTextFieldPeer extends XComponentPeer implements TextFieldPeer {
} }
} }
final class AWTTextFieldUI extends MotifPasswordFieldUI {
// private JTextField jtf;
// Accessibility support
//
// stub functions: to be fully implemented in a future release
public int getIndexAtPoint(int x, int y) { return -1; }
public Rectangle getCharacterBounds(int i) { return null; }
public long filterEvents(long mask) { return 0; }
/* To be fully implemented in a future release
int oldSelectionStart;
int oldSelectionEnd;
public native int getIndexAtPoint(int x, int y);
public native Rectangle getCharacterBounds(int i);
public native long filterEvents(long mask);
/**
* Handle a change in the text selection endpoints
* (Note: could be simply a change in the caret location)
*
public void selectionValuesChanged(int start, int end) {
return; // Need to write implemetation of this.
}
*/
class AWTTextFieldUI extends MotifPasswordFieldUI {
/**
* Creates a UI for a JTextField.
*
* @param c the text field
* @return the UI
*/
JTextField jtf;
@Override
protected String getPropertyPrefix() { protected String getPropertyPrefix() {
JTextComponent comp = getComponent(); JTextComponent comp = getComponent();
if (comp instanceof JPasswordField && ((JPasswordField)comp).echoCharIsSet()) { if (comp instanceof JPasswordField && ((JPasswordField)comp).echoCharIsSet()) {
...@@ -501,6 +460,7 @@ final class XTextFieldPeer extends XComponentPeer implements TextFieldPeer { ...@@ -501,6 +460,7 @@ final class XTextFieldPeer extends XComponentPeer implements TextFieldPeer {
} }
} }
@Override
public void installUI(JComponent c) { public void installUI(JComponent c) {
super.installUI(c); super.installUI(c);
...@@ -557,6 +517,7 @@ final class XTextFieldPeer extends XComponentPeer implements TextFieldPeer { ...@@ -557,6 +517,7 @@ final class XTextFieldPeer extends XComponentPeer implements TextFieldPeer {
} }
} }
@Override
protected void installKeyboardActions() { protected void installKeyboardActions() {
super.installKeyboardActions(); super.installKeyboardActions();
...@@ -574,21 +535,19 @@ final class XTextFieldPeer extends XComponentPeer implements TextFieldPeer { ...@@ -574,21 +535,19 @@ final class XTextFieldPeer extends XComponentPeer implements TextFieldPeer {
} }
} }
@Override
protected Caret createCaret() { protected Caret createCaret() {
return new XTextAreaPeer.XAWTCaret(); return new XTextAreaPeer.XAWTCaret();
} }
} }
class XAWTTextField extends JPasswordField final class XAWTTextField extends JPasswordField
implements ActionListener, implements ActionListener, DocumentListener {
DocumentListener
{
boolean isFocused = false; private boolean isFocused = false;
private final XComponentPeer peer;
XComponentPeer peer; XAWTTextField(String text, XComponentPeer peer, Container parent) {
public XAWTTextField(String text, XComponentPeer peer, Container parent) {
super(text); super(text);
this.peer = peer; this.peer = peer;
setDoubleBuffered(true); setDoubleBuffered(true);
...@@ -603,6 +562,7 @@ final class XTextFieldPeer extends XComponentPeer implements TextFieldPeer { ...@@ -603,6 +562,7 @@ final class XTextFieldPeer extends XComponentPeer implements TextFieldPeer {
} }
@Override
public void actionPerformed( ActionEvent actionEvent ) { public void actionPerformed( ActionEvent actionEvent ) {
peer.postEvent(new ActionEvent(peer.target, peer.postEvent(new ActionEvent(peer.target,
ActionEvent.ACTION_PERFORMED, ActionEvent.ACTION_PERFORMED,
...@@ -612,6 +572,7 @@ final class XTextFieldPeer extends XComponentPeer implements TextFieldPeer { ...@@ -612,6 +572,7 @@ final class XTextFieldPeer extends XComponentPeer implements TextFieldPeer {
} }
@Override
public void insertUpdate(DocumentEvent e) { public void insertUpdate(DocumentEvent e) {
if (peer != null) { if (peer != null) {
peer.postEvent(new TextEvent(peer.target, peer.postEvent(new TextEvent(peer.target,
...@@ -619,6 +580,7 @@ final class XTextFieldPeer extends XComponentPeer implements TextFieldPeer { ...@@ -619,6 +580,7 @@ final class XTextFieldPeer extends XComponentPeer implements TextFieldPeer {
} }
} }
@Override
public void removeUpdate(DocumentEvent e) { public void removeUpdate(DocumentEvent e) {
if (peer != null) { if (peer != null) {
peer.postEvent(new TextEvent(peer.target, peer.postEvent(new TextEvent(peer.target,
...@@ -626,6 +588,7 @@ final class XTextFieldPeer extends XComponentPeer implements TextFieldPeer { ...@@ -626,6 +588,7 @@ final class XTextFieldPeer extends XComponentPeer implements TextFieldPeer {
} }
} }
@Override
public void changedUpdate(DocumentEvent e) { public void changedUpdate(DocumentEvent e) {
if (peer != null) { if (peer != null) {
peer.postEvent(new TextEvent(peer.target, peer.postEvent(new TextEvent(peer.target,
...@@ -633,33 +596,32 @@ final class XTextFieldPeer extends XComponentPeer implements TextFieldPeer { ...@@ -633,33 +596,32 @@ final class XTextFieldPeer extends XComponentPeer implements TextFieldPeer {
} }
} }
@Override
public ComponentPeer getPeer() { public ComponentPeer getPeer() {
return (ComponentPeer) peer; return (ComponentPeer) peer;
} }
public void repaintNow() { public void repaintNow() {
paintImmediately(getBounds()); paintImmediately(getBounds());
} }
@Override
public Graphics getGraphics() { public Graphics getGraphics() {
return peer.getGraphics(); return peer.getGraphics();
} }
@Override
public void updateUI() { public void updateUI() {
ComponentUI ui = new AWTTextFieldUI(); ComponentUI ui = new AWTTextFieldUI();
setUI(ui); setUI(ui);
} }
void forwardFocusGained( FocusEvent e) { void forwardFocusGained( FocusEvent e) {
isFocused = true; isFocused = true;
FocusEvent fe = CausedFocusEvent.retarget(e, this); FocusEvent fe = CausedFocusEvent.retarget(e, this);
super.processFocusEvent(fe); super.processFocusEvent(fe);
} }
void forwardFocusLost( FocusEvent e) { void forwardFocusLost( FocusEvent e) {
isFocused = false; isFocused = false;
FocusEvent fe = CausedFocusEvent.retarget(e, this); FocusEvent fe = CausedFocusEvent.retarget(e, this);
...@@ -667,11 +629,11 @@ final class XTextFieldPeer extends XComponentPeer implements TextFieldPeer { ...@@ -667,11 +629,11 @@ final class XTextFieldPeer extends XComponentPeer implements TextFieldPeer {
} }
@Override
public boolean hasFocus() { public boolean hasFocus() {
return isFocused; return isFocused;
} }
public void processInputMethodEventImpl(InputMethodEvent e) { public void processInputMethodEventImpl(InputMethodEvent e) {
processInputMethodEvent(e); processInputMethodEvent(e);
} }
...@@ -686,6 +648,7 @@ final class XTextFieldPeer extends XComponentPeer implements TextFieldPeer { ...@@ -686,6 +648,7 @@ final class XTextFieldPeer extends XComponentPeer implements TextFieldPeer {
// Fix for 4915454 - override the default implementation to avoid // Fix for 4915454 - override the default implementation to avoid
// loading SystemFlavorMap and associated classes. // loading SystemFlavorMap and associated classes.
@Override
public void setTransferHandler(TransferHandler newHandler) { public void setTransferHandler(TransferHandler newHandler) {
TransferHandler oldHandler = (TransferHandler) TransferHandler oldHandler = (TransferHandler)
getClientProperty(AWTAccessor.getClientPropertyKeyAccessor() getClientProperty(AWTAccessor.getClientPropertyKeyAccessor()
...@@ -697,6 +660,7 @@ final class XTextFieldPeer extends XComponentPeer implements TextFieldPeer { ...@@ -697,6 +660,7 @@ final class XTextFieldPeer extends XComponentPeer implements TextFieldPeer {
firePropertyChange("transferHandler", oldHandler, newHandler); firePropertyChange("transferHandler", oldHandler, newHandler);
} }
@Override
public void setEchoChar(char c) { public void setEchoChar(char c) {
super.setEchoChar(c); super.setEchoChar(c);
((AWTTextFieldUI)ui).installKeyboardActions(); ((AWTTextFieldUI)ui).installKeyboardActions();
......
/* /*
* Copyright (c) 1996, 2006, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 1996, 2013, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* *
* This code is free software; you can redistribute it and/or modify it * This code is free software; you can redistribute it and/or modify it
...@@ -29,7 +29,7 @@ import java.awt.peer.*; ...@@ -29,7 +29,7 @@ import java.awt.peer.*;
import java.awt.event.ActionEvent; import java.awt.event.ActionEvent;
import java.awt.event.KeyEvent; import java.awt.event.KeyEvent;
class WButtonPeer extends WComponentPeer implements ButtonPeer { final class WButtonPeer extends WComponentPeer implements ButtonPeer {
static { static {
initIDs(); initIDs();
...@@ -83,13 +83,6 @@ class WButtonPeer extends WComponentPeer implements ButtonPeer { ...@@ -83,13 +83,6 @@ class WButtonPeer extends WComponentPeer implements ButtonPeer {
return false; return false;
} }
/**
* DEPRECATED
*/
public Dimension minimumSize() {
return getMinimumSize();
}
/** /**
* Initialize JNI field and method IDs * Initialize JNI field and method IDs
*/ */
......
/* /*
* Copyright (c) 1996, 2005, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 1996, 2013, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* *
* This code is free software; you can redistribute it and/or modify it * This code is free software; you can redistribute it and/or modify it
...@@ -28,7 +28,7 @@ import java.awt.*; ...@@ -28,7 +28,7 @@ import java.awt.*;
import java.awt.peer.*; import java.awt.peer.*;
import java.awt.event.ItemEvent; import java.awt.event.ItemEvent;
public class WCheckboxPeer extends WComponentPeer implements CheckboxPeer { final class WCheckboxPeer extends WComponentPeer implements CheckboxPeer {
// CheckboxPeer implementation // CheckboxPeer implementation
...@@ -100,12 +100,4 @@ public class WCheckboxPeer extends WComponentPeer implements CheckboxPeer { ...@@ -100,12 +100,4 @@ public class WCheckboxPeer extends WComponentPeer implements CheckboxPeer {
} }
}); });
} }
/**
* DEPRECATED
*/
public Dimension minimumSize() {
return getMinimumSize();
}
} }
/* /*
* Copyright (c) 1996, 2007, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 1996, 2013, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* *
* This code is free software; you can redistribute it and/or modify it * This code is free software; you can redistribute it and/or modify it
...@@ -32,7 +32,7 @@ import java.awt.event.WindowListener; ...@@ -32,7 +32,7 @@ import java.awt.event.WindowListener;
import java.awt.event.WindowAdapter; import java.awt.event.WindowAdapter;
import sun.awt.SunToolkit; import sun.awt.SunToolkit;
class WChoicePeer extends WComponentPeer implements ChoicePeer { final class WChoicePeer extends WComponentPeer implements ChoicePeer {
// WComponentPeer overrides // WComponentPeer overrides
...@@ -151,12 +151,5 @@ class WChoicePeer extends WComponentPeer implements ChoicePeer { ...@@ -151,12 +151,5 @@ class WChoicePeer extends WComponentPeer implements ChoicePeer {
return fm.getHeight() * maxItems; return fm.getHeight() * maxItems;
} }
/**
* DEPRECATED
*/
public Dimension minimumSize() {
return getMinimumSize();
}
native void closeList(); native void closeList();
} }
/* /*
* Copyright (c) 1996, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 1996, 2013, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* *
* This code is free software; you can redistribute it and/or modify it * This code is free software; you can redistribute it and/or modify it
...@@ -50,7 +50,6 @@ import sun.java2d.ScreenUpdateManager; ...@@ -50,7 +50,6 @@ import sun.java2d.ScreenUpdateManager;
import sun.java2d.d3d.D3DSurfaceData; import sun.java2d.d3d.D3DSurfaceData;
import sun.java2d.opengl.OGLSurfaceData; import sun.java2d.opengl.OGLSurfaceData;
import sun.java2d.pipe.Region; import sun.java2d.pipe.Region;
import sun.awt.DisplayChangedListener;
import sun.awt.PaintEventDispatcher; import sun.awt.PaintEventDispatcher;
import sun.awt.SunToolkit; import sun.awt.SunToolkit;
import sun.awt.event.IgnorePaintEvent; import sun.awt.event.IgnorePaintEvent;
...@@ -881,13 +880,6 @@ public abstract class WComponentPeer extends WObjectPeer ...@@ -881,13 +880,6 @@ public abstract class WComponentPeer extends WObjectPeer
public native void beginValidate(); public native void beginValidate();
public native void endValidate(); public native void endValidate();
/**
* DEPRECATED
*/
public Dimension minimumSize() {
return getMinimumSize();
}
/** /**
* DEPRECATED * DEPRECATED
*/ */
......
/* /*
* Copyright (c) 1996, 2001, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 1996, 2013, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* *
* This code is free software; you can redistribute it and/or modify it * This code is free software; you can redistribute it and/or modify it
...@@ -27,7 +27,7 @@ package sun.awt.windows; ...@@ -27,7 +27,7 @@ package sun.awt.windows;
import java.awt.*; import java.awt.*;
import java.awt.peer.*; import java.awt.peer.*;
class WLabelPeer extends WComponentPeer implements LabelPeer { final class WLabelPeer extends WComponentPeer implements LabelPeer {
// ComponentPeer overrides // ComponentPeer overrides
...@@ -82,12 +82,4 @@ class WLabelPeer extends WComponentPeer implements LabelPeer { ...@@ -82,12 +82,4 @@ class WLabelPeer extends WComponentPeer implements LabelPeer {
super.initialize(); super.initialize();
} }
/**
* DEPRECATED
*/
public Dimension minimumSize() {
return getMinimumSize();
}
} }
/* /*
* Copyright (c) 1996, 2006, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 1996, 2013, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* *
* This code is free software; you can redistribute it and/or modify it * This code is free software; you can redistribute it and/or modify it
...@@ -29,13 +29,8 @@ import java.awt.peer.*; ...@@ -29,13 +29,8 @@ import java.awt.peer.*;
import java.awt.event.ActionEvent; import java.awt.event.ActionEvent;
import java.awt.event.ItemEvent; import java.awt.event.ItemEvent;
class WListPeer extends WComponentPeer implements ListPeer { final class WListPeer extends WComponentPeer implements ListPeer {
// ComponentPeer overrides
public Dimension minimumSize() {
return minimumSize(4);
}
public boolean isFocusable() { public boolean isFocusable() {
return true; return true;
} }
......
/* /*
* Copyright (c) 1996, 2002, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 1996, 2013, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* *
* This code is free software; you can redistribute it and/or modify it * This code is free software; you can redistribute it and/or modify it
...@@ -28,8 +28,7 @@ import java.awt.*; ...@@ -28,8 +28,7 @@ import java.awt.*;
import java.awt.peer.*; import java.awt.peer.*;
import java.awt.event.AdjustmentEvent; import java.awt.event.AdjustmentEvent;
class WScrollbarPeer extends WComponentPeer implements ScrollbarPeer { final class WScrollbarPeer extends WComponentPeer implements ScrollbarPeer {
// Returns width for vertial scrollbar as SM_CXHSCROLL, // Returns width for vertial scrollbar as SM_CXHSCROLL,
// height for horizontal scrollbar as SM_CYVSCROLL // height for horizontal scrollbar as SM_CYVSCROLL
...@@ -140,12 +139,4 @@ class WScrollbarPeer extends WComponentPeer implements ScrollbarPeer { ...@@ -140,12 +139,4 @@ class WScrollbarPeer extends WComponentPeer implements ScrollbarPeer {
public boolean shouldClearRectBeforePaint() { public boolean shouldClearRectBeforePaint() {
return false; return false;
} }
/**
* DEPRECATED
*/
public Dimension minimumSize() {
return getMinimumSize();
}
} }
/* /*
* Copyright (c) 1996, 2003, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 1996, 2013, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* *
* This code is free software; you can redistribute it and/or modify it * This code is free software; you can redistribute it and/or modify it
...@@ -30,34 +30,36 @@ import java.awt.peer.*; ...@@ -30,34 +30,36 @@ import java.awt.peer.*;
import java.awt.im.InputMethodRequests; import java.awt.im.InputMethodRequests;
class WTextAreaPeer extends WTextComponentPeer implements TextAreaPeer { final class WTextAreaPeer extends WTextComponentPeer implements TextAreaPeer {
// WComponentPeer overrides // WComponentPeer overrides
@Override
public Dimension getMinimumSize() { public Dimension getMinimumSize() {
return getMinimumSize(10, 60); return getMinimumSize(10, 60);
} }
// TextAreaPeer implementation // TextAreaPeer implementation
/* This should eventually be a direct native method. */ @Override
public void insert(String txt, int pos) { public void insert(String text, int pos) {
insertText(txt, pos); replaceRange(text, pos, pos);
} }
/* This should eventually be a direct native method. */ @Override
public void replaceRange(String txt, int start, int end) { public native void replaceRange(String text, int start, int end);
replaceText(txt, start, end);
}
@Override
public Dimension getPreferredSize(int rows, int cols) { public Dimension getPreferredSize(int rows, int cols) {
return getMinimumSize(rows, cols); return getMinimumSize(rows, cols);
} }
@Override
public Dimension getMinimumSize(int rows, int cols) { public Dimension getMinimumSize(int rows, int cols) {
FontMetrics fm = getFontMetrics(((TextArea)target).getFont()); FontMetrics fm = getFontMetrics(((TextArea)target).getFont());
return new Dimension(fm.charWidth('0') * cols + 20, fm.getHeight() * rows + 20); return new Dimension(fm.charWidth('0') * cols + 20, fm.getHeight() * rows + 20);
} }
@Override
public InputMethodRequests getInputMethodRequests() { public InputMethodRequests getInputMethodRequests() {
return null; return null;
} }
...@@ -68,42 +70,6 @@ class WTextAreaPeer extends WTextComponentPeer implements TextAreaPeer { ...@@ -68,42 +70,6 @@ class WTextAreaPeer extends WTextComponentPeer implements TextAreaPeer {
super(target); super(target);
} }
@Override
native void create(WComponentPeer parent); native void create(WComponentPeer parent);
// native callbacks
// deprecated methods
/**
* DEPRECATED but, for now, still called by insert(String, int).
*/
public native void insertText(String txt, int pos);
/**
* DEPRECATED but, for now, still called by replaceRange(String, int, int).
*/
public native void replaceText(String txt, int start, int end);
/**
* DEPRECATED
*/
public Dimension minimumSize() {
return getMinimumSize();
}
/**
* DEPRECATED
*/
public Dimension minimumSize(int rows, int cols) {
return getMinimumSize(rows, cols);
}
/**
* DEPRECATED
*/
public Dimension preferredSize(int rows, int cols) {
return getPreferredSize(rows, cols);
}
} }
/* /*
* Copyright (c) 1996, 2001, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 1996, 2013, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* *
* This code is free software; you can redistribute it and/or modify it * This code is free software; you can redistribute it and/or modify it
...@@ -38,14 +38,20 @@ class WTextComponentPeer extends WComponentPeer implements TextComponentPeer { ...@@ -38,14 +38,20 @@ class WTextComponentPeer extends WComponentPeer implements TextComponentPeer {
// TextComponentPeer implementation // TextComponentPeer implementation
@Override
public void setEditable(boolean editable) { public void setEditable(boolean editable) {
enableEditing(editable); enableEditing(editable);
setBackground(((TextComponent)target).getBackground()); setBackground(((TextComponent)target).getBackground());
} }
@Override
public native String getText(); public native String getText();
public native void setText(String txt); @Override
public native void setText(String text);
@Override
public native int getSelectionStart(); public native int getSelectionStart();
@Override
public native int getSelectionEnd(); public native int getSelectionEnd();
@Override
public native void select(int selStart, int selEnd); public native void select(int selStart, int selEnd);
// Toolkit & peer internals // Toolkit & peer internals
...@@ -54,6 +60,7 @@ class WTextComponentPeer extends WComponentPeer implements TextComponentPeer { ...@@ -54,6 +60,7 @@ class WTextComponentPeer extends WComponentPeer implements TextComponentPeer {
super(target); super(target);
} }
@Override
void initialize() { void initialize() {
TextComponent tc = (TextComponent)target; TextComponent tc = (TextComponent)target;
String text = tc.getText(); String text = tc.getText();
...@@ -64,14 +71,12 @@ class WTextComponentPeer extends WComponentPeer implements TextComponentPeer { ...@@ -64,14 +71,12 @@ class WTextComponentPeer extends WComponentPeer implements TextComponentPeer {
select(tc.getSelectionStart(), tc.getSelectionEnd()); select(tc.getSelectionStart(), tc.getSelectionEnd());
setEditable(tc.isEditable()); setEditable(tc.isEditable());
// oldSelectionStart = -1; // accessibility support
// oldSelectionEnd = -1; // accessibility support
super.initialize(); super.initialize();
} }
native void enableEditing(boolean e); native void enableEditing(boolean e);
@Override
public boolean isFocusable() { public boolean isFocusable() {
return true; return true;
} }
...@@ -81,6 +86,7 @@ class WTextComponentPeer extends WComponentPeer implements TextComponentPeer { ...@@ -81,6 +86,7 @@ class WTextComponentPeer extends WComponentPeer implements TextComponentPeer {
* unfortunately resets the selection, but seems to be the * unfortunately resets the selection, but seems to be the
* only way to get this to work. * only way to get this to work.
*/ */
@Override
public void setCaretPosition(int pos) { public void setCaretPosition(int pos) {
select(pos,pos); select(pos,pos);
} }
...@@ -89,6 +95,7 @@ class WTextComponentPeer extends WComponentPeer implements TextComponentPeer { ...@@ -89,6 +95,7 @@ class WTextComponentPeer extends WComponentPeer implements TextComponentPeer {
* Get the caret position by looking up the end of the current * Get the caret position by looking up the end of the current
* selection. * selection.
*/ */
@Override
public int getCaretPosition() { public int getCaretPosition() {
return getSelectionStart(); return getSelectionStart();
} }
...@@ -105,34 +112,8 @@ class WTextComponentPeer extends WComponentPeer implements TextComponentPeer { ...@@ -105,34 +112,8 @@ class WTextComponentPeer extends WComponentPeer implements TextComponentPeer {
*/ */
private static native void initIDs(); private static native void initIDs();
// stub functions: to be fully implemented in a future release @Override
public int getIndexAtPoint(int x, int y) { return -1; }
public Rectangle getCharacterBounds(int i) { return null; }
public long filterEvents(long mask) { return 0; }
public boolean shouldClearRectBeforePaint() { public boolean shouldClearRectBeforePaint() {
return false; return false;
} }
//
// Accessibility support
//
/* To be fully implemented in a future release
int oldSelectionStart;
int oldSelectionEnd;
public native int getIndexAtPoint(int x, int y);
public native Rectangle getCharacterBounds(int i);
public native long filterEvents(long mask);
/**
* Handle a change in the text selection endpoints
* (Note: could be simply a change in the caret location)
*
public void selectionValuesChanged(int start, int end) {
return; // Need to write implementation of this.
}
*/
} }
/* /*
* Copyright (c) 1996, 2006, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 1996, 2013, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* *
* This code is free software; you can redistribute it and/or modify it * This code is free software; you can redistribute it and/or modify it
...@@ -31,16 +31,18 @@ import java.awt.event.ActionEvent; ...@@ -31,16 +31,18 @@ import java.awt.event.ActionEvent;
import java.awt.event.KeyEvent; import java.awt.event.KeyEvent;
import java.awt.im.InputMethodRequests; import java.awt.im.InputMethodRequests;
class WTextFieldPeer extends WTextComponentPeer implements TextFieldPeer { final class WTextFieldPeer extends WTextComponentPeer implements TextFieldPeer {
// WComponentPeer overrides // WComponentPeer overrides
@Override
public Dimension getMinimumSize() { public Dimension getMinimumSize() {
FontMetrics fm = getFontMetrics(((TextField)target).getFont()); FontMetrics fm = getFontMetrics(((TextField)target).getFont());
return new Dimension(fm.stringWidth(getText()) + 24, return new Dimension(fm.stringWidth(getText()) + 24,
fm.getHeight() + 8); fm.getHeight() + 8);
} }
@Override
public boolean handleJavaKeyEvent(KeyEvent e) { public boolean handleJavaKeyEvent(KeyEvent e) {
switch (e.getID()) { switch (e.getID()) {
case KeyEvent.KEY_TYPED: case KeyEvent.KEY_TYPED:
...@@ -56,35 +58,35 @@ class WTextFieldPeer extends WTextComponentPeer implements TextFieldPeer { ...@@ -56,35 +58,35 @@ class WTextFieldPeer extends WTextComponentPeer implements TextFieldPeer {
// TextFieldPeer implementation // TextFieldPeer implementation
@Override
public native void setEchoChar(char echoChar);
/* This should eventually be a direct native method. */ @Override
public void setEchoChar(char c) {
setEchoCharacter(c);
}
public Dimension getPreferredSize(int cols) { public Dimension getPreferredSize(int cols) {
return getMinimumSize(cols); return getMinimumSize(cols);
} }
@Override
public Dimension getMinimumSize(int cols) { public Dimension getMinimumSize(int cols) {
FontMetrics fm = getFontMetrics(((TextField)target).getFont()); FontMetrics fm = getFontMetrics(((TextField)target).getFont());
return new Dimension(fm.charWidth('0') * cols + 24, fm.getHeight() + 8); return new Dimension(fm.charWidth('0') * cols + 24, fm.getHeight() + 8);
} }
@Override
public InputMethodRequests getInputMethodRequests() { public InputMethodRequests getInputMethodRequests() {
return null; return null;
} }
// Toolkit & peer internals // Toolkit & peer internals
WTextFieldPeer(TextField target) { WTextFieldPeer(TextField target) {
super(target); super(target);
} }
@Override
native void create(WComponentPeer parent); native void create(WComponentPeer parent);
@Override
void initialize() { void initialize() {
TextField tf = (TextField)target; TextField tf = (TextField)target;
if (tf.echoCharIsSet()) { if (tf.echoCharIsSet()) {
...@@ -92,33 +94,4 @@ class WTextFieldPeer extends WTextComponentPeer implements TextFieldPeer { ...@@ -92,33 +94,4 @@ class WTextFieldPeer extends WTextComponentPeer implements TextFieldPeer {
} }
super.initialize(); super.initialize();
} }
// deprecated methods
/**
* DEPRECATED but, for now, called by setEchoChar(char).
*/
public native void setEchoCharacter(char c);
/**
* DEPRECATED
*/
public Dimension minimumSize() {
return getMinimumSize();
}
/**
* DEPRECATED
*/
public Dimension minimumSize(int cols) {
return getMinimumSize(cols);
}
/**
* DEPRECATED
*/
public Dimension preferredSize(int cols) {
return getPreferredSize(cols);
}
} }
...@@ -767,11 +767,11 @@ Java_sun_awt_windows_WTextAreaPeer_create(JNIEnv *env, jobject self, ...@@ -767,11 +767,11 @@ Java_sun_awt_windows_WTextAreaPeer_create(JNIEnv *env, jobject self,
/* /*
* Class: sun_awt_windows_WTextAreaPeer * Class: sun_awt_windows_WTextAreaPeer
* Method: replaceText * Method: replaceRange
* Signature: (Ljava/lang/String;II)V * Signature: (Ljava/lang/String;II)V
*/ */
JNIEXPORT void JNICALL JNIEXPORT void JNICALL
Java_sun_awt_windows_WTextAreaPeer_replaceText(JNIEnv *env, jobject self, Java_sun_awt_windows_WTextAreaPeer_replaceRange(JNIEnv *env, jobject self,
jstring text, jstring text,
jint start, jint end) jint start, jint end)
{ {
...@@ -791,19 +791,4 @@ Java_sun_awt_windows_WTextAreaPeer_replaceText(JNIEnv *env, jobject self, ...@@ -791,19 +791,4 @@ Java_sun_awt_windows_WTextAreaPeer_replaceText(JNIEnv *env, jobject self,
CATCH_BAD_ALLOC; CATCH_BAD_ALLOC;
} }
/*
* Class: sun_awt_windows_WTextAreaPeer
* Method: insertText
* Signature: (Ljava/lang/String;I)V
*/
JNIEXPORT void JNICALL
Java_sun_awt_windows_WTextAreaPeer_insertText(JNIEnv *env, jobject self,
jstring text, jint pos)
{
Java_sun_awt_windows_WTextAreaPeer_replaceText(env, self, text, pos, pos);
}
} /* extern "C" */ } /* extern "C" */
...@@ -987,30 +987,6 @@ AwtTextComponent::OleCallback::GetContextMenu(WORD seltype, ...@@ -987,30 +987,6 @@ AwtTextComponent::OleCallback::GetContextMenu(WORD seltype,
// Accessibility support // Accessibility support
// //
/* To be fully implemented in a future release
*
* Class: sun_awt_windows_WTextComponentPeer
* Method: getIndexAtPoint
* Signature: (II)I
*
JNIEXPORT jlong JNICALL
Java_sun_awt_windows_WTextComponentPeer_filterEvents(JNIEnv *env, jobject self, jlong mask)
{
TRY;
PDATA pData;
JNI_CHECK_PEER_RETURN_NULL(self);
AwtTextComponent* c = (AwtTextComponent*)pData;
jlong oldMask = c->javaEventsMask;
c->javaEventsMask = mask;
return oldMask;
CATCH_BAD_ALLOC_RET(0);
}
*/
// [[[FIXME]]] need to switch to rich edit field; look for EN_SELCHANGE event instead // [[[FIXME]]] need to switch to rich edit field; look for EN_SELCHANGE event instead
/* /*
* Handle WmKeyDown to catch keystrokes which may move the caret, * Handle WmKeyDown to catch keystrokes which may move the caret,
...@@ -1051,112 +1027,4 @@ MsgRouting AwtTextComponent::WmKeyDown(UINT wkey, UINT repCnt, ...@@ -1051,112 +1027,4 @@ MsgRouting AwtTextComponent::WmKeyDown(UINT wkey, UINT repCnt,
return AwtComponent::WmKeyDown(wkey, repCnt, flags, system); return AwtComponent::WmKeyDown(wkey, repCnt, flags, system);
} }
*/ */
/* To be fully implemented in a future release
*
* Class: sun_awt_windows_WTextComponentPeer
* Method: getIndexAtPoint
* Signature: (II)I
*
JNIEXPORT jint JNICALL
Java_sun_awt_windows_WTextComponentPeer_getIndexAtPoint(JNIEnv *env, jobject self, jint x, jint y)
{
TRY;
PDATA pData;
// JNI_CHECK_PEER_RETURN_VAL(self, -1); [[[FIXME]]] Peter Korn -> should return -1 here
JNI_CHECK_PEER_RETURN_NULL(self);
AwtTextComponent* c = (AwtTextComponent*)pData;
int indicies = c->SendMessage(EM_CHARFROMPOS, (WPARAM) 0, (LPARAM) MAKELPARAM(x, y));
int index = LOWORD(indicies); // index into the line the (x,y) coord is on
int lineIndex = c->SendMessage(EM_LINEINDEX, HIWORD(indicies)); // index of start of line
return (index + lineIndex);
CATCH_BAD_ALLOC_RET(-1);
}
*/
/* To be fully implemented in a future release
*
* Class: sun_awt_windows_WTextComponentPeer
* Method: getCharacterBounds
* Signature: (I)Ljava/awt/Rectangle;
*
JNIEXPORT jobject JNICALL
Java_sun_awt_windows_WTextComponentPeer_getCharacterBounds(JNIEnv *env, jobject self, jint i)
{
// loop through lines with EM_LINELENGTH? e.g.:
// line = 0; ttl = 0; // index is passed in as 'i' above
// while (ttl < index) {
// ttl += SendMessage(EM_LINELENGTH, line++);
// }
// line-- (decrement back again)
// alternately, we could use EM_LINEINDEX to the same effect; perhaps slightly cleaner:
// computedIndex = 0; line = 0;
// while (computedIndex < index) {
// computedIndex = SendMessage(EM_LINEINDEX, 1 + line++);
// }
// line--;
// EM_POSFROMCHAR - convert char index into a Point
// wParam = (LPPOINT) lpPoint; // address of structure
// receiving character position
// lParam = (LPARAM) wCharIndex; // zero-based index of character
//
// still need to turn the above into a Rect somehow...
// (use font metrics on font info for letter to get height? use
// getLineHeight type of message?).
// WM_GETFONT - get the font struct for the window control
// wParam = lParam = 0
// returns an HFONT
// -or-
// GetTextMetrics(hDC) to get the text info for the font selected
// into the hDC of the control (tmHeight is what we want in the
// TEXTMETRIC struct).
// also GetCharWidth32() with the char at the index in question to get
// the width of that char
// *** Can't use GetTextMetrics/GetCharWidth32, as we don't have an hDC!! ***
TRY;
PDATA pData;
JNI_CHECK_PEER_RETURN_NULL(self);
AwtComponent* c = (AwtComponent*)pData;
/*
int line = 0;
int lineIndex = 0;
while (lineIndex < i) {
lineIndex = c->SendMessage(EM_LINEINDEX, 1 + line++);
}
line--; // line is now the line which contains our character at position 'i'
int offsetIndex = i - lineIndex; // offsetIndex is now distance in on the line
* /
POINT p;
c->SendMessage(EM_POSFROMCHAR, (WPARAM) &p, (LPARAM) i); // x coord is meaningful; y may not be
// need to calculate charWidth, charHeight, and set p.y to something meangful
jint charWidth;
jint charHeight;
/*
HFONT font = c->SendMessage(WM_GETFONT);
if (GetCharWidth32(c->hdc, i, i, &charWidth) != 0) { // [[[FIXME]]] need to get hDC!
JNIEnv *env = (JNIEnv *)JNU_GetEnv(jvm, JNI_VERSION_1_2);
jobject rect = JNU_NewObjectByName(env, "java/awt/Rectangle", "(IIII)V",
(jint) p.x, (jint) p.y, charWidth, charHeight);
return rect;
}
* /
return (jobject) 0;
CATCH_BAD_ALLOC_RET(0);
}
*/
} /* extern "C" */ } /* extern "C" */
...@@ -316,12 +316,12 @@ Java_sun_awt_windows_WTextFieldPeer_create(JNIEnv *env, jobject self, ...@@ -316,12 +316,12 @@ Java_sun_awt_windows_WTextFieldPeer_create(JNIEnv *env, jobject self,
/* /*
* Class: sun_awt_windows_WTextFieldPeer * Class: sun_awt_windows_WTextFieldPeer
* Method: setEchoCharacter * Method: setEchoChar
* Signature: (C)V * Signature: (C)V
*/ */
JNIEXPORT void JNICALL JNIEXPORT void JNICALL
Java_sun_awt_windows_WTextFieldPeer_setEchoCharacter(JNIEnv *env, jobject self, Java_sun_awt_windows_WTextFieldPeer_setEchoChar(JNIEnv *env, jobject self,
jchar ch) jchar ch)
{ {
TRY; TRY;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册