GtkListPeer.java (handleEvent): New method.
2003-12-02 Fernando Nasser <fnasser@redhat.com> * gnu/java/awt/peer/gtk/GtkListPeer.java (handleEvent): New method. Handle mouse and key events that must generate ActionEvents. * java/awt/List.java (getSelectedIndex): Return -1 if no list element is selected. * jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEvents.c (awt_event_handler): Correct handling of mouse and key events so that List receives them. * jni/gtk-peer/gnu_java_awt_peer_gtk_GtkListPeer.c (Java_gnu_java_awt_peer_gtk_GtkListPeer_delItems): Fix removal of multiple list elements. From-SVN: r74189
This commit is contained in:
parent
10590d375b
commit
a104538631
5 changed files with 136 additions and 42 deletions
|
@ -38,8 +38,11 @@ exception statement from your version. */
|
|||
|
||||
package gnu.java.awt.peer.gtk;
|
||||
|
||||
import java.awt.AWTEvent;
|
||||
import java.awt.Dimension;
|
||||
import java.awt.List;
|
||||
import java.awt.event.MouseEvent;
|
||||
import java.awt.event.KeyEvent;
|
||||
import java.awt.peer.ListPeer;
|
||||
|
||||
public class GtkListPeer extends GtkComponentPeer
|
||||
|
@ -121,6 +124,29 @@ public class GtkListPeer extends GtkComponentPeer
|
|||
setMultipleMode (b);
|
||||
}
|
||||
|
||||
public void handleEvent (AWTEvent e)
|
||||
{
|
||||
if (e.getID () == MouseEvent.MOUSE_CLICKED && isEnabled ())
|
||||
{
|
||||
MouseEvent me = (MouseEvent) e;
|
||||
if (!me.isConsumed ()
|
||||
&& (me.getModifiers () & MouseEvent.BUTTON1_MASK) != 0
|
||||
&& me.getClickCount() > 1)
|
||||
postActionEvent (((List)awtComponent).getSelectedItem (),
|
||||
me.getModifiers ());
|
||||
}
|
||||
|
||||
if (e.getID () == KeyEvent.KEY_PRESSED)
|
||||
{
|
||||
KeyEvent ke = (KeyEvent) e;
|
||||
if (!ke.isConsumed () && ke.getKeyCode () == KeyEvent.VK_ENTER)
|
||||
postActionEvent (((List)awtComponent).getSelectedItem (),
|
||||
ke.getModifiers ());
|
||||
}
|
||||
|
||||
super.handleEvent (e);
|
||||
}
|
||||
|
||||
protected void postItemEvent (int item, int stateChange)
|
||||
{
|
||||
postItemEvent (new Integer (item), stateChange);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue