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
63 }
64 quickActions[i] = new QuickActionButton(definition.getName(),
65 definition.getLabel(), viewIcon);
66 }
67 return quickActions;
68 }
69 }