+ menu1.add(showColumns);\r
+ menu1.add(showSeqs);\r
+ menu2.add(hideColumns);\r
+ menu2.add(hideSequences);\r
+ }\r
+\r
+ public void setEmbedded()\r
+ {\r
+\r
+ embeddedMenu = new Panel();\r
+ embeddedEdit = new Label();\r
+ embeddedSearch = new Label();\r
+ embeddedView = new Label();\r
+ embeddedColour = new Label();\r
+ embeddedFile = new Label();\r
+ embeddedHelp = new Label();\r
+ embeddedCalculate = new Label();\r
+ flowLayout1 = new FlowLayout();\r
+ embeddedMenu.setBackground(Color.lightGray);\r
+ embeddedMenu.setLayout(flowLayout1);\r
+ embeddedEdit.setText("Edit");\r
+ embeddedEdit.setFont(new java.awt.Font("Arial", Font.PLAIN, 10));\r
+ embeddedSearch.setText("Search");\r
+ embeddedSearch.setFont(new java.awt.Font("Arial", Font.PLAIN, 10));\r
+ embeddedView.setText("View");\r
+ embeddedView.setFont(new java.awt.Font("Arial", Font.PLAIN, 10));\r
+ embeddedColour.setText("Colour");\r
+ embeddedColour.setFont(new java.awt.Font("Arial", Font.PLAIN, 10));\r
+ embeddedFile.setFont(new java.awt.Font("Arial", Font.PLAIN, 10));\r
+ embeddedFile.setText("File");\r
+ embeddedHelp.setFont(new java.awt.Font("Arial", Font.PLAIN, 10));\r
+ embeddedHelp.setText("Help");\r
+ embeddedCalculate.setFont(new java.awt.Font("Arial", Font.PLAIN, 10));\r
+ embeddedCalculate.setText("Calculate");\r
+ embeddedMenu.add(embeddedFile);\r
+ embeddedMenu.add(embeddedEdit);\r
+ embeddedMenu.add(embeddedSearch);\r
+ embeddedMenu.add(embeddedView);\r
+ embeddedMenu.add(embeddedColour);\r
+ embeddedMenu.add(embeddedCalculate);\r
+ embeddedMenu.add(embeddedHelp);\r
+ flowLayout1.setAlignment(FlowLayout.LEFT);\r
+ flowLayout1.setHgap(2);\r
+ flowLayout1.setVgap(0);\r
+ embeddedFile.addMouseListener(this);\r
+ embeddedEdit.addMouseListener(this);\r
+ embeddedSearch.addMouseListener(this);\r
+ embeddedView.addMouseListener(this);\r
+ embeddedColour.addMouseListener(this);\r
+ embeddedCalculate.addMouseListener(this);\r
+ embeddedHelp.addMouseListener(this);\r
+\r
+ // setVisible(false);\r
+ fileMenu.remove(closeMenuItem);\r
+ fileMenu.remove(3); // Seperator\r
+\r
+ viewport.applet.setLayout(new BorderLayout());\r
+ viewport.applet.add(embeddedMenu, BorderLayout.NORTH);\r
+ viewport.applet.add(statusBar, BorderLayout.SOUTH);\r
+ // viewport.applet.validate();\r
+\r
+ alignPanel.setSize(viewport.applet.size().width, viewport.applet.size().height\r
+ - embeddedMenu.HEIGHT - statusBar.HEIGHT);\r
+\r
+ viewport.applet.add(alignPanel, BorderLayout.CENTER);\r
+ viewport.applet.validate();\r
+\r
+ }\r
+\r
+\r
+\r
+ PopupMenu filePopup, editPopup, searchPopup,\r
+ viewPopup, colourPopup, calculatePopup, helpPopup;\r
+ MenuItem featureSettings = new MenuItem();\r
+ CheckboxMenuItem sequenceFeatures = new CheckboxMenuItem();\r
+ MenuItem annotationColour = new MenuItem();\r
+ MenuItem invertColSel = new MenuItem();\r
+ Menu menu1 = new Menu();\r
+ MenuItem showColumns = new MenuItem();\r
+ MenuItem showSeqs = new MenuItem();\r
+ Menu menu2 = new Menu();\r
+ MenuItem hideColumns = new MenuItem();\r
+ MenuItem hideSequences = new MenuItem();\r
+\r
+ public void mousePressed(MouseEvent evt)\r
+ {\r
+ PopupMenu popup = null;\r
+ Label source = (Label)evt.getSource();\r
+ if(source==embeddedFile)\r
+ {\r
+ popup = filePopup = genPopupMenu(filePopup, fileMenu);\r
+ }\r
+ else if(source==embeddedEdit)\r
+ {\r
+ popup = editPopup = genPopupMenu(editPopup, editMenu);\r
+ }\r
+ else if(source==embeddedSearch)\r
+ {\r
+ popup = searchPopup = genPopupMenu(searchPopup, searchMenu);\r
+ }\r
+ else if(source==embeddedView)\r
+ {\r
+ popup = viewPopup = genPopupMenu(viewPopup, viewMenu);\r
+ }\r
+ else if(source==embeddedColour)\r
+ {\r
+ popup = colourPopup = genPopupMenu(colourPopup, colourMenu);\r
+ }\r
+ else if(source==embeddedCalculate)\r
+ {\r
+ popup = calculatePopup = genPopupMenu(calculatePopup, calculateMenu);\r
+ }\r
+ else if(source==embeddedHelp)\r
+ {\r
+ popup = helpPopup = genPopupMenu(helpPopup, helpMenu);\r
+ }\r
+\r
+ embeddedMenu.add(popup);\r
+ popup.show(embeddedMenu,\r
+ source.getBounds().x,\r
+ source.getBounds().y + source.getBounds().getSize().height);\r
+ }\r
+\r
+ PopupMenu genPopupMenu(PopupMenu popup, Menu original)\r
+ {\r
+ if(popup!=null)\r
+ {\r
+ return popup;\r
+ }\r
+ popup = new PopupMenu();\r
+ int m, mSize = original.getItemCount();\r
+ for(m=0; m<mSize; m++)\r
+ {\r
+ popup.add(original.getItem(m));\r
+ mSize--;\r
+ m--;\r