From 6d8c74f97fe4289a984bdc6bd635c71653d5421c Mon Sep 17 00:00:00 2001 From: Andrew Branson Date: Tue, 26 Jun 2012 12:41:56 +0200 Subject: Refactored GUI into separate module --- src/main/java/com/c2kernel/gui/MenuBuilder.java | 281 ------------------------ 1 file changed, 281 deletions(-) delete mode 100644 src/main/java/com/c2kernel/gui/MenuBuilder.java (limited to 'src/main/java/com/c2kernel/gui/MenuBuilder.java') diff --git a/src/main/java/com/c2kernel/gui/MenuBuilder.java b/src/main/java/com/c2kernel/gui/MenuBuilder.java deleted file mode 100644 index 255e7c1..0000000 --- a/src/main/java/com/c2kernel/gui/MenuBuilder.java +++ /dev/null @@ -1,281 +0,0 @@ -package com.c2kernel.gui; -import java.awt.Dimension; -import java.awt.event.ActionListener; -import java.awt.event.ItemListener; -import java.util.Enumeration; -import java.util.HashMap; - -import javax.swing.Box; -import javax.swing.ButtonGroup; -import javax.swing.Icon; -import javax.swing.JCheckBoxMenuItem; -import javax.swing.JDialog; -import javax.swing.JEditorPane; -import javax.swing.JLabel; -import javax.swing.JMenu; -import javax.swing.JMenuBar; -import javax.swing.JMenuItem; -import javax.swing.JOptionPane; -import javax.swing.JRadioButtonMenuItem; -import javax.swing.JScrollPane; -import javax.swing.SwingUtilities; -import javax.swing.UIManager; -import javax.swing.UIManager.LookAndFeelInfo; -import javax.swing.event.HyperlinkEvent; -import javax.swing.event.HyperlinkListener; -import javax.swing.text.html.HTMLEditorKit; - -import com.c2kernel.common.ObjectNotFoundException; -import com.c2kernel.lookup.DomainPath; -import com.c2kernel.lookup.Path; -import com.c2kernel.persistency.ClusterStorage; -import com.c2kernel.process.Gateway; -import com.c2kernel.property.Property; -import com.c2kernel.utils.FileStringUtility; -import com.c2kernel.utils.Language; -import com.c2kernel.utils.Logger; -import com.c2kernel.utils.Resource; -/** - * @version $Revision: 1.47 $ $Date: 2006/03/03 13:52:21 $ - * @author $Author: abranson $ - */ -public class MenuBuilder extends JMenuBar implements ActionListener, ItemListener, HyperlinkListener -{ - - protected UIManager.LookAndFeelInfo[] availableViews = UIManager.getInstalledLookAndFeels(); - protected MainFrame myParentFrame; - protected JMenu fileMenu; - protected JMenu consoleMenu; - protected JMenu styleMenu; - protected JMenu prefMenu; - protected JMenu helpMenu; - protected HashMap availableMenus = new HashMap(); - - public MenuBuilder() - {} - - /** Creates new DynamicMenuBuilder */ - public MenuBuilder(MainFrame parentFrame) - { - myParentFrame = parentFrame; - fileMenu = new JMenu(Language.translate("File")); - consoleMenu = new JMenu(Language.translate("Console")); - styleMenu = new JMenu(Language.translate("Style")); - prefMenu = new JMenu("Preferences"); - helpMenu = new JMenu(Language.translate("Help")); - availableMenus.put("file", fileMenu); - availableMenus.put("console", consoleMenu); - availableMenus.put("preferences", prefMenu); - availableMenus.put("style", styleMenu); - availableMenus.put("help", helpMenu); - - addMenuItem(Language.translate("Close All"), "file", null, 0); - addMenuItem(Language.translate("Close Others"), "file", null, 0); - fileMenu.insertSeparator(2); - addMenuItem(Language.translate("Exit"), "file", null, 0); - - addMenuItem(Language.translate("Local console"), "console", null, 0); - consoleMenu.insertSeparator(5); - addServerConsoles(); - - ButtonGroup styleButtonGroup = new ButtonGroup(); - for (LookAndFeelInfo availableView : availableViews) - addMenuItem(availableView.getName(), "style", styleButtonGroup, 0); - - addMenuItem(Language.translate("Tree Browser"), "preferences", null, MainFrame.getPref("ShowTree", "true").equals("true")?2:1); - addMenuItem(Language.translate("Outcome Field Help"), "preferences", null, MainFrame.getPref("ShowHelp", "true").equals("true")?2:1); - addMenuItem(Language.translate("Graph Properties"), "preferences", null, MainFrame.getPref("ShowProps", "true").equals("true")?2:1); - addMenuItem(Language.translate("About"), "help", null, 0); - - add(fileMenu); - add(consoleMenu); - add(styleMenu); - add(prefMenu); - add(helpMenu); - } - /** - * - */ - private void addServerConsoles() { - Enumeration servers = Gateway.getLDAPLookup().searchEntities(new DomainPath("/servers")); - while(servers.hasMoreElements()) { - Path thisServerPath = (Path)servers.nextElement(); - try { - int syskey = thisServerPath.getSysKey(); - String serverName = ((Property)Gateway.getStorage().get(syskey, ClusterStorage.PROPERTY+"/Name", null)).getValue(); - String portStr = ((Property)Gateway.getStorage().get(syskey, ClusterStorage.PROPERTY+"/ConsolePort", null)).getValue(); - addMenuItem(serverName+":"+portStr, "console", null, 0); - } catch (Exception ex) { - Logger.error("Exception retrieving proxy server connection data for "+thisServerPath); - Logger.error(ex); - } - } - - } - - /** - * Adds a menu item to a menu. Adds an action listener to the menu item. - */ - public void addMenuItem(String itemName, String menuName, ButtonGroup bg, int checkBox) - { - //checks to see if the menu to add the item to exists - if (availableMenus.containsKey(menuName)) - { - JMenuItem myItem = new JMenuItem(itemName); - if (bg != null) - { - //if the menu item equals the current style, set it selected - myItem = new JRadioButtonMenuItem(itemName, UIManager.getLookAndFeel().getName().equals(itemName)); - bg.add(myItem); - } - if (checkBox != 0) - { - myItem = new JCheckBoxMenuItem(itemName, checkBox == 2); - } - myItem.addActionListener(this); - JMenu myMenu = availableMenus.get(menuName); - myMenu.add(myItem); - } - } - //checks to see if the event dispatched is one of the - //styles that belong to the UIManager - public int isStyleChange(String style) - { - for (int i = 0; i < availableViews.length; i++) - { - if (style.equals(availableViews[i].getName())) - return i; - } - return -1; - } - //listens for events performed on the menu items - @Override - public void actionPerformed(java.awt.event.ActionEvent e) - { - String s = e.getActionCommand(); - int i = isStyleChange(s); - if (s.equals("Close All") || s.equals("Close Others")) { - MainFrame.myDesktopManager.closeAll(s.equals("Close Others")); - } - else if (s.equals(Language.translate("Exit"))) - myParentFrame.exitForm(); - else if (s.equals(Language.translate("About"))) - showAboutWindow(); - else if (i >= 0) - { - try - { - UIManager.setLookAndFeel(availableViews[i].getClassName()); - SwingUtilities.updateComponentTreeUI(myParentFrame); - } - catch (Exception ex) - { - ex.printStackTrace(); - } - } - else if (s.equals(Language.translate("Tree Browser"))) - { - myParentFrame.toggleTree(); - } - else if (s.indexOf(":")>0) { // server console - try - { - String[] serverDetails = s.split(":"); - new Console(serverDetails[0], Integer.parseInt(serverDetails[1])).setVisible(true); - } - catch (Exception ex) - { - Logger.error(ex); - } - } - else if (s.equals(Language.translate("Local console"))) { - try - { - new Console("localhost", Logger.getConsolePort()).setVisible(true); - } - catch (Exception ex) - { - Logger.error(ex); - } - } - else if (s.equals(Language.translate("Outcome Field Help"))) { - MainFrame.setPref("ShowHelp", String.valueOf(!MainFrame.getPref("ShowHelp", "true").equals("true"))); - } - else if (s.equals(Language.translate("Graph Properties"))) { - MainFrame.setPref("ShowProps", String.valueOf(!MainFrame.getPref("ShowProps", "true").equals("true"))); - } - else - Logger.msg(1, "MenuBuilder.actionPerformed() - No action associated with the event received"); - } - //constructs an about dialog - public void showAboutWindow() - { - JOptionPane myPane = new JOptionPane(); - Box about = Box.createVerticalBox(); - - String aboutInfo; - try - { - aboutInfo = FileStringUtility.file2String(Gateway.getProperty("about")); - } - catch (Exception e) - { - aboutInfo = Language.translate("Cristal 2 Itembrowser"); - } - JLabel title = new JLabel(aboutInfo); - about.add(title); - - about.add(new JLabel("Kernel version: "+Resource.getKernelVersion())); - about.add(new JLabel("Modules loaded: "+Gateway.getModuleManager().getModuleVersions())); - // get license info - - StringBuffer lictxt = new StringBuffer(); - try { - lictxt.append(Resource.getTextResource(null, "textFiles/license.html")); - } catch (ObjectNotFoundException e) { } // no kernel license found - for (String ns : Resource.getModuleBaseURLs().keySet()) { - String domlictxt; - try { - domlictxt = Resource.getTextResource(ns, "license.html"); - lictxt.append(domlictxt).append("\n"); - } catch (ObjectNotFoundException e) { } - - } - - - JEditorPane license = new JEditorPane(); - license.setEditable(false); - license.setEditorKit(new HTMLEditorKit()); - license.setContentType("text/html"); - license.addHyperlinkListener(this); - license.setText(lictxt.toString()); - JScrollPane scroll = new JScrollPane(license); - scroll.setPreferredSize(new Dimension(300,200)); - license.setCaretPosition(0); - - about.add(scroll); - myPane.setMessage(about); - myPane.setMessageType(JOptionPane.INFORMATION_MESSAGE); - JDialog dialog = myPane.createDialog(null, Language.translate("About")); - dialog.setResizable(false); - Icon icon = Resource.findImage(Gateway.getProperty("banner")); - myPane.setIcon(icon); - dialog.pack(); - dialog.setVisible(true); - } - - @Override -public void hyperlinkUpdate(HyperlinkEvent e) { - try { - if (e.getEventType() == HyperlinkEvent.EventType.ACTIVATED) - Runtime.getRuntime().exec("rundll32 url.dll,FileProtocolHandler "+e.getURL().toString()); - } catch (Exception ex) { - Logger.exceptionDialog(ex); - } - } - - @Override - public void itemStateChanged(java.awt.event.ItemEvent e) - { - } -} -- cgit v1.2.3