- Timestamp:
- 09/13/18 15:15:58 (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/expeditee/gio/input/InputEventToGestureTranslatorSet.java
r1097 r1127 9 9 10 10 /** 11 * An input-event -> gesture translator that is the aggregation of a set of other12 * translators.11 * An input-event -> gesture translator that is the aggregation of a set of 12 * other translators. 13 13 * 14 14 * @author cts16 15 15 */ 16 public class InputEventToGestureTranslatorSet extends InputEventToGestureTranslator 17 { 16 public class InputEventToGestureTranslatorSet extends InputEventToGestureTranslator { 18 17 /** The individual gesture recognisers. */ 19 18 private List<InputEventToGestureTranslator> _recognisers; 20 21 public InputEventToGestureTranslatorSet() 22 { 19 20 public InputEventToGestureTranslatorSet() { 23 21 _recognisers = new LinkedList<InputEventToGestureTranslator>(); 24 22 } 25 23 26 24 /** Adds a sub-translator to this translator set. */ 27 public void addTranslator(InputEventToGestureTranslator translator) 28 {29 if (translator == null)return;30 25 public void addTranslator(InputEventToGestureTranslator translator) { 26 if (translator == null) 27 return; 28 31 29 _recognisers.add(translator); 32 30 33 31 Set<InputType> recogniserMonitoredTypes = translator.getMonitoredInputTypes(); 34 if (recogniserMonitoredTypes != null) _monitoredInputTypes.addAll(recogniserMonitoredTypes); 32 if (recogniserMonitoredTypes != null) 33 _monitoredInputTypes.addAll(recogniserMonitoredTypes); 35 34 } 36 35 37 36 @Override 38 public String details() 39 {40 if (_recognisers.isEmpty())return "";41 37 public String details() { 38 if (_recognisers.isEmpty()) 39 return ""; 40 42 41 // Aggregate the details of the individual gesture recognisers 43 42 String details = ""; … … 45 44 String recogniserDetails = recogniser.details(); 46 45 if (recogniserDetails != null && recogniserDetails != "") { 47 if (details != "") details += "\n"; 48 details += recogniserDetails; 46 if (details != "") 47 details += "\n"; 48 details += recogniserDetails; 49 49 } 50 50 } 51 51 52 52 return details; 53 53 } 54 54 55 55 @Override 56 public List<Gesture> onInputEvent(InputEvent event) 57 {58 if (_recognisers.isEmpty())return null;59 56 public List<Gesture> onInputEvent(InputEvent event) { 57 if (_recognisers.isEmpty()) 58 return null; 59 60 60 // Only interested in monitored events 61 if (event == null || !isMonitoredType(event.getInputType())) return null; 62 61 if (event == null || !isMonitoredType(event.getInputType())) 62 return null; 63 63 64 // Aggregate the responses of all individual gesture listeners 64 65 List<Gesture> gestures = new LinkedList<Gesture>(); 66 65 67 for (InputEventToGestureTranslator recogniser : _recognisers) { 66 68 if (recogniser.isMonitoredType(event.getInputType())) { … … 71 73 } 72 74 } 73 75 74 76 return gestures; 75 77 }
Note:
See TracChangeset
for help on using the changeset viewer.