1 19 package org.lucane.applications.forum.gui; 20 21 import java.awt.event.ActionEvent ; 22 import java.awt.event.ActionListener ; 23 24 import javax.swing.JButton ; 25 import javax.swing.tree.DefaultMutableTreeNode ; 26 import javax.swing.tree.TreePath ; 27 28 import org.lucane.applications.forum.ForumPlugin; 29 import org.lucane.applications.forum.model.ForumMessage; 30 import org.lucane.client.widgets.DialogBox; 31 32 public class ButtonActionListener implements ActionListener 33 { 34 private ForumPlugin plugin; 35 private MainWindow ui; 36 37 public ButtonActionListener(ForumPlugin plugin, MainWindow ui) 38 { 39 this.plugin = plugin; 40 this.ui = ui; 41 } 42 43 public void actionPerformed(ActionEvent ae) 44 { 45 JButton source = (JButton )ae.getSource(); 46 String forum = ui.getForumList().getSelectedForum().getName(); 47 48 if(source.getName().equals("mainWindow.btnRefresh")) 49 { 50 try { 51 ui.getMessages().setCellRenderer(new MessageRenderer(plugin, forum)); 52 ui.updateMessages(plugin.getMessageList(ui.getForumList().getSelectedForum())); 53 plugin.updateLastRefreshTime(forum); 54 } catch (Exception e) { 55 DialogBox.error(plugin.tr("err.unableToRefresh") + e); 56 e.printStackTrace(); 57 } 58 } 59 else if(source.getName().equals("mainWindow.btnNewMessage")) 60 { 61 ui.showMessageWindow(plugin, forum, null, false); 62 } 63 else if(source.getName().equals("mainWindow.btnReply")) 64 { 65 TreePath selection = ui.getMessages().getSelectionPath(); 66 DefaultMutableTreeNode node = (DefaultMutableTreeNode )selection.getLastPathComponent(); 67 ui.showMessageWindow(plugin, forum, (ForumMessage)node.getUserObject(), false); 68 } 69 else if(source.getName().equals("mainWindow.btnEdit")) 70 { 71 TreePath selection = ui.getMessages().getSelectionPath(); 72 DefaultMutableTreeNode node = (DefaultMutableTreeNode )selection.getLastPathComponent(); 73 try { 74 ForumMessage message = plugin.getMessageContent(forum, (ForumMessage)node.getUserObject()); 75 ui.showMessageWindow(plugin, forum, message, true); 76 } catch(Exception e) { 77 DialogBox.error(plugin.tr("err.unableToRead") + e); 78 e.printStackTrace(); 79 } 80 } 81 else if(source.getName().equals("mainWindow.btnToggleVisible")) 82 { 83 TreePath selection = ui.getMessages().getSelectionPath(); 84 DefaultMutableTreeNode node = (DefaultMutableTreeNode )selection.getLastPathComponent(); 85 try { 86 ForumMessage message = plugin.getMessageContent(forum, (ForumMessage)node.getUserObject()); 87 message.setVisible(!message.isVisible()); 88 plugin.post(forum, message); 89 ui.updateMessages(plugin.getMessageList(ui.getForumList().getSelectedForum())); 90 } catch(Exception e) { 91 DialogBox.error(plugin.tr("err.unableToToggleVisible") + e); 92 e.printStackTrace(); 93 } 94 } 95 } 96 } | Popular Tags |