From 992cc296d8f812df0e68df14749b0a81d79f2a8f Mon Sep 17 00:00:00 2001
From: jvergara <jvergara@localhost>
Date: Wed, 28 Jan 2009 01:37:26 +0000
Subject: [PATCH] Add some key listeners to the different lists on the 'Browse Schema' panels. This is done to make these panels 508 compliant by allowing the user to navigate using only the keyboard.
---
opends/src/guitools/org/opends/guitools/controlpanel/ui/AttributeSyntaxPanel.java | 58 +++++++++++++++++++++++++++++++++++++++++-----------------
1 files changed, 41 insertions(+), 17 deletions(-)
diff --git a/opends/src/guitools/org/opends/guitools/controlpanel/ui/AttributeSyntaxPanel.java b/opends/src/guitools/org/opends/guitools/controlpanel/ui/AttributeSyntaxPanel.java
index 37d0fbb..6213564 100644
--- a/opends/src/guitools/org/opends/guitools/controlpanel/ui/AttributeSyntaxPanel.java
+++ b/opends/src/guitools/org/opends/guitools/controlpanel/ui/AttributeSyntaxPanel.java
@@ -22,7 +22,7 @@
* CDDL HEADER END
*
*
- * Copyright 2008 Sun Microsystems, Inc.
+ * Copyright 2008-2009 Sun Microsystems, Inc.
*/
package org.opends.guitools.controlpanel.ui;
@@ -31,6 +31,8 @@
import java.awt.Component;
import java.awt.GridBagConstraints;
+import java.awt.event.KeyAdapter;
+import java.awt.event.KeyEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.util.Comparator;
@@ -157,29 +159,34 @@
gbc.insets.top = 10;
add(Utilities.createScrollPane(usedByAttributes), gbc);
- MouseAdapter doubleClickListener = new MouseAdapter()
+ MouseAdapter clickListener = new MouseAdapter()
{
public void mouseClicked(MouseEvent ev)
{
- if (ev.getClickCount() > 1)
+ if (ev.getClickCount() == 1)
{
- String o = (String)usedByAttributes.getSelectedValue();
- if (o != null)
- {
- Schema schema = getInfo().getServerDescriptor().getSchema();
- if (schema != null)
- {
- AttributeType attr = schema.getAttributeType(o.toLowerCase());
- if (attr != null)
- {
- notifySchemaSelectionListeners(attr);
- }
- }
- }
+ usedBySelected();
}
}
};
- usedByAttributes.addMouseListener(doubleClickListener);
+ usedByAttributes.addMouseListener(clickListener);
+
+ KeyAdapter keyListener = new KeyAdapter()
+ {
+ /**
+ * {@inheritDoc}
+ */
+ public void keyTyped(KeyEvent ev)
+ {
+ if ((ev.getKeyChar() == KeyEvent.VK_SPACE) ||
+ (ev.getKeyChar() == KeyEvent.VK_ENTER))
+ {
+ usedBySelected();
+ }
+ }
+ };
+ usedByAttributes.addKeyListener(keyListener);
+
setBorder(PANEL_BORDER);
}
@@ -222,4 +229,21 @@
model.addElement(attr);
}
}
+
+ private void usedBySelected()
+ {
+ String o = (String)usedByAttributes.getSelectedValue();
+ if (o != null)
+ {
+ Schema schema = getInfo().getServerDescriptor().getSchema();
+ if (schema != null)
+ {
+ AttributeType attr = schema.getAttributeType(o.toLowerCase());
+ if (attr != null)
+ {
+ notifySchemaSelectionListeners(attr);
+ }
+ }
+ }
+ }
}
--
Gitblit v1.10.0