Source code: plugins/CsBeagle/BuddyEntry.java
1 /*
2 * BuddyEntry.java
3 *
4 * Created on October 27, 2002, 2:28 PM
5 */
6
7 package plugins.CsBeagle;
8
9 import javax.swing.JPopupMenu;
10 import javax.swing.JMenu;
11 import javax.swing.JMenuItem;
12 import java.util.Vector;
13 import javax.swing.Action;
14
15 /**
16 *
17 * @author Tobias Riemer
18 */
19 public class BuddyEntry implements dexter.core.Entry {
20
21 Buddy buddy;
22 protected JPopupMenu popup = new JPopupMenu();
23 private Action showServerInfoDlg;
24 javax.swing.ImageIcon onlineIcon = new javax.swing.ImageIcon(getClass().getResource("/dexter/images/online.gif"));
25 javax.swing.ImageIcon offlineIcon = new javax.swing.ImageIcon(getClass().getResource("/dexter/images/offline.gif"));
26
27 /** Creates a new instance of BuddyEntry */
28 public BuddyEntry(Buddy buddy) {
29 this.buddy = buddy;
30 JMenuItem menuItem = new JMenuItem("Show Server");
31 menuItem.addActionListener(new java.awt.event.ActionListener() {
32 public void actionPerformed(java.awt.event.ActionEvent evt) {
33 showServerInfoDlg();
34 }
35 });
36 popup.add(menuItem);
37 }
38
39 public void fireSelected() {
40 }
41
42 public java.awt.Font getFont() {
43 return null;
44 }
45
46 public javax.swing.ImageIcon getIcon() {
47 if (buddy.getPlayers().size() > 0) {
48 return onlineIcon;
49 }
50 return offlineIcon;
51 }
52
53 public JPopupMenu getPopupMenu() {
54 return popup;
55 }
56
57 public String getToolTipText() {
58 Vector players = buddy.getPlayers();
59 if (players.size() > 0) {
60 Server server = ((Player) players.get(0)).getServer();
61 if (server != null)
62 return "Server: " + server + " / Frags: " + ((Player) players.get(0)).getFrags();
63 }
64 return "offline";
65 }
66
67
68 public void setShowServerInfoDlgAction(Action showServerInfoDlg) {
69 this.showServerInfoDlg = showServerInfoDlg;
70 }
71
72 public void showServerInfoDlg() {
73 Vector players = buddy.getPlayers();
74 if (players.size() > 0) {
75 Server server = ((Player) players.get(0)).getServer();
76 if (server != null) {
77 if (showServerInfoDlg != null) showServerInfoDlg.actionPerformed( new java.awt.event.ActionEvent(server,0,""));
78 }
79 }
80 }
81
82 public String toString() { return buddy.toString(); }
83
84 }