# HG changeset patch # User pin # Date 1220945359 -32400 # Node ID 9e36fd27e2b6686a6a6223671349d3f42c758d9e # Parent a31ac66e70af82c69a3b5358f3aef4e9e62a83b9 *** empty log message *** diff -r a31ac66e70af -r 9e36fd27e2b6 rep/CloseButtonEvent.java --- /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); + } + +} diff -r a31ac66e70af -r 9e36fd27e2b6 rep/RPanel.java --- 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 editorList; private LinkedList 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)); } } diff -r a31ac66e70af -r 9e36fd27e2b6 rep/Session.java --- 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 + + } } diff -r a31ac66e70af -r 9e36fd27e2b6 rep/SessionManager.java --- 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(); + } + } diff -r a31ac66e70af -r 9e36fd27e2b6 rep/SessionManagerEventListener.java --- 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); } diff -r a31ac66e70af -r 9e36fd27e2b6 test/sematest/TestSessionManager.java --- a/test/sematest/TestSessionManager.java Tue Sep 09 16:01:27 2008 +0900 +++ b/test/sematest/TestSessionManager.java Tue Sep 09 16:29:19 2008 +0900 @@ -33,8 +33,8 @@ logger.writeLog("TestSessionManager.startTest()", 1); - //putTest(); - //joinTest(); + putTest(); + joinTest(); //joinTest(); }