eclipse rcp - The standard 'Select all' command doesn't work -


i have tableviewer within view , use org.eclipse.ui.edit.selectall command select rows using standard ctrl+a shortcut.

when put tracing on can see handlerauthority class resolves conflicts , output looks this:

handlers >>> command('org.eclipse.ui.edit.selectall') has changed 'org.eclipse.ui.internal.handlers.selectallhandler' handler handlers >>>     resolveconflicts: eval: handleractivation(commandid=org.eclipse.ui.edit.selectall,     handler=org.eclipse.ui.internal.handlers.selectallhandler@2a3e58,     expression=,sourcepriority=0) handlers >>> resolved conflict detected.  following activation won:  handlers >>>     handleractivation(commandid=org.eclipse.ui.edit.selectall,     handler=org.eclipse.ui.internal.handlers.selectallhandler@2a3e58,     expression=,sourcepriority=0) handlers >>>     resolveconflicts: eval: handleractivation(commandid=org.eclipse.ui.edit.selectall,     handler=org.eclipse.ui.internal.handlers.selectallhandler@2a3e58,     expression=,sourcepriority=0) handlers >>> resolved conflict detected.  following activation won:  handlers >>>     handleractivation(commandid=org.eclipse.ui.edit.selectall,     handler=org.eclipse.ui.internal.handlers.selectallhandler@2a3e58,     expression=,sourcepriority=0) handlers >>>     resolveconflicts: eval: handleractivation(commandid=org.eclipse.ui.edit.selectall,     handler=actionhandler(retargetaction(selectall)),     expression=activeshellexpression(shell {spl v0.1.2 (vyvoj) (db test)}),sourcepriority=17408) handlers >>>     resolveconflicts: eval: handleractivation(commandid=org.eclipse.ui.edit.selectall,     handler=org.eclipse.ui.internal.handlers.selectallhandler@2a3e58,     expression=,sourcepriority=0) handlers >>> resolved conflict detected.  following activation won:  handlers >>>     handleractivation(commandid=org.eclipse.ui.edit.selectall,     handler=actionhandler(retargetaction(selectall)),     expression=activeshellexpression(shell {spl v0.1.2 (vyvoj) (db test)}),sourcepriority=17408) handlers >>> command('org.eclipse.ui.edit.selectall') has changed 'actionhandler(retargetaction(selectall))' handler 

when press ctrl+a can see:

keys >>> listener.handleevent(type = keydown, statemask = 0x0, keycode = 0x40000, time = 9403459, character = 0x0)     keys >>> listener.handleevent(type = keydown, statemask = 0x40000, keycode = 0x61, time = 9403553, character = 0x1)     keys >>> workbenchkeyboard.press(potentialkeystrokes = [ctrl+a])     keys >>> workbenchkeyboard.executecommand(commandid = 'org.eclipse.ui.edit.selectall', parameters = {})     keys >>>     not handled 

debugging retargetaction found action not handled because has no handler set.

so question is, why handlerauthority sets retargetaction handler org.eclipse.ui.edit.selectall command? use default 1 (org.eclipse.ui.internal.handlers.selectallhandler).

all actions intended implemented multiple views , editors use retargetaction. hook in retarget action in view this:

iactionbars bars = getviewsite().getactionbars();  bars.setglobalactionhandler(actionfactory.select_all.getid(), selectallaction); 

where selectionallaction action select on table. action might like:

class selectallaction extends action {   private final tableviewer tableviewer;    selectallaction(final treeviewer viewer)   {     tableviewer = viewer;   }     @override   public void run()   {     tableviewer.gettable().selectall();      // table view selection synchronized table selection      tableviewer.setselection(tableviewer.getselection());   } } 

Comments

Popular posts from this blog

android - Get AccessToken using signpost OAuth without opening a browser (Two legged Oauth) -

org.mockito.exceptions.misusing.InvalidUseOfMatchersException: mockito -

google shop client API returns 400 bad request error while adding an item -