Lines 44-49
Link Here
|
44 |
import org.eclipse.ecf.presence.chatroom.IChatRoomParticipantListener; |
44 |
import org.eclipse.ecf.presence.chatroom.IChatRoomParticipantListener; |
45 |
import org.eclipse.ecf.presence.im.IChatID; |
45 |
import org.eclipse.ecf.presence.im.IChatID; |
46 |
import org.eclipse.jface.action.Action; |
46 |
import org.eclipse.jface.action.Action; |
|
|
47 |
import org.eclipse.jface.action.IAction; |
47 |
import org.eclipse.jface.action.IMenuListener; |
48 |
import org.eclipse.jface.action.IMenuListener; |
48 |
import org.eclipse.jface.action.IMenuManager; |
49 |
import org.eclipse.jface.action.IMenuManager; |
49 |
import org.eclipse.jface.action.MenuManager; |
50 |
import org.eclipse.jface.action.MenuManager; |
Lines 58-64
Link Here
|
58 |
import org.eclipse.jface.viewers.ISelection; |
59 |
import org.eclipse.jface.viewers.ISelection; |
59 |
import org.eclipse.jface.viewers.ISelectionChangedListener; |
60 |
import org.eclipse.jface.viewers.ISelectionChangedListener; |
60 |
import org.eclipse.jface.viewers.ISelectionProvider; |
61 |
import org.eclipse.jface.viewers.ISelectionProvider; |
|
|
62 |
import org.eclipse.jface.viewers.IStructuredSelection; |
61 |
import org.eclipse.jface.viewers.ListViewer; |
63 |
import org.eclipse.jface.viewers.ListViewer; |
|
|
64 |
import org.eclipse.jface.viewers.StructuredSelection; |
62 |
import org.eclipse.jface.viewers.ViewerSorter; |
65 |
import org.eclipse.jface.viewers.ViewerSorter; |
63 |
import org.eclipse.osgi.util.NLS; |
66 |
import org.eclipse.osgi.util.NLS; |
64 |
import org.eclipse.swt.SWT; |
67 |
import org.eclipse.swt.SWT; |
Lines 84-89
Link Here
|
84 |
import org.eclipse.swt.layout.GridData; |
87 |
import org.eclipse.swt.layout.GridData; |
85 |
import org.eclipse.swt.widgets.Composite; |
88 |
import org.eclipse.swt.widgets.Composite; |
86 |
import org.eclipse.swt.widgets.Display; |
89 |
import org.eclipse.swt.widgets.Display; |
|
|
90 |
import org.eclipse.swt.widgets.List; |
87 |
import org.eclipse.swt.widgets.Menu; |
91 |
import org.eclipse.swt.widgets.Menu; |
88 |
import org.eclipse.swt.widgets.ScrollBar; |
92 |
import org.eclipse.swt.widgets.ScrollBar; |
89 |
import org.eclipse.swt.widgets.Text; |
93 |
import org.eclipse.swt.widgets.Text; |
Lines 236-241
Link Here
|
236 |
|
240 |
|
237 |
makeActions(); |
241 |
makeActions(); |
238 |
hookContextMenu(); |
242 |
hookContextMenu(); |
|
|
243 |
if (withParticipants) { |
244 |
hookParticipantsContextMenu(); |
245 |
} |
239 |
} |
246 |
} |
240 |
|
247 |
|
241 |
private StyledText createStyledTextWidget(Composite parent) { |
248 |
private StyledText createStyledTextWidget(Composite parent) { |
Lines 331-337
Link Here
|
331 |
}; |
338 |
}; |
332 |
getSite().registerContextMenu(menuMgr, selectionProvider); |
339 |
getSite().registerContextMenu(menuMgr, selectionProvider); |
333 |
} |
340 |
} |
|
|
341 |
|
342 |
private void fillParticipantsContextMenu(IMenuManager manager) { |
343 |
IAction action = new Action() { |
344 |
|
345 |
public void run() { |
346 |
if (commandListener == null) { |
347 |
return; |
348 |
} |
349 |
ISelection selection = listViewer.getSelection(); |
350 |
if (selection instanceof IStructuredSelection) { |
351 |
IUser user = (IUser) ((IStructuredSelection)selection).getFirstElement(); |
352 |
handleTextInput("/kick "+user.getNickname()); |
353 |
} |
354 |
} |
355 |
|
356 |
}; |
357 |
action.setText("Run Forest!"); |
358 |
manager.add(action); |
359 |
manager.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS)); |
360 |
} |
361 |
|
362 |
private void hookParticipantsContextMenu() { |
363 |
MenuManager menuMgr = new MenuManager(); |
364 |
menuMgr.setRemoveAllWhenShown(true); |
365 |
menuMgr.addMenuListener(new IMenuListener() { |
366 |
public void menuAboutToShow(IMenuManager manager) { |
367 |
fillParticipantsContextMenu(manager); |
368 |
} |
369 |
}); |
370 |
|
371 |
final List list = (List) listViewer.getControl(); |
372 |
|
373 |
Menu menu = menuMgr.createContextMenu(list); |
374 |
list.setMenu(menu); |
375 |
ISelectionProvider selectionProvider = new ISelectionProvider() { |
376 |
|
377 |
public void addSelectionChangedListener( |
378 |
ISelectionChangedListener listener) { |
379 |
} |
334 |
|
380 |
|
|
|
381 |
public ISelection getSelection() { |
382 |
ISelection selection = new StructuredSelection(list.getSelectionIndices()); |
383 |
|
384 |
return selection; |
385 |
} |
386 |
|
387 |
public void removeSelectionChangedListener( |
388 |
ISelectionChangedListener listener) { |
389 |
} |
390 |
|
391 |
public void setSelection(ISelection selection) { |
392 |
listViewer.setSelection(selection); |
393 |
} |
394 |
|
395 |
}; |
396 |
getSite().registerContextMenu(menuMgr, selectionProvider); |
397 |
} |
398 |
|
335 |
private void makeActions() { |
399 |
private void makeActions() { |
336 |
tabSelectAll = new Action() { |
400 |
tabSelectAll = new Action() { |
337 |
public void run() { |
401 |
public void run() { |