Mercurial > hg > RemoteEditor > REPSessionManager
changeset 259:9e36fd27e2b6
*** empty log message ***
author | pin |
---|---|
date | Tue, 09 Sep 2008 16:29:19 +0900 |
parents | a31ac66e70af |
children | 07bbaa4815a7 |
files | rep/CloseButtonEvent.java rep/RPanel.java rep/Session.java rep/SessionManager.java rep/SessionManagerEventListener.java test/sematest/TestSessionManager.java |
diffstat | 6 files changed, 46 insertions(+), 11 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/rep/CloseButtonEvent.java Tue Sep 09 16:29:19 2008 +0900 @@ -0,0 +1,21 @@ +package rep; + +public class CloseButtonEvent implements SessionManagerEvent { + + private Session session; + private SessionManagerEventListener listener; + + public CloseButtonEvent(Session session, SessionManagerEventListener listener) { + this.session = session; + this.listener = listener; + } + + public Session getSession(){ + return session; + } + + public void exec() { + listener.closeSession(this); + } + +}
--- a/rep/RPanel.java Tue Sep 09 16:01:27 2008 +0900 +++ b/rep/RPanel.java Tue Sep 09 16:29:19 2008 +0900 @@ -49,7 +49,7 @@ private String e_eid; private String e_socketchannel; private JButton selectButton; - private JButton closeSession; + private JButton closeButton; private SessionManagerEventListener listener; private LinkedList<Editor> editorList; private LinkedList<Session> sessionList; @@ -64,7 +64,7 @@ editor_table = new JTable(e_tableModel); e_sp = new JScrollPane(editor_table); selectButton = new JButton("Select Session"); - closeSession = new JButton("Close Session"); + closeButton = new JButton("Close Session"); connectButton.setBounds(160, 5, 100, 20); @@ -77,7 +77,7 @@ e_sp.setPreferredSize(new Dimension(200, 200)); e_sp.setBounds(5,140,400,100); selectButton.setBounds(430, 215, 130, 20); - closeSession.setBounds(430, 105, 130, 20); + closeButton.setBounds(430, 105, 130, 20); this.setLayout(null); @@ -87,11 +87,11 @@ this.add(s_sp); this.add(e_sp); this.add(selectButton); - this.add(closeSession); + this.add(closeButton); connectButton.addActionListener(this); selectButton.addActionListener(this); - closeSession.addActionListener(this); + closeButton.addActionListener(this); editor_table.addMouseListener(this); } @@ -106,6 +106,8 @@ listener.buttonPressed( new SelectButtonEvent(editorList.get(editor_table.getSelectedRow()), sessionList.get(session_table.getSelectedRow()), listener)); + }else if(event.getSource() == closeButton){ + listener.buttonPressed(new CloseButtonEvent(sessionList.get(session_table.getSelectedRow()), listener)); } }
--- a/rep/Session.java Tue Sep 09 16:01:27 2008 +0900 +++ b/rep/Session.java Tue Sep 09 16:29:19 2008 +0900 @@ -96,4 +96,8 @@ Editor prevEditor = editorList.get(peid); return prevEditor; } + public void closeSession() { + // TODO Auto-generated method stub + + } }
--- a/rep/SessionManager.java Tue Sep 09 16:01:27 2008 +0900 +++ b/rep/SessionManager.java Tue Sep 09 16:29:19 2008 +0900 @@ -157,7 +157,7 @@ editor.setHost(myHost); editorList.add(editor); - guiUpdate(); + updateGUI(); } @@ -181,7 +181,7 @@ session.hasOwner(true); sessionList.add(session); - guiUpdate(); + updateGUI(); //エディタにAckを送信 sendCommand.setCMD(REP.SMCMD_PUT_ACK); @@ -386,7 +386,7 @@ } } - private void guiUpdate() { + private void updateGUI() { if(gui == null){ //System.out.println("SessionManager.guiUpdate() : gui = " + gui); return; @@ -586,4 +586,11 @@ selector.wakeup(); } + public void closeSession(SessionManagerEvent event) { + Session session = ((CloseButtonEvent) event).getSession(); + session.closeSession(); + sessionList.remove(session); + updateGUI(); + } + }
--- a/rep/SessionManagerEventListener.java Tue Sep 09 16:01:27 2008 +0900 +++ b/rep/SessionManagerEventListener.java Tue Sep 09 16:29:19 2008 +0900 @@ -5,5 +5,6 @@ public interface SessionManagerEventListener { public void buttonPressed(SessionManagerEvent event); - public void selectSession(SelectButtonEvent selectButtonEvent) ; + public void selectSession(SelectButtonEvent selectButtonEvent); + public void closeSession(SessionManagerEvent event); }