Mercurial > hg > RemoteEditor > REPSessionManager
view test/sematest/TestGUI.java @ 382:4b87f89b3afd
REP Session Manager (Java version)
new structure
author | one@firefly.cr.ie.u-ryukyu.ac.jp |
---|---|
date | Mon, 10 Nov 2008 22:07:45 +0900 |
parents | 1bde894edd83 |
children |
line wrap: on
line source
package test.sematest; import java.util.LinkedList; import rep.Session; import rep.channel.REPLogger; import rep.gui.SelectButtonEvent; import rep.gui.SessionManagerEvent; import rep.gui.SessionManagerEventListener; import rep.gui.SessionManagerGUI; import rep.handler.REPNode; /** * @author kono * Dummy GUI for test * * perform auto select operation */ public class TestGUI implements SessionManagerGUI { public LinkedList<Session> slist; public LinkedList<REPNode> elist; SessionManagerEventListener manager; int count = 0; private REPLogger ns; public TestGUI(SessionManagerEventListener manager) { this.manager = manager; ns = REPLogger.singleton(); } public void invokeLater(Runnable doRun) { doRun.run(); } public void update(LinkedList<Session> slist, LinkedList<REPNode> elist) { int i = 0; this.slist = slist; this.elist = elist; // fair and deterministic select session for an empty editor if (slist.size()==0) return; Session s = slist.get(count++ % slist.size()); for(REPNode e :elist) { if (e.isDirect() && !e.hasSession()) { SessionManagerEvent event = new SelectButtonEvent(e, s); ns.writeLog("Select session "+s.getSID()+" and editor "+i); manager.buttonPressed(event); s = slist.get(count++ % slist.size()); } i++; } } }