private Object setHandler(Object handler, ObserveEvent.Type type) { findFailedResponse = FindFailedResponse.HANDLE; if (handler != null && (handler.getClass().getName().contains("org.python") || handler.getClass().getName().contains("org.jruby"))) { handler = new ObserverCallBack(handler, type); } else { ((ObserverCallBack) handler).setType(type); } return handler; }
private void checkShouldRunCallback() { if (shouldRunCallback && callback != null) { callback.happened(new ObserveEvent("DeviceGeneric", ObserveEvent.Type.GENERIC, null, null, null, (new Date()).getTime())); if (shouldTerminate) { shouldTerminate = false; throw new AssertionError("aborted by Sikulix.GenericDeviceCallBack"); } } }
public void happened(ObserveEvent e) { if (scriptHelper != null && ObserveEvent.Type.GENERIC.equals(obsType)) { run(e); } }
private void callEventObserver(String name, Match match, long time) { Object ptn = eventNames.get(name); ObserveEvent.Type obsType = eventTypes.get(name); log(lvl, "%s: %s with: %s at: %s", obsType, name, ptn, match); ObserveEvent observeEvent = new ObserveEvent(name, obsType, ptn, match, observedRegion, time); Object callBack = eventCallBacks.get(name); Observing.addEvent(observeEvent); if (callBack != null && callBack instanceof ObserverCallBack) { log(lvl, "running call back: %s", obsType); if (obsType == ObserveEvent.Type.APPEAR) { ((ObserverCallBack) callBack).appeared(observeEvent); } else if (obsType == ObserveEvent.Type.VANISH) { ((ObserverCallBack) callBack).vanished(observeEvent); } else if (obsType == ObserveEvent.Type.CHANGE) { ((ObserverCallBack) callBack).changed(observeEvent); } else if (obsType == ObserveEvent.Type.GENERIC) { ((ObserverCallBack) callBack).happened(observeEvent); } } }
if (FindFailedResponse.HANDLE.equals(response)) { ObserveEvent.Type type = ObserveEvent.Type.FINDFAILED; if (findFailedHandler != null && ((ObserverCallBack) findFailedHandler).getType().equals(type)) { log(lvl, "handleFindFailed: Response.HANDLE: calling handler"); evt = new ObserveEvent("", type, target, img, this, 0); ((ObserverCallBack) findFailedHandler).findfailed(evt); response = evt.getResponse();
if (FindFailedResponse.HANDLE.equals(response)) { ObserveEvent.Type type = ObserveEvent.Type.MISSING; if (imageMissingHandler != null && ((ObserverCallBack) imageMissingHandler).getType().equals(type)) { log(lvl, "handleImageMissing: Response.HANDLE: calling handler"); evt = new ObserveEvent("", type, null, img, this, 0); ((ObserverCallBack) imageMissingHandler).missing(evt); response = evt.getResponse(); } else {
/** * what to do if mouse is moved outside Sikuli's mouse protection <br> * in case of event the user provided callBack.happened is called * * @param givenCallBack */ public void setCallback(Object givenCallBack) { if (givenCallBack != null) { callback = new ObserverCallBack(givenCallBack, ObserveEvent.Type.GENERIC); } }
private void callChangeObserver(FindResults results) { int n; log(lvl, "changes: %d in: %s", results.size(), observedRegion); for (String name : eventNames.keySet()) { if (eventTypes.get(name) != ObserveEvent.Type.CHANGE) { continue; } n = (Integer) eventNames.get(name); List<Match> changes = new ArrayList<Match>(); for (int i = 0; i < results.size(); i++) { FindResult r = results.get(i); if (r.getW() * r.getH() >= n) { changes.add(observedRegion.toGlobalCoord(new Match(r, observedRegion.getScreen()))); } } if (changes.size() > 0) { long now = (new Date()).getTime(); eventCounts.put(name, eventCounts.get(name) + 1); ObserveEvent observeEvent = new ObserveEvent(name, ObserveEvent.Type.CHANGE, null, null, observedRegion, now); observeEvent.setChanges(changes); observeEvent.setIndex(n); Observing.addEvent(observeEvent); Object callBack = eventCallBacks.get(name); if (callBack != null) { log(lvl, "running call back"); ((ObserverCallBack) callBack).changed(observeEvent); } } } }
/** * what to do if mouse is moved outside Sikuli's mouse protection <br> * only 3 is honored:<br> * in case of event the user provided callBack.happened is called * * @param callBack ObserverCallBack */ public static void setMouseMovedCallback(Object callBack) { if (callBack != null) { get().device.mouseMovedResponse = 3; get().device.mouseMovedCallback = new ObserverCallBack(callBack, ObserveEvent.Type.GENERIC); } }
private Object setHandler(Object handler, ObserveEvent.Type type) { defaultFindFailedResponse = HANDLE; if (handler != null && (handler.getClass().getName().contains("org.python") || handler.getClass().getName().contains("org.jruby"))) { handler = new ObserverCallBack(handler, type); } else { ((ObserverCallBack) handler).setType(type); } return handler; }
public void appeared(ObserveEvent e) { if (scriptHelper != null && ObserveEvent.Type.APPEAR.equals(obsType)) { run(e); } }
private <PSIC> String onEvent(PSIC targetThreshhold, Object observer, ObserveEvent.Type obsType) { if (observer != null && (observer.getClass().getName().contains("org.python") || observer.getClass().getName().contains("org.jruby"))) { observer = new ObserverCallBack(observer, obsType); } if (!(targetThreshhold instanceof Integer)) { Image img = Image.getImageFromTarget(targetThreshhold); Boolean response = true; if (!img.isValid() && img.hasIOException()) { response = handleImageMissing(img, false); if (response == null) { runTime.abortScripting("onEvent(" + obsType.name() + "): Abort:", "ImageMissing: " + targetThreshhold.toString()); } } } String name = Observing.add(this, (ObserverCallBack) observer, obsType, targetThreshhold); log(lvl, "%s: observer %s %s: %s with: %s", toStringShort(), obsType, (observer == null ? "" : " with callback"), name, targetThreshhold); return name; }
mouseMovedCallback.happened(new ObserveEvent("MouseMoved", ObserveEvent.Type.GENERIC, lastPos, new Location(pos), null, (new Date()).getTime())); if (shouldTerminate) {
public static FindFailedResponse setHandler(Object observer) { if (observer != null && (observer.getClass().getName().contains("org.python") || observer.getClass().getName().contains("org.jruby"))) { observer = new ObserverCallBack(observer, ObserveEvent.Type.FINDFAILED); } else { ((ObserverCallBack) observer).setType(ObserveEvent.Type.FINDFAILED); } ffHandler = observer; Debug.log(3, "Setting Default FindFailedHandler"); return defaultFindFailedResponse; }
public void changed(ObserveEvent e) { if (scriptHelper != null && ObserveEvent.Type.CHANGE.equals(obsType)) { run(e); } }
public void missing(ObserveEvent e) { if (scriptHelper != null && ObserveEvent.Type.MISSING.equals(obsType)) { run(e); } }
public void vanished(ObserveEvent e) { if (scriptHelper != null && ObserveEvent.Type.VANISH.equals(obsType)) { run(e); } }
public void findfailed(ObserveEvent e) { if (scriptHelper != null && ObserveEvent.Type.FINDFAILED.equals(obsType)) { run(e); } }