Author: [EMAIL PROTECTED]
Date: Sun Oct 5 12:59:21 2008
New Revision: 3712
Modified:
changes/jat/oophm-branch/dev/core/src/com/google/gwt/dev/ModulePanel.java
changes/jat/oophm-branch/dev/core/src/com/google/gwt/dev/util/log/SwingLoggerPanel.java
changes/jat/oophm-branch/dev/core/src/com/google/gwt/dev/util/log/SwingTreeLogger.java
changes/jat/oophm-branch/plugins/common/ByteOrder.h
Log:
Added tree-based copy (Ctrl-C) support in the tree logger, hooks for find
(Ctrl-F) and a few minor cleanups.
Modified:
changes/jat/oophm-branch/dev/core/src/com/google/gwt/dev/ModulePanel.java
==
---
changes/jat/oophm-branch/dev/core/src/com/google/gwt/dev/ModulePanel.java
(original)
+++
changes/jat/oophm-branch/dev/core/src/com/google/gwt/dev/ModulePanel.java
Sun Oct 5 12:59:21 2008
@@ -54,6 +54,7 @@
button.setBorderPainted(false);
button.setPreferredSize(new Dimension(closeIcon.getIconWidth(),
closeIcon.getIconHeight()));
+ button.setToolTipText("Close this tab");
add(button);
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
@@ -111,7 +112,7 @@
}
synchronized (tabs) {
tabs.addTab(shortModuleName, browserIcon, this, moduleName + " from "
- + remoteSocket);
+ + remoteSocket + " on " + userAgent);
}
logger.log(TreeLogger.INFO, "Request for module " + moduleName
+ " by user agent '" + userAgent + "' from " + remoteSocket);
Modified:
changes/jat/oophm-branch/dev/core/src/com/google/gwt/dev/util/log/SwingLoggerPanel.java
==
---
changes/jat/oophm-branch/dev/core/src/com/google/gwt/dev/util/log/SwingLoggerPanel.java
(original)
+++
changes/jat/oophm-branch/dev/core/src/com/google/gwt/dev/util/log/SwingLoggerPanel.java
Sun Oct 5 12:59:21 2008
@@ -23,12 +23,19 @@
import java.awt.Color;
import java.awt.Component;
import java.awt.Dimension;
+import java.awt.HeadlessException;
+import java.awt.datatransfer.Clipboard;
+import java.awt.datatransfer.StringSelection;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
+import java.awt.event.InputEvent;
+import java.awt.event.KeyEvent;
import java.util.Enumeration;
+import javax.swing.AbstractAction;
import javax.swing.JButton;
import javax.swing.JComboBox;
+import javax.swing.JComponent;
import javax.swing.JEditorPane;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
@@ -37,11 +44,13 @@
import javax.swing.JSplitPane;
import javax.swing.JTextField;
import javax.swing.JTree;
+import javax.swing.KeyStroke;
import javax.swing.event.TreeSelectionEvent;
import javax.swing.event.TreeSelectionListener;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.DefaultTreeCellRenderer;
import javax.swing.tree.DefaultTreeModel;
+import javax.swing.tree.TreeNode;
import javax.swing.tree.TreePath;
import javax.swing.tree.TreeSelectionModel;
@@ -50,8 +59,6 @@
*/
public class SwingLoggerPanel extends JPanel implements
TreeSelectionListener {
- private static final Color DISCONNECTED_COLOR = Color.decode("0xFF");
-
private static class TreeRenderer extends DefaultTreeCellRenderer {
@Override
public Component getTreeCellRendererComponent(JTree tree, Object value,
@@ -68,7 +75,9 @@
return this;
}
}
-
+
+ private static final Color DISCONNECTED_COLOR = Color.decode("0xFF");
+
// package protected for SwingTreeLogger to access
final JTree tree;
@@ -160,6 +169,7 @@
TreeSelectionModel.SINGLE_TREE_SELECTION);
tree.addTreeSelectionListener(this);
JScrollPane treeView = new JScrollPane(tree);
+// TODO(jat): better way to do this
details = new JEditorPane() {
@Override
public boolean getScrollableTracksViewportWidth() {
@@ -180,11 +190,23 @@
add(splitter);
logger = new SwingTreeLogger(this);
logger.setMaxDetail(maxLevel);
- }
-
- protected void alert(String msg) {
-JOptionPane.showMessageDialog(null, "Alert", msg,
-JOptionPane.INFORMATION_MESSAGE);
+KeyStroke key = KeyStroke.getKeyStroke(KeyEvent.VK_F,
+InputEvent.CTRL_DOWN_MASK);
+getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(key, "find");
+getActionMap().put("find", new AbstractAction() {
+ public void actionPerformed(ActionEvent e) {
+// TODO(jat): popup Chrome-like find box
+JOptionPane.showMessageDialog(null, "Find not implemented yet",
+"Alert: Not Implemented", JOptionPane.INFORMATION_MESSAGE);
+ }
+});
+key = KeyStroke.getKeyStroke(KeyEvent.VK_C, InputEvent.CTRL_DOWN_MASK);
+tree.getInputMap().put(key, "copy");
+tree.getActionMap().put("copy", new AbstractAction() {
+ public