X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fjbgui%2FGCutAndPasteHtmlTransfer.java;h=ef09b6a87a3b1d2c8e69c5c0b299823091510f50;hb=7d66757c0ac1b57953fb113cdae34dc94b03dd17;hp=a9e3112553bc62c3425a193be2af333be1609078;hpb=4d7f98a6dd54d9863ba449ec79dcd95d25ed863d;p=jalview.git diff --git a/src/jalview/jbgui/GCutAndPasteHtmlTransfer.java b/src/jalview/jbgui/GCutAndPasteHtmlTransfer.java index a9e3112..ef09b6a 100644 --- a/src/jalview/jbgui/GCutAndPasteHtmlTransfer.java +++ b/src/jalview/jbgui/GCutAndPasteHtmlTransfer.java @@ -20,12 +20,8 @@ */ package jalview.jbgui; -import jalview.gui.JvSwingUtils; -import jalview.util.MessageManager; - import java.awt.BorderLayout; import java.awt.Font; -import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.MouseEvent; @@ -39,6 +35,11 @@ import javax.swing.JMenuBar; import javax.swing.JMenuItem; import javax.swing.JPanel; import javax.swing.JScrollPane; +import javax.swing.text.EditorKit; +import javax.swing.text.html.HTMLEditorKit; + +import jalview.gui.JvSwingUtils; +import jalview.util.MessageManager; /** * DOCUMENT ME! @@ -85,6 +86,7 @@ public class GCutAndPasteHtmlTransfer extends JInternalFrame { try { + textarea.setEditorKit(new HTMLEditorKit()); setJMenuBar(editMenubar); jbInit(); } catch (Exception e) @@ -101,11 +103,13 @@ public class GCutAndPasteHtmlTransfer extends JInternalFrame */ private void jbInit() throws Exception { + setFrameIcon(null); scrollPane.setBorder(null); ok.setFont(JvSwingUtils.getLabelFont()); ok.setText(MessageManager.getString("label.new_window")); ok.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { ok_actionPerformed(e); @@ -114,6 +118,7 @@ public class GCutAndPasteHtmlTransfer extends JInternalFrame cancel.setText(MessageManager.getString("action.close")); cancel.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { cancel_actionPerformed(e); @@ -123,20 +128,28 @@ public class GCutAndPasteHtmlTransfer extends JInternalFrame close.setText(MessageManager.getString("action.close")); close.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { cancel_actionPerformed(e); } }); - close.setAccelerator(javax.swing.KeyStroke.getKeyStroke( - java.awt.event.KeyEvent.VK_W, Toolkit.getDefaultToolkit() - .getMenuShortcutKeyMask(), false)); + close.setAccelerator( + javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_W, + jalview.util.ShortcutKeyMaskExWrapper + .getMenuShortcutKeyMaskEx(), + false)); selectAll.setText(MessageManager.getString("action.select_all")); - selectAll.setAccelerator(javax.swing.KeyStroke.getKeyStroke( - java.awt.event.KeyEvent.VK_A, Toolkit.getDefaultToolkit() - .getMenuShortcutKeyMask(), false)); + selectAll + .setAccelerator( + javax.swing.KeyStroke + .getKeyStroke(java.awt.event.KeyEvent.VK_A, + jalview.util.ShortcutKeyMaskExWrapper + .getMenuShortcutKeyMaskEx(), + false)); selectAll.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { selectAll_actionPerformed(e); @@ -144,43 +157,56 @@ public class GCutAndPasteHtmlTransfer extends JInternalFrame }); jMenu1.setText(MessageManager.getString("action.file")); save.setText(MessageManager.getString("action.save")); - save.setAccelerator(javax.swing.KeyStroke.getKeyStroke( - java.awt.event.KeyEvent.VK_S, Toolkit.getDefaultToolkit() - .getMenuShortcutKeyMask(), false)); + save.setAccelerator( + javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_S, + jalview.util.ShortcutKeyMaskExWrapper + .getMenuShortcutKeyMaskEx(), + false)); save.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { save_actionPerformed(e); } }); - copyItem.setAccelerator(javax.swing.KeyStroke.getKeyStroke( - java.awt.event.KeyEvent.VK_C, Toolkit.getDefaultToolkit() - .getMenuShortcutKeyMask(), false)); + copyItem.setAccelerator( + javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_C, + jalview.util.ShortcutKeyMaskExWrapper + .getMenuShortcutKeyMaskEx(), + false)); editMenubar.add(jMenu1); editMenubar.add(editMenu); textarea.setFont(new java.awt.Font("Monospaced", Font.PLAIN, 12)); textarea.addMouseListener(new java.awt.event.MouseAdapter() { + @Override public void mousePressed(MouseEvent e) { textarea_mousePressed(e); } + + @Override + public void mouseReleased(MouseEvent e) + { + textarea_mousePressed(e); + } }); editMenu.setText(MessageManager.getString("action.edit")); copyItem.setText(MessageManager.getString("action.copy")); copyItem.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { copyItem_actionPerformed(e); } }); - displaySource.setText(MessageManager - .getString("action.show_html_source")); - displaySource.setToolTipText(MessageManager - .getString("label.select_copy_raw_html")); + displaySource + .setText(MessageManager.getString("action.show_html_source")); + displaySource.setToolTipText( + MessageManager.getString("label.select_copy_raw_html")); displaySource.addActionListener(new ActionListener() { @@ -259,4 +285,20 @@ public class GCutAndPasteHtmlTransfer extends JInternalFrame { } + + /** + * Adds the given stylesheet rule to the Html editor. However note that CSS + * support is limited. + * + * @param rule + * @see javax.swing.text.html.CSS + */ + public void addStylesheetRule(String rule) + { + EditorKit editorKit = textarea.getEditorKit(); + if (editorKit != null) + { + ((HTMLEditorKit) editorKit).getStyleSheet().addRule(rule); + } + } }