View Javadoc
1   package net.logAnalyzer.gui.quickbar.actions;
2   
3   import java.awt.event.ActionEvent;
4   import java.util.Enumeration;
5   import java.util.Vector;
6   
7   import javax.swing.Icon;
8   import javax.swing.JButton;
9   
10  import net.logAnalyzer.config.ConfigurationManager;
11  import net.logAnalyzer.gui.LAFrame;
12  import net.logAnalyzer.gui.LAView;
13  import net.logAnalyzer.gui.ViewDefinition;
14  import net.logAnalyzer.patternParser.PatternParsingException;
15  import net.logAnalyzer.resources.LAResourceBundle;
16  import net.logAnalyzer.utils.gui.quickbar.QuickAction;
17  import net.logAnalyzer.utils.gui.quickbar.QuickActionButton;
18  import net.logAnalyzer.utils.gui.quickbar.QuickPanel;
19  
20  public class QuickViewsPanel extends QuickPanel {
21      private static final long serialVersionUID = 1L;
22  
23      public QuickViewsPanel() {
24          super();
25      }
26  
27      public void actionPerformed(ActionEvent e) {
28          if (e.getSource() instanceof QuickAction) {
29              LAView view = getFrame().createView(e.getActionCommand());
30              if (view != null && e.getSource() != null
31                      && e.getSource() instanceof JButton) {
32                  ((JButton) e.getSource()).setIcon(view.getIcon());
33              }
34          }
35      }
36  
37      public Icon getIcon() {
38          return null;
39      }
40  
41      public String getTitle() {
42          return LAResourceBundle.getLocalizedString("QuickViewsPanel.title");
43      }
44  
45      public void setFrame(LAFrame frame) {
46          super.setFrame(frame);
47      }
48  
49      public QuickAction[] getActions() {
50          Vector definitions = new Vector();
51          for (Enumeration views = ConfigurationManager.getInstance()
52                  .getViewsDefinitions(); views.hasMoreElements();) {
53              definitions.add(views.nextElement());
54          }
55          QuickAction[] quickActions = new QuickAction[definitions.size()];
56          for (int i = 0; i < quickActions.length; i++) {
57              ViewDefinition definition = (ViewDefinition) definitions.get(i);
58              Icon viewIcon = null;
59              try {
60                  viewIcon = definition.createViewInstance().getIcon();
61              } catch (PatternParsingException e) {
62                  // NOP
63              }
64              quickActions[i] = new QuickActionButton(definition.getName(),
65                      definition.getLabel(), viewIcon);
66          }
67          return quickActions;
68      }
69  }