X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fjalview%2Fgui%2FConsole.java;h=050523e526edf8bf6708fa98edbe0209c3721bd6;hb=5571d7868cad5493b52c9fc421c88c025e7c2d35;hp=c0063c70d86af89d805c3b1ef397038cd64935ff;hpb=aba23b6b2938680b90cb7a7dbf1169b8c2e6760b;p=jalview.git diff --git a/src/jalview/gui/Console.java b/src/jalview/gui/Console.java index c0063c7..050523e 100644 --- a/src/jalview/gui/Console.java +++ b/src/jalview/gui/Console.java @@ -54,6 +54,7 @@ import org.apache.log4j.Level; import org.apache.log4j.SimpleLayout; import jalview.bin.Cache; +import jalview.util.ChannelProperties; import jalview.util.MessageManager; /** @@ -100,7 +101,9 @@ public class Console extends WindowAdapter private int MIN_HEIGHT = 250; - private JComboBox logLevelCombo = new JComboBox(); + private JComboBox logLevelCombo = new JComboBox(); + + protected Level startingLogLevel = Level.INFO; public Console() { @@ -144,14 +147,18 @@ public class Console extends WindowAdapter { private Color bg = textArea.getBackground(); + private Color fg = textArea.getForeground(); + public void mousePressed(MouseEvent e) { textArea.setBackground(textArea.getSelectionColor()); + textArea.setForeground(textArea.getSelectedTextColor()); } public void mouseReleased(MouseEvent e) { textArea.setBackground(bg); + textArea.setForeground(fg); } }); @@ -162,13 +169,16 @@ public class Console extends WindowAdapter MessageManager.getString("label.log_level") + ":"); // logLevelCombo.addItem(Level.ALL); + logLevelCombo.addItem(Level.TRACE); logLevelCombo.addItem(Level.DEBUG); logLevelCombo.addItem(Level.INFO); logLevelCombo.addItem(Level.WARN); // logLevelCombo.addItem(Level.ERROR); // logLevelCombo.addItem(Level.FATAL); // logLevelCombo.addItem(Level.OFF); - // logLevelCombo.addItem(Level.TRACE); + // set startingLogLevel + startingLogLevel = Cache.log == null ? Level.INFO + : Cache.log.getLevel(); setChosenLogLevelCombo(); logLevelCombo.addActionListener(new ActionListener() { @@ -193,10 +203,10 @@ public class Console extends WindowAdapter logLevelPanel.setAlignmentX(JPanel.LEFT_ALIGNMENT); logLevelPanel.add(logLevelLabel); logLevelPanel.add(logLevelCombo); - logLevelLabel.setToolTipText( - MessageManager.getString("label.log_level_tooltip")); - logLevelCombo.setToolTipText( - MessageManager.getString("label.log_level_tooltip")); + String logLevelTooltip = MessageManager.formatMessage( + "label.log_level_tooltip", startingLogLevel.toString()); + logLevelLabel.setToolTipText(logLevelTooltip); + logLevelCombo.setToolTipText(logLevelTooltip); GridBagConstraints gbc = new GridBagConstraints(); gbc.gridx = 0; @@ -246,16 +256,47 @@ public class Console extends WindowAdapter textAppender = new Thread(this); textAppender.setDaemon(true); textAppender.start(); + + // set icons + frame.setIconImages(ChannelProperties.getIconList()); } private void setChosenLogLevelCombo() { - Level currentLogLevel = Cache.log == null ? Level.INFO - : Cache.log.getLevel(); - logLevelCombo.setSelectedItem(currentLogLevel); - if (!logLevelCombo.getSelectedItem().equals(currentLogLevel)) + setChosenLogLevelCombo(startingLogLevel); + } + + private void setChosenLogLevelCombo(Level setLogLevel) + { + logLevelCombo.setSelectedItem(setLogLevel); + if (!logLevelCombo.getSelectedItem().equals(setLogLevel)) { - logLevelCombo.setSelectedItem(Level.INFO); + // setLogLevel not (yet) in list + if (setLogLevel != null && setLogLevel instanceof Level) + { + // add new item to list (might be set via .jalview_properties) + boolean added = false; + for (int i = 0; i < logLevelCombo.getItemCount(); i++) + { + Level l = (Level) logLevelCombo.getItemAt(i); + if (l.isGreaterOrEqual(setLogLevel)) + { + logLevelCombo.insertItemAt(setLogLevel, i); + added = true; + break; + } + } + if (!added) // lower priority than others or some confusion -- add to + // end of list + { + logLevelCombo.addItem(setLogLevel); + } + logLevelCombo.setSelectedItem(setLogLevel); + } + else + { + logLevelCombo.setSelectedItem(Level.INFO); + } } } @@ -267,11 +308,6 @@ public class Console extends WindowAdapter cb.setContents(consoleTextSelection, null); } - private void setLogLevel() - { - - } - PipedOutputStream pout = null, perr = null; public void redirectStreams() @@ -421,13 +457,16 @@ public class Console extends WindowAdapter Rectangle bounds = desktop.getLastKnownDimensions("JAVA_CONSOLE_"); if (bounds == null) { - frame = initFrame("Jalview Java Console", desktop.getWidth() / 2, - desktop.getHeight() / 4, desktop.getX(), desktop.getY()); + frame = initFrame( + ChannelProperties.getProperty("app_name") + " Java Console", + desktop.getWidth() / 2, desktop.getHeight() / 4, + desktop.getX(), desktop.getY()); } else { - frame = initFrame("Jalview Java Console", bounds.width, bounds.height, - bounds.x, bounds.y); + frame = initFrame( + ChannelProperties.getProperty("app_name") + " Java Console", + bounds.width, bounds.height, bounds.x, bounds.y); } frame.setMinimumSize(new Dimension(MIN_WIDTH, MIN_HEIGHT)); // desktop.add(frame); @@ -775,12 +814,10 @@ public class Console extends WindowAdapter } else { - // reset log level to user preference + // reset log level to what it was before if (Cache.log != null) { - String userLogLevel = Cache.getDefault("logs.Jalview.level", - Level.INFO.toString()); - Cache.log.setLevel(Level.toLevel(userLogLevel)); + Cache.log.setLevel(startingLogLevel); } unredirectStreams();