提交 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
}
@Override
public final void setText(final String l) {
public final void setText(final String text) {
synchronized (getDelegateLock()) {
// JTextArea.setText() posts two different events (remove & insert).
// Since we make no differences between text events,
......@@ -131,7 +131,7 @@ abstract class LWTextComponentPeer<T extends TextComponent, D extends JComponent
// JTextArea.setText() is called.
final Document document = getTextComponent().getDocument();
document.removeDocumentListener(this);
getTextComponent().setText(l);
getTextComponent().setText(text);
revalidate();
if (firstChangeSkipped) {
postEvent(new TextEvent(getTarget(),
......
......@@ -822,37 +822,6 @@ public class TextComponent extends Component implements Accessible {
// 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.
* For text components, the AccessibleContext takes the form of an
......@@ -963,7 +932,7 @@ public class TextComponent extends Component implements Accessible {
* @return the zero-based index of the character under 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 {
* @return the screen coordinates of the character's bounding box
*/
public Rectangle getCharacterBounds(int i) {
return TextComponent.this.getCharacterBounds(i);
return null;
}
/**
......
......@@ -60,11 +60,11 @@ public interface TextComponentPeer extends ComponentPeer {
/**
* Sets the content for the text component.
*
* @param l the content to set
* @param text the content to set
*
* @see TextComponent#setText(String)
*/
void setText(String l);
void setText(String text);
/**
* Returns the start index of the current selection.
......
......@@ -73,25 +73,6 @@ final class XTextAreaPeer extends XComponentPeer implements TextAreaPeer {
private final JavaMouseEventHandler javaMouseEventHandler =
new JavaMouseEventHandler(this);
/* FIXME */
public long filterEvents(long mask) {
Thread.dumpStack();
return 0;
}
/* FIXME */
public Rectangle getCharacterBounds(int i) {
Thread.dumpStack();
return null;
}
public int getIndexAtPoint(int x, int y) {
Thread.dumpStack();
return 0;
}
/**
* Create a Text area.
*/
......@@ -160,6 +141,7 @@ final class XTextAreaPeer extends XComponentPeer implements TextAreaPeer {
firstChangeSkipped = true;
}
@Override
public void dispose() {
XToolkit.specialPeerMap.remove(jtext);
// visible caret has a timer thread which must be stopped
......@@ -169,7 +151,6 @@ final class XTextAreaPeer extends XComponentPeer implements TextAreaPeer {
super.dispose();
}
/*
* The method overrides one from XComponentPeer
* If ignoreSubComponents=={@code true} it calls super.
......@@ -195,7 +176,7 @@ final class XTextAreaPeer extends XComponentPeer implements TextAreaPeer {
javaMouseEventHandler.setCursor();
}
void setScrollBarVisibility() {
private void setScrollBarVisibility() {
int visibility = ((TextArea)target).getScrollbarVisibility();
jtext.setLineWrap(false);
......@@ -223,10 +204,12 @@ final class XTextAreaPeer extends XComponentPeer implements TextAreaPeer {
/**
* Compute minimum size.
*/
@Override
public Dimension getMinimumSize() {
return getMinimumSize(10, 60);
}
@Override
public Dimension getPreferredSize(int rows, int cols) {
return getMinimumSize(rows, cols);
}
......@@ -234,7 +217,7 @@ final class XTextAreaPeer extends XComponentPeer implements TextAreaPeer {
/**
* @see java.awt.peer.TextAreaPeer
*/
@Override
public Dimension getMinimumSize(int rows, int cols) {
/* Dimension d = null;
if (jtext != null) {
......@@ -263,10 +246,12 @@ final class XTextAreaPeer extends XComponentPeer implements TextAreaPeer {
fm.getHeight() * rows + /*2*YMARGIN +*/ hsbheight);
}
@Override
public boolean isFocusable() {
return true;
}
@Override
public void setVisible(boolean b) {
super.setVisible(b);
if (textPane != null)
......@@ -277,27 +262,30 @@ final class XTextAreaPeer extends XComponentPeer implements TextAreaPeer {
jtext.repaintNow();
}
@Override
public void focusGained(FocusEvent e) {
super.focusGained(e);
jtext.forwardFocusGained(e);
}
@Override
public void focusLost(FocusEvent e) {
super.focusLost(e);
jtext.forwardFocusLost(e);
}
/**
* Paint the component
* this method is called when the repaint instruction has been used
*/
@Override
public void repaint() {
if (textPane != null) {
//textPane.validate();
textPane.repaint();
}
}
@Override
void paintPeer(final Graphics g) {
if (textPane != null) {
......@@ -305,6 +293,7 @@ final class XTextAreaPeer extends XComponentPeer implements TextAreaPeer {
}
}
@Override
public void setBounds(int x, int y, int width, int height, int op) {
super.setBounds(x, y, width, height, op);
if (textPane != null) {
......@@ -331,21 +320,26 @@ final class XTextAreaPeer extends XComponentPeer implements TextAreaPeer {
}
}
@Override
void handleJavaKeyEvent(KeyEvent e) {
AWTAccessor.getComponentAccessor().processEvent(jtext,e);
}
@Override
public boolean handlesWheelScrolling() { return true; }
@Override
void handleJavaMouseWheelEvent(MouseWheelEvent e) {
AWTAccessor.getComponentAccessor().processEvent(textPane,e);
AWTAccessor.getComponentAccessor().processEvent(textPane, e);
}
@Override
public void handleJavaMouseEvent( MouseEvent e ) {
super.handleJavaMouseEvent( e );
javaMouseEventHandler.handle( e );
}
@Override
void handleJavaInputMethodEvent(InputMethodEvent e) {
if (jtext != null)
jtext.processInputMethodEventPublic((InputMethodEvent)e);
......@@ -354,13 +348,15 @@ final class XTextAreaPeer extends XComponentPeer implements TextAreaPeer {
/**
* @see java.awt.peer.TextComponentPeer
*/
@Override
public void select(int s, int e) {
jtext.select(s,e);
jtext.select(s, e);
// Fixed 5100806
// We must take care that Swing components repainted correctly
jtext.repaint();
}
@Override
public void setBackground(Color c) {
super.setBackground(c);
// synchronized (getStateLock()) {
......@@ -373,6 +369,7 @@ final class XTextAreaPeer extends XComponentPeer implements TextAreaPeer {
// repaintText();
}
@Override
public void setForeground(Color c) {
super.setForeground(c);
// synchronized (getStateLock()) {
......@@ -386,6 +383,7 @@ final class XTextAreaPeer extends XComponentPeer implements TextAreaPeer {
// repaintText();
}
@Override
public void setFont(Font f) {
super.setFont(f);
// synchronized (getStateLock()) {
......@@ -397,10 +395,10 @@ final class XTextAreaPeer extends XComponentPeer implements TextAreaPeer {
textPane.validate();
}
/**
* @see java.awt.peer.TextComponentPeer
*/
@Override
public void setEditable(boolean editable) {
if (jtext != null) jtext.setEditable(editable);
repaintText();
......@@ -409,6 +407,7 @@ final class XTextAreaPeer extends XComponentPeer implements TextAreaPeer {
/**
* @see java.awt.peer.ComponentPeer
*/
@Override
public void setEnabled(boolean enabled) {
super.setEnabled(enabled);
if (jtext != null) {
......@@ -420,6 +419,7 @@ final class XTextAreaPeer extends XComponentPeer implements TextAreaPeer {
/**
* @see java.awt.peer.TextComponentPeer
*/
@Override
public InputMethodRequests getInputMethodRequests() {
if (jtext != null) return jtext.getInputMethodRequests();
else return null;
......@@ -428,6 +428,7 @@ final class XTextAreaPeer extends XComponentPeer implements TextAreaPeer {
/**
* @see java.awt.peer.TextComponentPeer
*/
@Override
public int getSelectionStart() {
return jtext.getSelectionStart();
}
......@@ -435,6 +436,7 @@ final class XTextAreaPeer extends XComponentPeer implements TextAreaPeer {
/**
* @see java.awt.peer.TextComponentPeer
*/
@Override
public int getSelectionEnd() {
return jtext.getSelectionEnd();
}
......@@ -442,6 +444,7 @@ final class XTextAreaPeer extends XComponentPeer implements TextAreaPeer {
/**
* @see java.awt.peer.TextComponentPeer
*/
@Override
public String getText() {
return jtext.getText();
}
......@@ -449,8 +452,9 @@ final class XTextAreaPeer extends XComponentPeer implements TextAreaPeer {
/**
* @see java.awt.peer.TextComponentPeer
*/
public void setText(String txt) {
setTextImpl(txt);
@Override
public void setText(String text) {
setTextImpl(text);
repaintText();
}
......@@ -473,6 +477,7 @@ final class XTextAreaPeer extends XComponentPeer implements TextAreaPeer {
* insert the text "txt on position "pos" in the array lines
* @see java.awt.peer.TextAreaPeer
*/
@Override
public void insert(String txt, int p) {
if (jtext != null) {
boolean doScroll = (p >= jtext.getDocument().getLength() && jtext.getDocument().getLength() != 0);
......@@ -491,6 +496,7 @@ final class XTextAreaPeer extends XComponentPeer implements TextAreaPeer {
* replace the text between the position "s" and "e" with "txt"
* @see java.awt.peer.TextAreaPeer
*/
@Override
public void replaceRange(String txt, int s, int e) {
if (jtext != null) {
// JTextArea.replaceRange() posts two different events.
......@@ -508,6 +514,7 @@ final class XTextAreaPeer extends XComponentPeer implements TextAreaPeer {
* to be implemented.
* @see java.awt.peer.TextComponentPeer
*/
@Override
public void setCaretPosition(int position) {
jtext.setCaretPosition(position);
}
......@@ -516,54 +523,19 @@ final class XTextAreaPeer extends XComponentPeer implements TextAreaPeer {
* to be implemented.
* @see java.awt.peer.TextComponentPeer
*/
@Override
public int getCaretPosition() {
return jtext.getCaretPosition();
}
/**
* DEPRECATED
* @see java.awt.peer.TextAreaPeer
*/
public void insertText(String txt, int pos) {
insert(txt, pos);
}
final class AWTTextAreaUI extends MotifTextAreaUI {
/**
* DEPRECATED
* @see java.awt.peer.TextAreaPeer
*/
public void replaceText(String txt, int start, int end) {
replaceRange(txt, start, end);
}
/**
* DEPRECATED
* @see java.awt.peer.TextAreaPeer
*/
public Dimension minimumSize(int rows, int cols) {
return getMinimumSize(rows, cols);
}
/**
* DEPRECATED
* @see java.awt.peer.TextAreaPeer
*/
public Dimension preferredSize(int rows, int cols) {
return getPreferredSize(rows, cols);
}
class AWTTextAreaUI extends MotifTextAreaUI {
/**
* Creates a UI for a JTextArea.
*
* @param c the text field
* @return the UI
*/
JTextArea jta;
private JTextArea jta;
@Override
protected String getPropertyPrefix() { return "TextArea"; }
@Override
public void installUI(JComponent c) {
super.installUI(c);
......@@ -619,6 +591,7 @@ final class XTextAreaPeer extends XComponentPeer implements TextAreaPeer {
}
}
@Override
protected void installKeyboardActions() {
super.installKeyboardActions();
......@@ -636,13 +609,15 @@ final class XTextAreaPeer extends XComponentPeer implements TextAreaPeer {
}
}
@Override
protected Caret createCaret() {
return new XAWTCaret();
}
}
static class XAWTCaret extends DefaultCaret {
static final class XAWTCaret extends DefaultCaret {
@Override
public void focusGained(FocusEvent e) {
super.focusGained(e);
if (getComponent().isEnabled()){
......@@ -652,6 +627,7 @@ final class XTextAreaPeer extends XComponentPeer implements TextAreaPeer {
getComponent().repaint();
}
@Override
public void focusLost(FocusEvent e) {
super.focusLost(e);
getComponent().repaint();
......@@ -660,6 +636,7 @@ final class XTextAreaPeer extends XComponentPeer implements TextAreaPeer {
// Fix for 5100950: textarea.getSelectedText() returns the de-selected text, on XToolkit
// Restoring Motif behaviour
// If the text is unhighlighted then we should sets the selection range to zero
@Override
public void setSelectionVisible(boolean vis) {
if (vis){
super.setSelectionVisible(vis);
......@@ -670,16 +647,14 @@ final class XTextAreaPeer extends XComponentPeer implements TextAreaPeer {
}
}
final class XAWTScrollBarButton extends BasicArrowButton {
class XAWTScrollBarButton extends BasicArrowButton
{
UIDefaults uidefaults = XToolkit.getUIDefaults();
private UIDefaults uidefaults = XToolkit.getUIDefaults();
private Color darkShadow = SystemColor.controlShadow;
private Color lightShadow = SystemColor.controlLtHighlight;
private Color buttonBack = uidefaults.getColor("ScrollBar.track");
public XAWTScrollBarButton(int direction)
{
XAWTScrollBarButton(int direction) {
super(direction);
switch (direction) {
......@@ -699,6 +674,7 @@ final class XTextAreaPeer extends XComponentPeer implements TextAreaPeer {
setForeground(uidefaults.getColor("ScrollBar.foreground"));
}
@Override
public Dimension getPreferredSize() {
switch (direction) {
case NORTH:
......@@ -711,18 +687,22 @@ final class XTextAreaPeer extends XComponentPeer implements TextAreaPeer {
}
}
@Override
public Dimension getMinimumSize() {
return getPreferredSize();
}
@Override
public Dimension getMaximumSize() {
return getPreferredSize();
}
@Override
public boolean isFocusTraversable() {
return false;
}
@Override
public void paint(Graphics g)
{
int w = getWidth();
......@@ -838,19 +818,16 @@ final class XTextAreaPeer extends XComponentPeer implements TextAreaPeer {
}
}
final class XAWTScrollBarUI extends BasicScrollBarUI {
class XAWTScrollBarUI extends BasicScrollBarUI
{
public XAWTScrollBarUI() {
super();
}
@Override
protected void installDefaults()
{
super.installDefaults();
scrollbar.setBorder(new BevelBorder(false,SystemColor.controlDkShadow,SystemColor.controlLtHighlight) );
}
@Override
protected void configureScrollBarColors() {
UIDefaults uidefaults = XToolkit.getUIDefaults();
Color bg = scrollbar.getBackground();
......@@ -873,12 +850,14 @@ final class XTextAreaPeer extends XComponentPeer implements TextAreaPeer {
}
@Override
protected JButton createDecreaseButton(int orientation) {
JButton b = new XAWTScrollBarButton(orientation);
return b;
}
@Override
protected JButton createIncreaseButton(int orientation) {
JButton b = new XAWTScrollBarButton(orientation);
return b;
......@@ -892,12 +871,14 @@ final class XTextAreaPeer extends XComponentPeer implements TextAreaPeer {
return incrButton;
}
@Override
public void paint(Graphics g, JComponent c) {
paintTrack(g, c, getTrackBounds());
Rectangle thumbBounds = getThumbBounds();
paintThumb(g, c, thumbBounds);
}
@Override
public void paintThumb(Graphics g, JComponent c, Rectangle thumbBounds)
{
if(!scrollbar.isEnabled()) {
......@@ -926,17 +907,18 @@ final class XTextAreaPeer extends XComponentPeer implements TextAreaPeer {
}
}
final class AWTTextArea extends JTextArea implements DocumentListener {
class AWTTextArea extends JTextArea implements DocumentListener {
boolean isFocused = false;
XTextAreaPeer peer;
private boolean isFocused = false;
private final XTextAreaPeer peer;
public AWTTextArea(String text, XTextAreaPeer peer) {
AWTTextArea(String text, XTextAreaPeer peer) {
super(text);
setFocusable(false);
this.peer = peer;
}
@Override
public void insertUpdate(DocumentEvent e) {
if (peer != null) {
peer.postEvent(new TextEvent(peer.target,
......@@ -944,6 +926,7 @@ final class XTextAreaPeer extends XComponentPeer implements TextAreaPeer {
}
}
@Override
public void removeUpdate(DocumentEvent e) {
if (peer != null) {
peer.postEvent(new TextEvent(peer.target,
......@@ -951,6 +934,7 @@ final class XTextAreaPeer extends XComponentPeer implements TextAreaPeer {
}
}
@Override
public void changedUpdate(DocumentEvent e) {
if (peer != null) {
peer.postEvent(new TextEvent(peer.target,
......@@ -971,6 +955,7 @@ final class XTextAreaPeer extends XComponentPeer implements TextAreaPeer {
super.processFocusEvent(fe);
}
@Override
public boolean hasFocus() {
return isFocused;
}
......@@ -991,6 +976,7 @@ final class XTextAreaPeer extends XComponentPeer implements TextAreaPeer {
processInputMethodEvent(e);
}
@Override
public void updateUI() {
ComponentUI ui = new AWTTextAreaUI();
setUI(ui);
......@@ -998,6 +984,7 @@ final class XTextAreaPeer extends XComponentPeer implements TextAreaPeer {
// Fix for 4915454 - override the default implementation to avoid
// loading SystemFlavorMap and associated classes.
@Override
public void setTransferHandler(TransferHandler newHandler) {
TransferHandler oldHandler = (TransferHandler)
getClientProperty(AWTAccessor.getClientPropertyKeyAccessor()
......@@ -1010,9 +997,8 @@ final class XTextAreaPeer extends XComponentPeer implements TextAreaPeer {
}
}
final class XAWTScrollPaneUI extends BasicScrollPaneUI {
class XAWTScrollPaneUI extends BasicScrollPaneUI
{
private final Border vsbMarginBorderR = new EmptyBorder(0, 2, 0, 0);
private final Border vsbMarginBorderL = new EmptyBorder(0, 0, 0, 2);
private final Border hsbMarginBorder = new EmptyBorder(2, 0, 0, 0);
......@@ -1022,12 +1008,14 @@ final class XTextAreaPeer extends XComponentPeer implements TextAreaPeer {
private PropertyChangeListener propertyChangeHandler;
@Override
protected void installListeners(JScrollPane scrollPane) {
super.installListeners(scrollPane);
propertyChangeHandler = createPropertyChangeHandler();
scrollPane.addPropertyChangeListener(propertyChangeHandler);
}
@Override
public void paint(Graphics g, JComponent c) {
Border vpBorder = scrollpane.getViewportBorder();
if (vpBorder != null) {
......@@ -1043,6 +1031,7 @@ final class XTextAreaPeer extends XComponentPeer implements TextAreaPeer {
private PropertyChangeListener createPropertyChangeHandler() {
return new PropertyChangeListener() {
@Override
public void propertyChange(PropertyChangeEvent e) {
String propertyName = e.getPropertyName();
......@@ -1067,7 +1056,7 @@ final class XTextAreaPeer extends XComponentPeer implements TextAreaPeer {
return c.getComponentOrientation().isLeftToRight();
}
@Override
protected void installDefaults(JScrollPane scrollpane) {
Border b = scrollpane.getBorder();
UIDefaults uidefaults = XToolkit.getUIDefaults();
......@@ -1094,6 +1083,7 @@ final class XTextAreaPeer extends XComponentPeer implements TextAreaPeer {
}
}
@Override
protected void uninstallDefaults(JScrollPane c) {
super.uninstallDefaults(c);
......@@ -1115,15 +1105,15 @@ final class XTextAreaPeer extends XComponentPeer implements TextAreaPeer {
}
}
private class AWTTextPane extends JScrollPane implements FocusListener {
JTextArea jtext;
XWindow xwin;
Color control = SystemColor.control;
Color focus = SystemColor.activeCaptionBorder;
private final JTextArea jtext;
private final XWindow xwin;
private final Color control = SystemColor.control;
private final Color focus = SystemColor.activeCaptionBorder;
public AWTTextPane(JTextArea jt, XWindow xwin, Container parent) {
AWTTextPane(JTextArea jt, XWindow xwin, Container parent) {
super(jt);
this.xwin = xwin;
setDoubleBuffered(true);
......@@ -1148,6 +1138,7 @@ final class XTextAreaPeer extends XComponentPeer implements TextAreaPeer {
}
}
@Override
public void focusGained(FocusEvent e) {
Graphics g = getGraphics();
Rectangle r = getViewportBorderBounds();
......@@ -1156,6 +1147,7 @@ final class XTextAreaPeer extends XComponentPeer implements TextAreaPeer {
g.dispose();
}
@Override
public void focusLost(FocusEvent e) {
Graphics g = getGraphics();
Rectangle r = getViewportBorderBounds();
......@@ -1168,19 +1160,23 @@ final class XTextAreaPeer extends XComponentPeer implements TextAreaPeer {
return (Window) xwin.target;
}
@Override
public ComponentPeer getPeer() {
return (ComponentPeer) (xwin);
}
@Override
public void updateUI() {
ComponentUI ui = new XAWTScrollPaneUI();
setUI(ui);
}
@Override
public JScrollBar createVerticalScrollBar() {
return new XAWTScrollBar(JScrollBar.VERTICAL);
}
@Override
public JScrollBar createHorizontalScrollBar() {
return new XAWTScrollBar(JScrollBar.HORIZONTAL);
}
......@@ -1189,18 +1185,19 @@ final class XTextAreaPeer extends XComponentPeer implements TextAreaPeer {
return this.jtext;
}
@Override
public Graphics getGraphics() {
return xwin.getGraphics();
}
final class XAWTScrollBar extends ScrollBar {
class XAWTScrollBar extends ScrollBar {
public XAWTScrollBar(int i) {
XAWTScrollBar(int i) {
super(i);
setFocusable(false);
}
@Override
public void updateUI() {
ComponentUI ui = new XAWTScrollBarUI();
setUI(ui);
......@@ -1214,12 +1211,13 @@ final class XTextAreaPeer extends XComponentPeer implements TextAreaPeer {
private Color control = SystemColor.controlShadow;
private boolean isRaised;
public BevelBorder(boolean isRaised, Color darkShadow, Color lightShadow) {
BevelBorder(boolean isRaised, Color darkShadow, Color lightShadow) {
this.isRaised = isRaised;
this.darkShadow = darkShadow;
this.lightShadow = lightShadow;
}
@Override
public void paintBorder(Component c, Graphics g, int x, int y, int w, int h) {
g.setColor((isRaised) ? lightShadow : darkShadow);
g.drawLine(x, y, x+w-1, y); // top
......@@ -1238,10 +1236,12 @@ final class XTextAreaPeer extends XComponentPeer implements TextAreaPeer {
g.drawLine(x+w-2, y+h-2, x+w-2, y+1); // right
}
@Override
public Insets getBorderInsets(Component c) {
return getBorderInsets(c, new Insets(0,0,0,0));
}
@Override
public Insets getBorderInsets(Component c, Insets insets) {
insets.top = insets.left = insets.bottom = insets.right = 2;
return insets;
......
......@@ -97,6 +97,7 @@ final class XTextFieldPeer extends XComponentPeer implements TextFieldPeer {
firstChangeSkipped = true;
}
@Override
public void dispose() {
XToolkit.specialPeerMap.remove(xtext);
// visible caret has a timer thread which must be stopped
......@@ -136,10 +137,10 @@ final class XTextFieldPeer extends XComponentPeer implements TextFieldPeer {
setFont(font);
}
/**
* @see java.awt.peer.TextComponentPeer
*/
@Override
public void setEditable(boolean editable) {
if (xtext != null) {
xtext.setEditable(editable);
......@@ -150,6 +151,7 @@ final class XTextFieldPeer extends XComponentPeer implements TextFieldPeer {
/**
* @see java.awt.peer.ComponentPeer
*/
@Override
public void setEnabled(boolean enabled) {
super.setEnabled(enabled);
if (xtext != null) {
......@@ -161,22 +163,23 @@ final class XTextFieldPeer extends XComponentPeer implements TextFieldPeer {
/**
* @see java.awt.peer.TextComponentPeer
*/
@Override
public InputMethodRequests getInputMethodRequests() {
if (xtext != null) return xtext.getInputMethodRequests();
else return null;
}
@Override
void handleJavaInputMethodEvent(InputMethodEvent e) {
if (xtext != null)
xtext.processInputMethodEventImpl(e);
}
/**
* @see java.awt.peer.TextFieldPeer
*/
@Override
public void setEchoChar(char c) {
if (xtext != null) {
xtext.setEchoChar(c);
......@@ -188,6 +191,7 @@ final class XTextFieldPeer extends XComponentPeer implements TextFieldPeer {
/**
* @see java.awt.peer.TextComponentPeer
*/
@Override
public int getSelectionStart() {
return xtext.getSelectionStart();
}
......@@ -195,6 +199,7 @@ final class XTextFieldPeer extends XComponentPeer implements TextFieldPeer {
/**
* @see java.awt.peer.TextComponentPeer
*/
@Override
public int getSelectionEnd() {
return xtext.getSelectionEnd();
}
......@@ -202,6 +207,7 @@ final class XTextFieldPeer extends XComponentPeer implements TextFieldPeer {
/**
* @see java.awt.peer.TextComponentPeer
*/
@Override
public String getText() {
return xtext.getText();
}
......@@ -209,12 +215,13 @@ final class XTextFieldPeer extends XComponentPeer implements TextFieldPeer {
/**
* @see java.awt.peer.TextComponentPeer
*/
public void setText(String txt) {
setXAWTTextField(txt);
@Override
public void setText(String text) {
setXAWTTextField(text);
repaint();
}
private boolean setXAWTTextField(String txt) {
private void setXAWTTextField(String txt) {
text = txt;
if (xtext != null) {
// JTextField.setText() posts two different events (remove & insert).
......@@ -229,29 +236,22 @@ final class XTextFieldPeer extends XComponentPeer implements TextFieldPeer {
xtext.getDocument().addDocumentListener(xtext);
xtext.setCaretPosition(0);
}
return true;
}
/**
* to be implemented.
* @see java.awt.peer.TextComponentPeer
*/
@Override
public void setCaretPosition(int position) {
if (xtext != null) xtext.setCaretPosition(position);
}
/**
* DEPRECATED
* @see java.awt.peer.TextFieldPeer
*/
public void setEchoCharacter(char c) {
setEchoChar(c);
}
void repaintText() {
xtext.repaintNow();
}
@Override
public void setBackground(Color c) {
if (log.isLoggable(PlatformLogger.Level.FINE)) {
log.fine("target="+ target + ", old=" + background + ", new=" + c);
......@@ -264,6 +264,7 @@ final class XTextFieldPeer extends XComponentPeer implements TextFieldPeer {
repaintText();
}
@Override
public void setForeground(Color c) {
foreground = c;
if (xtext != null) {
......@@ -274,6 +275,7 @@ final class XTextFieldPeer extends XComponentPeer implements TextFieldPeer {
repaintText();
}
@Override
public void setFont(Font f) {
synchronized (getStateLock()) {
font = f;
......@@ -284,14 +286,6 @@ final class XTextFieldPeer extends XComponentPeer implements TextFieldPeer {
xtext.validate();
}
/**
* DEPRECATED
* @see java.awt.peer.TextFieldPeer
*/
public Dimension preferredSize(int cols) {
return getPreferredSize(cols);
}
/**
* Deselects the the highlighted text.
*/
......@@ -303,20 +297,19 @@ final class XTextFieldPeer extends XComponentPeer implements TextFieldPeer {
}
}
/**
* to be implemented.
* @see java.awt.peer.TextComponentPeer
*/
@Override
public int getCaretPosition() {
return xtext.getCaretPosition();
}
/**
* @see java.awt.peer.TextComponentPeer
*/
@Override
public void select(int s, int e) {
xtext.select(s,e);
// Fixed 5100806
......@@ -324,29 +317,32 @@ final class XTextFieldPeer extends XComponentPeer implements TextFieldPeer {
xtext.repaint();
}
@Override
public Dimension getMinimumSize() {
return xtext.getMinimumSize();
}
@Override
public Dimension getPreferredSize() {
return xtext.getPreferredSize();
}
@Override
public Dimension getPreferredSize(int cols) {
return getMinimumSize(cols);
}
private static final int PADDING = 16;
@Override
public Dimension getMinimumSize(int cols) {
Font f = xtext.getFont();
FontMetrics fm = xtext.getFontMetrics(f);
return new Dimension(fm.charWidth('0') * cols + 10,
fm.getMaxDescent() + fm.getMaxAscent() + PADDING);
}
@Override
public boolean isFocusable() {
return true;
}
......@@ -359,11 +355,10 @@ final class XTextFieldPeer extends XComponentPeer implements TextFieldPeer {
modifiers));
}
protected void disposeImpl() {
}
@Override
public void repaint() {
if (xtext != null) xtext.repaint();
}
......@@ -372,27 +367,32 @@ final class XTextFieldPeer extends XComponentPeer implements TextFieldPeer {
if (xtext != null) xtext.paint(g);
}
@Override
public void print(Graphics g) {
if (xtext != null) {
xtext.print(g);
}
}
@Override
public void focusLost(FocusEvent e) {
super.focusLost(e);
xtext.forwardFocusLost(e);
}
@Override
public void focusGained(FocusEvent e) {
super.focusGained(e);
xtext.forwardFocusGained(e);
}
@Override
void handleJavaKeyEvent(KeyEvent e) {
AWTAccessor.getComponentAccessor().processEvent(xtext,e);
}
@Override
public void handleJavaMouseEvent( MouseEvent mouseEvent ) {
super.handleJavaMouseEvent(mouseEvent);
if (xtext != null) {
......@@ -405,26 +405,21 @@ final class XTextFieldPeer extends XComponentPeer implements TextFieldPeer {
}
}
/**
* DEPRECATED
*/
@Override
public Dimension minimumSize() {
return getMinimumSize();
}
/**
* DEPRECATED
*/
public Dimension minimumSize(int cols) {
return getMinimumSize(cols);
}
@Override
public void setVisible(boolean b) {
super.setVisible(b);
if (xtext != null) xtext.setVisible(b);
}
@Override
public void setBounds(int x, int y, int width, int height, int op) {
super.setBounds(x, y, width, height, op);
if (xtext != null) {
......@@ -451,47 +446,11 @@ final class XTextFieldPeer extends XComponentPeer implements TextFieldPeer {
}
}
final class AWTTextFieldUI extends MotifPasswordFieldUI {
//
// 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;
private JTextField jtf;
@Override
protected String getPropertyPrefix() {
JTextComponent comp = getComponent();
if (comp instanceof JPasswordField && ((JPasswordField)comp).echoCharIsSet()) {
......@@ -501,6 +460,7 @@ final class XTextFieldPeer extends XComponentPeer implements TextFieldPeer {
}
}
@Override
public void installUI(JComponent c) {
super.installUI(c);
......@@ -557,6 +517,7 @@ final class XTextFieldPeer extends XComponentPeer implements TextFieldPeer {
}
}
@Override
protected void installKeyboardActions() {
super.installKeyboardActions();
......@@ -574,21 +535,19 @@ final class XTextFieldPeer extends XComponentPeer implements TextFieldPeer {
}
}
@Override
protected Caret createCaret() {
return new XTextAreaPeer.XAWTCaret();
}
}
class XAWTTextField extends JPasswordField
implements ActionListener,
DocumentListener
{
final class XAWTTextField extends JPasswordField
implements ActionListener, DocumentListener {
boolean isFocused = false;
private boolean isFocused = false;
private final XComponentPeer peer;
XComponentPeer peer;
public XAWTTextField(String text, XComponentPeer peer, Container parent) {
XAWTTextField(String text, XComponentPeer peer, Container parent) {
super(text);
this.peer = peer;
setDoubleBuffered(true);
......@@ -603,6 +562,7 @@ final class XTextFieldPeer extends XComponentPeer implements TextFieldPeer {
}
@Override
public void actionPerformed( ActionEvent actionEvent ) {
peer.postEvent(new ActionEvent(peer.target,
ActionEvent.ACTION_PERFORMED,
......@@ -612,6 +572,7 @@ final class XTextFieldPeer extends XComponentPeer implements TextFieldPeer {
}
@Override
public void insertUpdate(DocumentEvent e) {
if (peer != null) {
peer.postEvent(new TextEvent(peer.target,
......@@ -619,6 +580,7 @@ final class XTextFieldPeer extends XComponentPeer implements TextFieldPeer {
}
}
@Override
public void removeUpdate(DocumentEvent e) {
if (peer != null) {
peer.postEvent(new TextEvent(peer.target,
......@@ -626,6 +588,7 @@ final class XTextFieldPeer extends XComponentPeer implements TextFieldPeer {
}
}
@Override
public void changedUpdate(DocumentEvent e) {
if (peer != null) {
peer.postEvent(new TextEvent(peer.target,
......@@ -633,33 +596,32 @@ final class XTextFieldPeer extends XComponentPeer implements TextFieldPeer {
}
}
@Override
public ComponentPeer getPeer() {
return (ComponentPeer) peer;
}
public void repaintNow() {
paintImmediately(getBounds());
}
@Override
public Graphics getGraphics() {
return peer.getGraphics();
}
@Override
public void updateUI() {
ComponentUI ui = new AWTTextFieldUI();
setUI(ui);
}
void forwardFocusGained( FocusEvent e) {
isFocused = true;
FocusEvent fe = CausedFocusEvent.retarget(e, this);
super.processFocusEvent(fe);
}
void forwardFocusLost( FocusEvent e) {
isFocused = false;
FocusEvent fe = CausedFocusEvent.retarget(e, this);
......@@ -667,11 +629,11 @@ final class XTextFieldPeer extends XComponentPeer implements TextFieldPeer {
}
@Override
public boolean hasFocus() {
return isFocused;
}
public void processInputMethodEventImpl(InputMethodEvent e) {
processInputMethodEvent(e);
}
......@@ -686,6 +648,7 @@ final class XTextFieldPeer extends XComponentPeer implements TextFieldPeer {
// Fix for 4915454 - override the default implementation to avoid
// loading SystemFlavorMap and associated classes.
@Override
public void setTransferHandler(TransferHandler newHandler) {
TransferHandler oldHandler = (TransferHandler)
getClientProperty(AWTAccessor.getClientPropertyKeyAccessor()
......@@ -697,6 +660,7 @@ final class XTextFieldPeer extends XComponentPeer implements TextFieldPeer {
firePropertyChange("transferHandler", oldHandler, newHandler);
}
@Override
public void setEchoChar(char c) {
super.setEchoChar(c);
((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.
*
* This code is free software; you can redistribute it and/or modify it
......@@ -29,7 +29,7 @@ import java.awt.peer.*;
import java.awt.event.ActionEvent;
import java.awt.event.KeyEvent;
class WButtonPeer extends WComponentPeer implements ButtonPeer {
final class WButtonPeer extends WComponentPeer implements ButtonPeer {
static {
initIDs();
......@@ -83,13 +83,6 @@ class WButtonPeer extends WComponentPeer implements ButtonPeer {
return false;
}
/**
* DEPRECATED
*/
public Dimension minimumSize() {
return getMinimumSize();
}
/**
* 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.
*
* This code is free software; you can redistribute it and/or modify it
......@@ -28,7 +28,7 @@ import java.awt.*;
import java.awt.peer.*;
import java.awt.event.ItemEvent;
public class WCheckboxPeer extends WComponentPeer implements CheckboxPeer {
final class WCheckboxPeer extends WComponentPeer implements CheckboxPeer {
// CheckboxPeer implementation
......@@ -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.
*
* This code is free software; you can redistribute it and/or modify it
......@@ -32,7 +32,7 @@ import java.awt.event.WindowListener;
import java.awt.event.WindowAdapter;
import sun.awt.SunToolkit;
class WChoicePeer extends WComponentPeer implements ChoicePeer {
final class WChoicePeer extends WComponentPeer implements ChoicePeer {
// WComponentPeer overrides
......@@ -151,12 +151,5 @@ class WChoicePeer extends WComponentPeer implements ChoicePeer {
return fm.getHeight() * maxItems;
}
/**
* DEPRECATED
*/
public Dimension minimumSize() {
return getMinimumSize();
}
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.
*
* This code is free software; you can redistribute it and/or modify it
......@@ -50,7 +50,6 @@ import sun.java2d.ScreenUpdateManager;
import sun.java2d.d3d.D3DSurfaceData;
import sun.java2d.opengl.OGLSurfaceData;
import sun.java2d.pipe.Region;
import sun.awt.DisplayChangedListener;
import sun.awt.PaintEventDispatcher;
import sun.awt.SunToolkit;
import sun.awt.event.IgnorePaintEvent;
......@@ -881,13 +880,6 @@ public abstract class WComponentPeer extends WObjectPeer
public native void beginValidate();
public native void endValidate();
/**
* DEPRECATED
*/
public Dimension minimumSize() {
return getMinimumSize();
}
/**
* 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.
*
* This code is free software; you can redistribute it and/or modify it
......@@ -27,7 +27,7 @@ package sun.awt.windows;
import java.awt.*;
import java.awt.peer.*;
class WLabelPeer extends WComponentPeer implements LabelPeer {
final class WLabelPeer extends WComponentPeer implements LabelPeer {
// ComponentPeer overrides
......@@ -82,12 +82,4 @@ class WLabelPeer extends WComponentPeer implements LabelPeer {
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.
*
* This code is free software; you can redistribute it and/or modify it
......@@ -29,13 +29,8 @@ import java.awt.peer.*;
import java.awt.event.ActionEvent;
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() {
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.
*
* This code is free software; you can redistribute it and/or modify it
......@@ -28,8 +28,7 @@ import java.awt.*;
import java.awt.peer.*;
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,
// height for horizontal scrollbar as SM_CYVSCROLL
......@@ -140,12 +139,4 @@ class WScrollbarPeer extends WComponentPeer implements ScrollbarPeer {
public boolean shouldClearRectBeforePaint() {
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.
*
* This code is free software; you can redistribute it and/or modify it
......@@ -30,34 +30,36 @@ import java.awt.peer.*;
import java.awt.im.InputMethodRequests;
class WTextAreaPeer extends WTextComponentPeer implements TextAreaPeer {
final class WTextAreaPeer extends WTextComponentPeer implements TextAreaPeer {
// WComponentPeer overrides
@Override
public Dimension getMinimumSize() {
return getMinimumSize(10, 60);
}
// TextAreaPeer implementation
/* This should eventually be a direct native method. */
public void insert(String txt, int pos) {
insertText(txt, pos);
@Override
public void insert(String text, int pos) {
replaceRange(text, pos, pos);
}
/* This should eventually be a direct native method. */
public void replaceRange(String txt, int start, int end) {
replaceText(txt, start, end);
}
@Override
public native void replaceRange(String text, int start, int end);
@Override
public Dimension getPreferredSize(int rows, int cols) {
return getMinimumSize(rows, cols);
}
@Override
public Dimension getMinimumSize(int rows, int cols) {
FontMetrics fm = getFontMetrics(((TextArea)target).getFont());
return new Dimension(fm.charWidth('0') * cols + 20, fm.getHeight() * rows + 20);
}
@Override
public InputMethodRequests getInputMethodRequests() {
return null;
}
......@@ -68,42 +70,6 @@ class WTextAreaPeer extends WTextComponentPeer implements TextAreaPeer {
super(target);
}
@Override
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.
*
* This code is free software; you can redistribute it and/or modify it
......@@ -38,14 +38,20 @@ class WTextComponentPeer extends WComponentPeer implements TextComponentPeer {
// TextComponentPeer implementation
@Override
public void setEditable(boolean editable) {
enableEditing(editable);
setBackground(((TextComponent)target).getBackground());
}
@Override
public native String getText();
public native void setText(String txt);
@Override
public native void setText(String text);
@Override
public native int getSelectionStart();
@Override
public native int getSelectionEnd();
@Override
public native void select(int selStart, int selEnd);
// Toolkit & peer internals
......@@ -54,6 +60,7 @@ class WTextComponentPeer extends WComponentPeer implements TextComponentPeer {
super(target);
}
@Override
void initialize() {
TextComponent tc = (TextComponent)target;
String text = tc.getText();
......@@ -64,14 +71,12 @@ class WTextComponentPeer extends WComponentPeer implements TextComponentPeer {
select(tc.getSelectionStart(), tc.getSelectionEnd());
setEditable(tc.isEditable());
// oldSelectionStart = -1; // accessibility support
// oldSelectionEnd = -1; // accessibility support
super.initialize();
}
native void enableEditing(boolean e);
@Override
public boolean isFocusable() {
return true;
}
......@@ -81,6 +86,7 @@ class WTextComponentPeer extends WComponentPeer implements TextComponentPeer {
* unfortunately resets the selection, but seems to be the
* only way to get this to work.
*/
@Override
public void setCaretPosition(int pos) {
select(pos,pos);
}
......@@ -89,6 +95,7 @@ class WTextComponentPeer extends WComponentPeer implements TextComponentPeer {
* Get the caret position by looking up the end of the current
* selection.
*/
@Override
public int getCaretPosition() {
return getSelectionStart();
}
......@@ -105,34 +112,8 @@ class WTextComponentPeer extends WComponentPeer implements TextComponentPeer {
*/
private static native void initIDs();
// 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; }
@Override
public boolean shouldClearRectBeforePaint() {
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.
*
* This code is free software; you can redistribute it and/or modify it
......@@ -31,16 +31,18 @@ import java.awt.event.ActionEvent;
import java.awt.event.KeyEvent;
import java.awt.im.InputMethodRequests;
class WTextFieldPeer extends WTextComponentPeer implements TextFieldPeer {
final class WTextFieldPeer extends WTextComponentPeer implements TextFieldPeer {
// WComponentPeer overrides
@Override
public Dimension getMinimumSize() {
FontMetrics fm = getFontMetrics(((TextField)target).getFont());
return new Dimension(fm.stringWidth(getText()) + 24,
fm.getHeight() + 8);
}
@Override
public boolean handleJavaKeyEvent(KeyEvent e) {
switch (e.getID()) {
case KeyEvent.KEY_TYPED:
......@@ -56,35 +58,35 @@ class WTextFieldPeer extends WTextComponentPeer implements TextFieldPeer {
// TextFieldPeer implementation
@Override
public native void setEchoChar(char echoChar);
/* This should eventually be a direct native method. */
public void setEchoChar(char c) {
setEchoCharacter(c);
}
@Override
public Dimension getPreferredSize(int cols) {
return getMinimumSize(cols);
}
@Override
public Dimension getMinimumSize(int cols) {
FontMetrics fm = getFontMetrics(((TextField)target).getFont());
return new Dimension(fm.charWidth('0') * cols + 24, fm.getHeight() + 8);
}
@Override
public InputMethodRequests getInputMethodRequests() {
return null;
return null;
}
// Toolkit & peer internals
WTextFieldPeer(TextField target) {
super(target);
}
@Override
native void create(WComponentPeer parent);
@Override
void initialize() {
TextField tf = (TextField)target;
if (tf.echoCharIsSet()) {
......@@ -92,33 +94,4 @@ class WTextFieldPeer extends WTextComponentPeer implements TextFieldPeer {
}
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,
/*
* Class: sun_awt_windows_WTextAreaPeer
* Method: replaceText
* Method: replaceRange
* Signature: (Ljava/lang/String;II)V
*/
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,
jint start, jint end)
{
......@@ -791,19 +791,4 @@ Java_sun_awt_windows_WTextAreaPeer_replaceText(JNIEnv *env, jobject self,
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" */
......@@ -987,30 +987,6 @@ AwtTextComponent::OleCallback::GetContextMenu(WORD seltype,
// 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
/*
* Handle WmKeyDown to catch keystrokes which may move the caret,
......@@ -1051,112 +1027,4 @@ MsgRouting AwtTextComponent::WmKeyDown(UINT wkey, UINT repCnt,
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" */
......@@ -316,12 +316,12 @@ Java_sun_awt_windows_WTextFieldPeer_create(JNIEnv *env, jobject self,
/*
* Class: sun_awt_windows_WTextFieldPeer
* Method: setEchoCharacter
* Method: setEchoChar
* Signature: (C)V
*/
JNIEXPORT void JNICALL
Java_sun_awt_windows_WTextFieldPeer_setEchoCharacter(JNIEnv *env, jobject self,
jchar ch)
Java_sun_awt_windows_WTextFieldPeer_setEchoChar(JNIEnv *env, jobject self,
jchar ch)
{
TRY;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册