1 package rero.gui.script; 2 3 import rero.bridges.event.EventBridge; 4 import rero.gui.IRCSession; 5 import rero.gui.windows.ChannelWindow; 6 import rero.gui.windows.ClientWindowEvent; 7 import rero.gui.windows.EmptyWindow; 8 import rero.gui.windows.StatusWindow; 9 10 public class UIScriptBridge { 11 protected IRCSession session; 12 13 protected WindowStateListener windowState; protected WindowDataListener windowData; protected WindowClickListener windowClick; protected WindowClickListener windowDoubleClick; protected WindowClickListener windowSpecialClick; protected WindowInputListener windowInput; 20 protected WindowAreaClickListener areaClickListener; 22 protected SessionOperators sessionOps; 23 24 protected WindowOperators windowOps; protected WindowManagementOperators windowMgmt; 27 protected UIOperators interfaceOps; 28 29 public UIScriptBridge(IRCSession _session) { 30 session = _session; 31 32 EventBridge bridge = (EventBridge) session.getCapabilities().getDataStructure("eventBridge"); 33 34 windowState = new WindowStateListener(session); 35 windowState.registerListener(bridge); 36 37 windowData = new WindowDataListener(session.getCapabilities().getUserInterface()); 38 bridge.registerEvent("window", windowData); 39 40 windowClick = new WindowClickListener(); 41 bridge.registerEvent("click", windowClick); 42 43 windowDoubleClick = new WindowClickListener(); 44 bridge.registerEvent("dclick", windowDoubleClick); 45 46 areaClickListener = new WindowAreaClickListener(); 47 bridge.registerEvent("cclick", areaClickListener); 48 49 windowSpecialClick = new WindowClickListener(); 50 bridge.registerEvent("sclick", windowSpecialClick); 51 52 windowInput = new WindowInputListener(); 53 bridge.registerEvent("input", windowInput); 54 55 windowOps = new WindowOperators(session); 56 session.getCapabilities().getScriptCore().addBridge(windowOps); 57 58 windowMgmt = new WindowManagementOperators(session); 59 session.getCapabilities().getScriptCore().addBridge(windowMgmt); 60 61 sessionOps = new SessionOperators(session); 62 session.getCapabilities().getScriptCore().addBridge(sessionOps); 63 64 interfaceOps = new UIOperators(session); 65 session.getCapabilities().getScriptCore().addBridge(interfaceOps); 66 } 67 68 72 public void windowCreated(final StatusWindow window) { 73 window.getWindow().addWindowListener(windowState); 74 75 if (window.isLegalWindow()) { 76 window.getDisplay().addClickListener(windowClick); 77 window.getDisplay().addClickListener(areaClickListener); 78 window.getInput().addInputListener(windowInput); 79 80 if (window instanceof ChannelWindow) { 81 ((ChannelWindow) window).addClickListener(windowDoubleClick); 82 } 83 } else { 84 ((EmptyWindow) window).addClickListener(windowSpecialClick); 85 } 86 87 windowState 88 .onOpen(new ClientWindowEvent(window.getWindow())); } 90 } 91 | Popular Tags |