X-Git-Url: http://source.jalview.org/gitweb/?p=jalviewjs.git;a=blobdiff_plain;f=bin%2Fjalview%2Fappletgui%2FEmbmenuFrame.js;h=7a5362cd9fd8d7e6946a5564f75a0a38252239e0;hp=13a7183b77539e672112cd97fc73c1048d188f3e;hb=7301a2415adab88038b291fc54caeeb3a5a47a44;hpb=6154cb57a6eac3bb1344b8342495f5bb701ee921 diff --git a/bin/jalview/appletgui/EmbmenuFrame.js b/bin/jalview/appletgui/EmbmenuFrame.js index 13a7183..7a5362c 100644 --- a/bin/jalview/appletgui/EmbmenuFrame.js +++ b/bin/jalview/appletgui/EmbmenuFrame.js @@ -1,110 +1,110 @@ -Clazz.declarePackage ("jalview.appletgui"); -Clazz.load (["awt2swing.Frame", "java.awt.event.MouseListener", "java.awt.Font", "java.util.HashMap"], "jalview.appletgui.EmbmenuFrame", ["awt2swing.Label", "$.Panel", "$.PopupMenu", "jalview.util.Platform", "java.awt.Color", "$.FlowLayout"], function () { -c$ = Clazz.decorateAsClass (function () { -this.embeddedPopup = null; -this.embeddedMenu = null; -Clazz.instantialize (this, arguments); -}, jalview.appletgui, "EmbmenuFrame", awt2swing.Frame, java.awt.event.MouseListener); -Clazz.prepareFields (c$, function () { -this.embeddedPopup = new java.util.HashMap (); -}); -Clazz.defineMethod (c$, "embedMenuIfNeeded", -function (tobeAdjusted) { -var topMenuBar = this.getJMenuBar (); -if (topMenuBar == null) { -return false; -}if (jalview.util.Platform.isAMac ()) { -this.embeddedMenu = this.makeEmbeddedPopupMenu (topMenuBar, true, false); -this.unsetMenuBar (); -this.add (this.embeddedMenu, "North"); -tobeAdjusted.setSize (this.getSize ().width, this.getSize ().height - this.embeddedMenu.getHeight ()); -return true; -}return false; -}, "awt2swing.Panel"); -Clazz.defineMethod (c$, "makeEmbeddedPopupMenu", -function (menuBar, overrideFonts, append) { -if (!append) { -this.embeddedPopup.clear (); -if (this.embeddedMenu != null) { -this.embeddedMenu.removeAll (); -}}this.embeddedMenu = this.makeEmbeddedPopupMenu (menuBar, jalview.appletgui.EmbmenuFrame.DEFAULT_MENU_FONT, overrideFonts, new awt2swing.Panel (), this); -return this.embeddedMenu; -}, "awt2swing.MenuBar,~B,~B"); -Clazz.defineMethod (c$, "makeEmbeddedPopupMenu", -function (menuBar, font, overrideFonts, embeddedMenu, clickHandler) { -if (overrideFonts) { -var mbf = menuBar.getFont (); -if (mbf != null) { -font = mbf; -}}if (embeddedMenu == null) { -embeddedMenu = new awt2swing.Panel (); -}var flowLayout1 = new java.awt.FlowLayout (); -embeddedMenu.setBackground (java.awt.Color.lightGray); -embeddedMenu.setLayout (flowLayout1); -for (var mbi = 0, nMbi = menuBar.getMenuCount (); mbi < nMbi; mbi++) { -var mi = menuBar.getMenu (mbi); -var elab = new awt2swing.Label (mi.getLabel ()); -elab.setFont (font); -var popup = new awt2swing.PopupMenu (); -var m; -var mSize = mi.getItemCount (); -for (m = 0; m < mSize; m++) { -if (mi.getItem (m) == null) popup.addSeparator (); - else popup.add (mi.getItem (m)); -mSize--; -m--; -} -this.embeddedPopup.put (elab, popup); -embeddedMenu.add (elab); -elab.addMouseListener (clickHandler); -} -flowLayout1.setAlignment (0); -flowLayout1.setHgap (2); -flowLayout1.setVgap (0); -return embeddedMenu; -}, "awt2swing.MenuBar,java.awt.Font,~B,awt2swing.Panel,java.awt.event.MouseListener"); -Clazz.overrideMethod (c$, "mousePressed", -function (evt) { -var popup = null; -var source = evt.getSource (); -popup = this.getPopupMenu (source); -if (popup != null) { -this.embeddedMenu.add (popup); -popup.show (this.embeddedMenu, source.getBounds ().x, source.getBounds ().y + source.getBounds ().getSize ().height); -}}, "java.awt.event.MouseEvent"); -Clazz.defineMethod (c$, "getPopupMenu", -function (source) { -return this.embeddedPopup.get (source); -}, "awt2swing.Label"); -Clazz.overrideMethod (c$, "mouseClicked", -function (evt) { -}, "java.awt.event.MouseEvent"); -Clazz.overrideMethod (c$, "mouseReleased", -function (evt) { -}, "java.awt.event.MouseEvent"); -Clazz.overrideMethod (c$, "mouseEntered", -function (evt) { -}, "java.awt.event.MouseEvent"); -Clazz.overrideMethod (c$, "mouseExited", -function (evt) { -}, "java.awt.event.MouseEvent"); -Clazz.defineMethod (c$, "destroyMenus", -function () { -if (this.embeddedPopup != null) { -for (var lb, $lb = this.embeddedPopup.keySet ().iterator (); $lb.hasNext () && ((lb = $lb.next ()) || true);) { -lb.removeMouseListener (this); -} -this.embeddedPopup.clear (); -}if (this.embeddedMenu != null) { -this.embeddedMenu.removeAll (); -}}); -Clazz.defineMethod (c$, "finalize", -function () { -this.destroyMenus (); -this.embeddedPopup = null; -this.embeddedMenu = null; -Clazz.superCall (this, jalview.appletgui.EmbmenuFrame, "finalize", []); -}); -c$.FONT_ARIAL_PLAIN_11 = c$.prototype.FONT_ARIAL_PLAIN_11 = new java.awt.Font ("Arial", 0, 11); -c$.DEFAULT_MENU_FONT = c$.prototype.DEFAULT_MENU_FONT = jalview.appletgui.EmbmenuFrame.FONT_ARIAL_PLAIN_11; -}); +Clazz.declarePackage ("jalview.appletgui"); +Clazz.load (["awt2swing.Frame", "java.awt.event.MouseListener", "java.awt.Font", "java.util.HashMap"], "jalview.appletgui.EmbmenuFrame", ["awt2swing.Label", "$.Panel", "$.PopupMenu", "jalview.util.Platform", "java.awt.Color", "$.FlowLayout"], function () { +c$ = Clazz.decorateAsClass (function () { +this.embeddedPopup = null; +this.embeddedMenu = null; +Clazz.instantialize (this, arguments); +}, jalview.appletgui, "EmbmenuFrame", awt2swing.Frame, java.awt.event.MouseListener); +Clazz.prepareFields (c$, function () { +this.embeddedPopup = new java.util.HashMap (); +}); +Clazz.defineMethod (c$, "embedMenuIfNeeded", +function (tobeAdjusted) { +var topMenuBar = this.getJMenuBar (); +if (topMenuBar == null) { +return false; +}if (jalview.util.Platform.isAMac ()) { +this.embeddedMenu = this.makeEmbeddedPopupMenu (topMenuBar, true, false); +this.unsetMenuBar (); +this.add (this.embeddedMenu, "North"); +tobeAdjusted.setSize (this.getSize ().width, this.getSize ().height - this.embeddedMenu.getHeight ()); +return true; +}return false; +}, "awt2swing.Panel"); +Clazz.defineMethod (c$, "makeEmbeddedPopupMenu", +function (menuBar, overrideFonts, append) { +if (!append) { +this.embeddedPopup.clear (); +if (this.embeddedMenu != null) { +this.embeddedMenu.removeAll (); +}}this.embeddedMenu = this.makeEmbeddedPopupMenu (menuBar, jalview.appletgui.EmbmenuFrame.DEFAULT_MENU_FONT, overrideFonts, new awt2swing.Panel (), this); +return this.embeddedMenu; +}, "awt2swing.MenuBar,~B,~B"); +Clazz.defineMethod (c$, "makeEmbeddedPopupMenu", +function (menuBar, font, overrideFonts, embeddedMenu, clickHandler) { +if (overrideFonts) { +var mbf = menuBar.getFont (); +if (mbf != null) { +font = mbf; +}}if (embeddedMenu == null) { +embeddedMenu = new awt2swing.Panel (); +}var flowLayout1 = new java.awt.FlowLayout (); +embeddedMenu.setBackground (java.awt.Color.lightGray); +embeddedMenu.setLayout (flowLayout1); +for (var mbi = 0, nMbi = menuBar.getMenuCount (); mbi < nMbi; mbi++) { +var mi = menuBar.getMenu (mbi); +var elab = new awt2swing.Label (mi.getLabel ()); +elab.setFont (font); +var popup = new awt2swing.PopupMenu (); +var m; +var mSize = mi.getItemCount (); +for (m = 0; m < mSize; m++) { +if (mi.getItem (m) == null) popup.addSeparator (); + else popup.add (mi.getItem (m)); +mSize--; +m--; +} +this.embeddedPopup.put (elab, popup); +embeddedMenu.add (elab); +elab.addMouseListener (clickHandler); +} +flowLayout1.setAlignment (0); +flowLayout1.setHgap (2); +flowLayout1.setVgap (0); +return embeddedMenu; +}, "awt2swing.MenuBar,java.awt.Font,~B,awt2swing.Panel,java.awt.event.MouseListener"); +Clazz.overrideMethod (c$, "mousePressed", +function (evt) { +var popup = null; +var source = evt.getSource (); +popup = this.getPopupMenu (source); +if (popup != null) { +this.embeddedMenu.add (popup); +popup.show (this.embeddedMenu, source.getBounds ().x, source.getBounds ().y + source.getBounds ().getSize ().height); +}}, "java.awt.event.MouseEvent"); +Clazz.defineMethod (c$, "getPopupMenu", +function (source) { +return this.embeddedPopup.get (source); +}, "awt2swing.Label"); +Clazz.overrideMethod (c$, "mouseClicked", +function (evt) { +}, "java.awt.event.MouseEvent"); +Clazz.overrideMethod (c$, "mouseReleased", +function (evt) { +}, "java.awt.event.MouseEvent"); +Clazz.overrideMethod (c$, "mouseEntered", +function (evt) { +}, "java.awt.event.MouseEvent"); +Clazz.overrideMethod (c$, "mouseExited", +function (evt) { +}, "java.awt.event.MouseEvent"); +Clazz.defineMethod (c$, "destroyMenus", +function () { +if (this.embeddedPopup != null) { +for (var lb, $lb = this.embeddedPopup.keySet ().iterator (); $lb.hasNext () && ((lb = $lb.next ()) || true);) { +lb.removeMouseListener (this); +} +this.embeddedPopup.clear (); +}if (this.embeddedMenu != null) { +this.embeddedMenu.removeAll (); +}}); +Clazz.defineMethod (c$, "finalize", +function () { +this.destroyMenus (); +this.embeddedPopup = null; +this.embeddedMenu = null; +Clazz.superCall (this, jalview.appletgui.EmbmenuFrame, "finalize", []); +}); +c$.FONT_ARIAL_PLAIN_11 = c$.prototype.FONT_ARIAL_PLAIN_11 = new java.awt.Font ("Arial", 0, 11); +c$.DEFAULT_MENU_FONT = c$.prototype.DEFAULT_MENU_FONT = jalview.appletgui.EmbmenuFrame.FONT_ARIAL_PLAIN_11; +});