mirror of
https://github.com/acidanthera/audk.git
synced 2025-07-23 21:54:27 +02:00
Add no mouse support for table cell editors.
Add auto-search function in FrameworkModules tables by detecting keyboard typing. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1637 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
2c71f6e5ab
commit
2a06ac5bc6
@ -20,6 +20,7 @@ import javax.swing.JPanel;
|
|||||||
import javax.swing.JDialog;
|
import javax.swing.JDialog;
|
||||||
import java.awt.GridLayout;
|
import java.awt.GridLayout;
|
||||||
|
|
||||||
|
import javax.swing.JComponent;
|
||||||
import javax.swing.JFrame;
|
import javax.swing.JFrame;
|
||||||
import javax.swing.JOptionPane;
|
import javax.swing.JOptionPane;
|
||||||
import javax.swing.JTextField;
|
import javax.swing.JTextField;
|
||||||
@ -27,12 +28,14 @@ import javax.swing.JLabel;
|
|||||||
import javax.swing.JRadioButton;
|
import javax.swing.JRadioButton;
|
||||||
import javax.swing.ButtonGroup;
|
import javax.swing.ButtonGroup;
|
||||||
import javax.swing.JButton;
|
import javax.swing.JButton;
|
||||||
|
import javax.swing.KeyStroke;
|
||||||
|
|
||||||
import org.tianocore.frameworkwizard.common.Tools;
|
import org.tianocore.frameworkwizard.common.Tools;
|
||||||
|
|
||||||
import java.awt.FlowLayout;
|
import java.awt.FlowLayout;
|
||||||
import java.awt.event.ActionEvent;
|
import java.awt.event.ActionEvent;
|
||||||
import java.awt.event.ActionListener;
|
import java.awt.event.ActionListener;
|
||||||
|
import java.awt.event.KeyEvent;
|
||||||
import java.awt.event.WindowAdapter;
|
import java.awt.event.WindowAdapter;
|
||||||
import java.awt.event.WindowEvent;
|
import java.awt.event.WindowEvent;
|
||||||
|
|
||||||
@ -62,6 +65,7 @@ public class GenGuidDialog extends JDialog implements ActionListener{
|
|||||||
private JButton jButtonCancel = null;
|
private JButton jButtonCancel = null;
|
||||||
private JButton jButtonNew = null;
|
private JButton jButtonNew = null;
|
||||||
private JButton jButtonOk = null;
|
private JButton jButtonOk = null;
|
||||||
|
private ActionListener outerListener = null;
|
||||||
|
|
||||||
// private String guid = null;
|
// private String guid = null;
|
||||||
|
|
||||||
@ -121,7 +125,7 @@ public class GenGuidDialog extends JDialog implements ActionListener{
|
|||||||
// else {
|
// else {
|
||||||
// JOptionPane.showMessageDialog(frame, "Incorrect GUID Value Format.");
|
// JOptionPane.showMessageDialog(frame, "Incorrect GUID Value Format.");
|
||||||
// }
|
// }
|
||||||
this.dispose();
|
// this.dispose();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (arg0.getSource() == jButtonCancel){
|
if (arg0.getSource() == jButtonCancel){
|
||||||
@ -227,6 +231,7 @@ public class GenGuidDialog extends JDialog implements ActionListener{
|
|||||||
jButtonCancel.setPreferredSize(new java.awt.Dimension(80,20));
|
jButtonCancel.setPreferredSize(new java.awt.Dimension(80,20));
|
||||||
jButtonCancel.setText("Cancel");
|
jButtonCancel.setText("Cancel");
|
||||||
jButtonCancel.addActionListener(this);
|
jButtonCancel.addActionListener(this);
|
||||||
|
jButtonCancel.registerKeyboardAction(this, KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0, false), JComponent.WHEN_FOCUSED);
|
||||||
}
|
}
|
||||||
return jButtonCancel;
|
return jButtonCancel;
|
||||||
}
|
}
|
||||||
@ -243,6 +248,7 @@ public class GenGuidDialog extends JDialog implements ActionListener{
|
|||||||
jButtonNew.setHorizontalTextPosition(javax.swing.SwingConstants.LEADING);
|
jButtonNew.setHorizontalTextPosition(javax.swing.SwingConstants.LEADING);
|
||||||
jButtonNew.setText("New");
|
jButtonNew.setText("New");
|
||||||
jButtonNew.addActionListener(this);
|
jButtonNew.addActionListener(this);
|
||||||
|
jButtonNew.registerKeyboardAction(this, KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0, false), JComponent.WHEN_FOCUSED);
|
||||||
}
|
}
|
||||||
return jButtonNew;
|
return jButtonNew;
|
||||||
}
|
}
|
||||||
@ -258,7 +264,9 @@ public class GenGuidDialog extends JDialog implements ActionListener{
|
|||||||
jButtonOk.setPreferredSize(new java.awt.Dimension(80,20));
|
jButtonOk.setPreferredSize(new java.awt.Dimension(80,20));
|
||||||
jButtonOk.setText("Ok");
|
jButtonOk.setText("Ok");
|
||||||
jButtonOk.setActionCommand("GenGuidValue");
|
jButtonOk.setActionCommand("GenGuidValue");
|
||||||
jButtonOk.addActionListener(this);
|
// jButtonOk.addActionListener(this);
|
||||||
|
jButtonOk.registerKeyboardAction(outerListener, KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0, false), JComponent.WHEN_FOCUSED);
|
||||||
|
|
||||||
}
|
}
|
||||||
return jButtonOk;
|
return jButtonOk;
|
||||||
}
|
}
|
||||||
@ -289,6 +297,7 @@ public class GenGuidDialog extends JDialog implements ActionListener{
|
|||||||
|
|
||||||
public GenGuidDialog(ActionListener i){
|
public GenGuidDialog(ActionListener i){
|
||||||
super();
|
super();
|
||||||
|
outerListener = i;
|
||||||
initialize();
|
initialize();
|
||||||
jButtonOk.addActionListener(i);
|
jButtonOk.addActionListener(i);
|
||||||
this.addWindowListener(new WindowAdapter(){
|
this.addWindowListener(new WindowAdapter(){
|
||||||
|
@ -16,11 +16,14 @@ package org.tianocore.frameworkwizard.packaging.ui;
|
|||||||
import java.awt.Component;
|
import java.awt.Component;
|
||||||
import java.awt.event.ActionEvent;
|
import java.awt.event.ActionEvent;
|
||||||
import java.awt.event.ActionListener;
|
import java.awt.event.ActionListener;
|
||||||
|
//import java.awt.event.KeyEvent;
|
||||||
|
|
||||||
import javax.swing.AbstractCellEditor;
|
import javax.swing.AbstractCellEditor;
|
||||||
import javax.swing.JButton;
|
import javax.swing.JButton;
|
||||||
|
//import javax.swing.JComponent;
|
||||||
import javax.swing.JFrame;
|
import javax.swing.JFrame;
|
||||||
import javax.swing.JTable;
|
import javax.swing.JTable;
|
||||||
|
//import javax.swing.KeyStroke;
|
||||||
import javax.swing.table.TableCellEditor;
|
import javax.swing.table.TableCellEditor;
|
||||||
|
|
||||||
|
|
||||||
@ -45,6 +48,7 @@ public class GuidEditor extends AbstractCellEditor implements TableCellEditor, A
|
|||||||
button = new JButton();
|
button = new JButton();
|
||||||
button.setActionCommand(EDIT);
|
button.setActionCommand(EDIT);
|
||||||
button.addActionListener(this);
|
button.addActionListener(this);
|
||||||
|
// button.registerKeyboardAction(this, KeyStroke.getKeyStroke(KeyEvent.VK_F2, 0, false), JComponent.WHEN_FOCUSED);
|
||||||
button.setBorderPainted(false);
|
button.setBorderPainted(false);
|
||||||
|
|
||||||
|
|
||||||
@ -86,7 +90,8 @@ public class GuidEditor extends AbstractCellEditor implements TableCellEditor, A
|
|||||||
}
|
}
|
||||||
else { //User pressed dialog's "OK" button.
|
else { //User pressed dialog's "OK" button.
|
||||||
currentGuid = dialog.getGuid();
|
currentGuid = dialog.getGuid();
|
||||||
|
// button.setText(currentGuid);
|
||||||
|
dialog.dispose();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -38,6 +38,7 @@ import org.tianocore.frameworkwizard.platform.ui.global.WorkspaceProfile;
|
|||||||
import org.tianocore.frameworkwizard.module.Identifications.ModuleIdentification;
|
import org.tianocore.frameworkwizard.module.Identifications.ModuleIdentification;
|
||||||
|
|
||||||
import java.awt.FlowLayout;
|
import java.awt.FlowLayout;
|
||||||
|
import java.awt.event.KeyEvent;
|
||||||
import java.awt.event.MouseEvent;
|
import java.awt.event.MouseEvent;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
@ -52,6 +53,12 @@ public class FpdFrameworkModules extends IInternalFrame {
|
|||||||
*/
|
*/
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
private static final int timeToWait = 3000;
|
||||||
|
|
||||||
|
private long savedMs = 0;
|
||||||
|
|
||||||
|
String searchField = "";
|
||||||
|
|
||||||
public static final int forceDbgColForFpdModTable = 7;
|
public static final int forceDbgColForFpdModTable = 7;
|
||||||
|
|
||||||
static JFrame frame;
|
static JFrame frame;
|
||||||
@ -309,11 +316,51 @@ public class FpdFrameworkModules extends IInternalFrame {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
jTableAllModules.addKeyListener(new java.awt.event.KeyAdapter() {
|
||||||
|
public void keyPressed(java.awt.event.KeyEvent e) {
|
||||||
|
if (e.getKeyCode() == KeyEvent.VK_ENTER) {
|
||||||
|
int selectedRow = jTableAllModules.getSelectedRow();
|
||||||
|
if (selectedRow < 0) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
TableSorter sorter = (TableSorter) jTableAllModules.getModel();
|
||||||
|
selectedRow = sorter.getModelRowIndex(selectedRow);
|
||||||
|
addModuleIntoPlatform (selectedRow);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
jTableAllModules.addKeyListener(new java.awt.event.KeyAdapter() {
|
||||||
|
public void keyTyped(java.awt.event.KeyEvent e) {
|
||||||
|
|
||||||
|
if (System.currentTimeMillis() - savedMs < timeToWait) {
|
||||||
|
searchField += e.getKeyChar();
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
searchField = "" + e.getKeyChar();
|
||||||
|
}
|
||||||
|
|
||||||
|
int viewIndex = gotoFoundRow (searchField, (TableSorter) jTableAllModules.getModel());
|
||||||
|
if (viewIndex >= 0){
|
||||||
|
jTableAllModules.changeSelection(viewIndex, 0, false, false);
|
||||||
|
}
|
||||||
|
savedMs = System.currentTimeMillis();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
return jTableAllModules;
|
return jTableAllModules;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private int gotoFoundRow (String s, TableSorter model) {
|
||||||
|
for (int i = 0; i < model.getRowCount(); ++i) {
|
||||||
|
if (model.getValueAt(i, 0) != null && model.getValueAt(i, 0).toString().regionMatches(true, 0, s, 0, s.length())) {
|
||||||
|
return model.getViewIndexArray()[i];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This method initializes jPanelTopSouth
|
* This method initializes jPanelTopSouth
|
||||||
@ -560,6 +607,38 @@ public class FpdFrameworkModules extends IInternalFrame {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
jTableFpdModules.addKeyListener(new java.awt.event.KeyAdapter() {
|
||||||
|
public void keyPressed(java.awt.event.KeyEvent e) {
|
||||||
|
if (e.getKeyCode() == KeyEvent.VK_ENTER) {
|
||||||
|
int selectedRow = jTableFpdModules.getSelectedRow();
|
||||||
|
if (selectedRow < 0) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
TableSorter sorter = (TableSorter) jTableFpdModules.getModel();
|
||||||
|
selectedRow = sorter.getModelRowIndex(selectedRow);
|
||||||
|
showSettingsDlg (selectedRow);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
jTableFpdModules.addKeyListener(new java.awt.event.KeyAdapter() {
|
||||||
|
public void keyTyped(java.awt.event.KeyEvent e) {
|
||||||
|
|
||||||
|
if (System.currentTimeMillis() - savedMs < timeToWait) {
|
||||||
|
searchField += e.getKeyChar();
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
searchField = "" + e.getKeyChar();
|
||||||
|
}
|
||||||
|
|
||||||
|
int viewIndex = gotoFoundRow (searchField, (TableSorter) jTableFpdModules.getModel());
|
||||||
|
if (viewIndex >= 0){
|
||||||
|
jTableFpdModules.changeSelection(viewIndex, 0, false, false);
|
||||||
|
}
|
||||||
|
savedMs = System.currentTimeMillis();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
jTableFpdModules.getModel().addTableModelListener(this);
|
jTableFpdModules.getModel().addTableModelListener(this);
|
||||||
}
|
}
|
||||||
return jTableFpdModules;
|
return jTableFpdModules;
|
||||||
|
@ -16,8 +16,10 @@ import java.awt.BorderLayout;
|
|||||||
import java.awt.Dimension;
|
import java.awt.Dimension;
|
||||||
import java.awt.Toolkit;
|
import java.awt.Toolkit;
|
||||||
|
|
||||||
|
import javax.swing.JComponent;
|
||||||
import javax.swing.JPanel;
|
import javax.swing.JPanel;
|
||||||
import javax.swing.JDialog;
|
import javax.swing.JDialog;
|
||||||
|
import javax.swing.KeyStroke;
|
||||||
|
|
||||||
import javax.swing.JButton;
|
import javax.swing.JButton;
|
||||||
|
|
||||||
@ -25,6 +27,7 @@ import javax.swing.JButton;
|
|||||||
import java.awt.FlowLayout;
|
import java.awt.FlowLayout;
|
||||||
import java.awt.event.ActionEvent;
|
import java.awt.event.ActionEvent;
|
||||||
import java.awt.event.ActionListener;
|
import java.awt.event.ActionListener;
|
||||||
|
import java.awt.event.KeyEvent;
|
||||||
import java.util.Vector;
|
import java.util.Vector;
|
||||||
|
|
||||||
import javax.swing.JScrollPane;
|
import javax.swing.JScrollPane;
|
||||||
@ -59,7 +62,7 @@ public class GenListDialog extends JDialog implements ActionListener{
|
|||||||
|
|
||||||
if (arg0.getSource() == jButtonOk){
|
if (arg0.getSource() == jButtonOk){
|
||||||
|
|
||||||
this.dispose();
|
// this.dispose();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (arg0.getSource() == jButtonCancel){
|
if (arg0.getSource() == jButtonCancel){
|
||||||
@ -111,6 +114,7 @@ public class GenListDialog extends JDialog implements ActionListener{
|
|||||||
jButtonCancel.setPreferredSize(new java.awt.Dimension(80,20));
|
jButtonCancel.setPreferredSize(new java.awt.Dimension(80,20));
|
||||||
jButtonCancel.setText("Cancel");
|
jButtonCancel.setText("Cancel");
|
||||||
jButtonCancel.addActionListener(this);
|
jButtonCancel.addActionListener(this);
|
||||||
|
jButtonCancel.registerKeyboardAction(this, KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0, false), JComponent.WHEN_FOCUSED);
|
||||||
}
|
}
|
||||||
return jButtonCancel;
|
return jButtonCancel;
|
||||||
}
|
}
|
||||||
@ -185,7 +189,7 @@ public class GenListDialog extends JDialog implements ActionListener{
|
|||||||
public GenListDialog(ActionListener i){
|
public GenListDialog(ActionListener i){
|
||||||
this();
|
this();
|
||||||
jButtonOk.addActionListener(i);
|
jButtonOk.addActionListener(i);
|
||||||
|
jButtonOk.registerKeyboardAction(i, KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0, false), JComponent.WHEN_FOCUSED);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -16,13 +16,18 @@ import java.awt.BorderLayout;
|
|||||||
import java.awt.Dimension;
|
import java.awt.Dimension;
|
||||||
import java.awt.Toolkit;
|
import java.awt.Toolkit;
|
||||||
|
|
||||||
|
import javax.swing.JComponent;
|
||||||
import javax.swing.JPanel;
|
import javax.swing.JPanel;
|
||||||
import javax.swing.JDialog;
|
import javax.swing.JDialog;
|
||||||
import javax.swing.JTextArea;
|
import javax.swing.JTextArea;
|
||||||
import javax.swing.JButton;
|
import javax.swing.JButton;
|
||||||
|
import javax.swing.KeyStroke;
|
||||||
|
|
||||||
import java.awt.FlowLayout;
|
import java.awt.FlowLayout;
|
||||||
import java.awt.event.ActionEvent;
|
import java.awt.event.ActionEvent;
|
||||||
import java.awt.event.ActionListener;
|
import java.awt.event.ActionListener;
|
||||||
|
import java.awt.event.KeyEvent;
|
||||||
|
|
||||||
import javax.swing.JScrollPane;
|
import javax.swing.JScrollPane;
|
||||||
|
|
||||||
|
|
||||||
@ -48,13 +53,11 @@ public class GenLongTextDialog extends JDialog implements ActionListener{
|
|||||||
|
|
||||||
private JScrollPane jScrollPane = null;
|
private JScrollPane jScrollPane = null;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public void actionPerformed(ActionEvent arg0) {
|
public void actionPerformed(ActionEvent arg0) {
|
||||||
|
|
||||||
if (arg0.getSource() == jButtonOk){
|
if (arg0.getSource() == jButtonOk){
|
||||||
|
|
||||||
this.dispose();
|
// this.dispose();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (arg0.getSource() == jButtonCancel){
|
if (arg0.getSource() == jButtonCancel){
|
||||||
@ -107,6 +110,7 @@ public class GenLongTextDialog extends JDialog implements ActionListener{
|
|||||||
jButtonCancel.setPreferredSize(new java.awt.Dimension(80,20));
|
jButtonCancel.setPreferredSize(new java.awt.Dimension(80,20));
|
||||||
jButtonCancel.setText("Cancel");
|
jButtonCancel.setText("Cancel");
|
||||||
jButtonCancel.addActionListener(this);
|
jButtonCancel.addActionListener(this);
|
||||||
|
jButtonCancel.registerKeyboardAction(this, KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0, false), JComponent.WHEN_FOCUSED);
|
||||||
}
|
}
|
||||||
return jButtonCancel;
|
return jButtonCancel;
|
||||||
}
|
}
|
||||||
@ -170,7 +174,7 @@ public class GenLongTextDialog extends JDialog implements ActionListener{
|
|||||||
public GenLongTextDialog(ActionListener i){
|
public GenLongTextDialog(ActionListener i){
|
||||||
this();
|
this();
|
||||||
jButtonOk.addActionListener(i);
|
jButtonOk.addActionListener(i);
|
||||||
|
jButtonOk.registerKeyboardAction(i, KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0, false), JComponent.WHEN_FOCUSED);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -98,6 +98,7 @@ public class ListEditor extends AbstractCellEditor implements TableCellEditor, A
|
|||||||
s += " ";
|
s += " ";
|
||||||
}
|
}
|
||||||
archs = s.trim();
|
archs = s.trim();
|
||||||
|
dialog.dispose();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -86,6 +86,7 @@ public class LongTextEditor extends AbstractCellEditor implements TableCellEdito
|
|||||||
else { //User pressed dialog's "OK" button.
|
else { //User pressed dialog's "OK" button.
|
||||||
|
|
||||||
text = dialog.getText().trim();
|
text = dialog.getText().trim();
|
||||||
|
dialog.dispose();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user