private void updateKeyBindingList() { if( activeBindings != null ) { List keyBindingList = new ArrayList(); final Iterator bindingItr = activeBindings.entrySet().iterator(); while( bindingItr.hasNext() ) { final Map.Entry entry = ( Map.Entry )bindingItr.next(); Binding binding = ( Binding )entry.getValue(); if( binding instanceof KeyBinding ) { KeyBinding keyBinding = ( KeyBinding )binding; KeySequence keySequence = keyBinding.getKeySequence(); KeyStroke[] keyStroke = keySequence.getKeyStrokes(); if( keyStroke.length > 0 ) { keyBindingList.add( keyStroke[ 0 ].toString() ); } } } String[] array = new String[ keyBindingList.size() ]; keyBindingList.toArray( array ); Display display = Display.getCurrent(); if( display == null ) { throw new IllegalStateException(); } display.setData( RWT.ACTIVE_KEYS, array ); display.setData( RWT.CANCEL_KEYS, array ); } } // ENDRAP [if]
updateCancelKeys( true, new String[] { keyStroke.toString() } );