Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorcaniszczyk2007-07-26 18:40:14 +0000
committercaniszczyk2007-07-26 18:40:14 +0000
commitbf3cf70b1b1a54a1350863ed733d418a88e7bef1 (patch)
tree104d2d07c410308806e824819ac3d2861846d3b0 /framework/bundles/org.eclipse.ecf.presence.ui/src/org/eclipse/ecf/presence/ui/chatroom/ChatRoomManagerView.java
parentb7a89bef57c35d545a9f919e270e034ead13e05e (diff)
downloadorg.eclipse.ecf-bf3cf70b1b1a54a1350863ed733d418a88e7bef1.tar.gz
org.eclipse.ecf-bf3cf70b1b1a54a1350863ed733d418a88e7bef1.tar.xz
org.eclipse.ecf-bf3cf70b1b1a54a1350863ed733d418a88e7bef1.zip
bug 192762: [IRC] Support common operations on usernames like op,voice,etc
https://bugs.eclipse.org/bugs/show_bug.cgi?id=192762
Diffstat (limited to 'framework/bundles/org.eclipse.ecf.presence.ui/src/org/eclipse/ecf/presence/ui/chatroom/ChatRoomManagerView.java')
-rw-r--r--framework/bundles/org.eclipse.ecf.presence.ui/src/org/eclipse/ecf/presence/ui/chatroom/ChatRoomManagerView.java49
1 files changed, 27 insertions, 22 deletions
diff --git a/framework/bundles/org.eclipse.ecf.presence.ui/src/org/eclipse/ecf/presence/ui/chatroom/ChatRoomManagerView.java b/framework/bundles/org.eclipse.ecf.presence.ui/src/org/eclipse/ecf/presence/ui/chatroom/ChatRoomManagerView.java
index 7d7814a8d..4d82599be 100644
--- a/framework/bundles/org.eclipse.ecf.presence.ui/src/org/eclipse/ecf/presence/ui/chatroom/ChatRoomManagerView.java
+++ b/framework/bundles/org.eclipse.ecf.presence.ui/src/org/eclipse/ecf/presence/ui/chatroom/ChatRoomManagerView.java
@@ -59,7 +59,7 @@ import org.eclipse.jface.util.PropertyChangeEvent;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.ISelectionChangedListener;
import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.ListViewer;
+import org.eclipse.jface.viewers.TableViewer;
import org.eclipse.jface.viewers.ViewerSorter;
import org.eclipse.osgi.util.NLS;
import org.eclipse.swt.SWT;
@@ -84,10 +84,12 @@ import org.eclipse.swt.graphics.Rectangle;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.List;
import org.eclipse.swt.widgets.Menu;
import org.eclipse.swt.widgets.ScrollBar;
+import org.eclipse.swt.widgets.Table;
+import org.eclipse.swt.widgets.TableItem;
import org.eclipse.swt.widgets.Text;
import org.eclipse.ui.IActionFilter;
import org.eclipse.ui.ISharedImages;
@@ -190,7 +192,7 @@ public class ChatRoomManagerView extends ViewPart implements
private Text inputText;
- private ListViewer listViewer;
+ private TableViewer participantsTable;
private Action tabSelectAll;
private Action tabCopy;
@@ -213,9 +215,9 @@ public class ChatRoomManagerView extends ViewPart implements
fullChat.setLayout(new FillLayout());
Composite memberComp = new Composite(fullChat, SWT.NONE);
memberComp.setLayout(new FillLayout());
- listViewer = new ListViewer(memberComp, SWT.BORDER
- | SWT.V_SCROLL | SWT.H_SCROLL);
- listViewer.setSorter(new ViewerSorter());
+ participantsTable = new TableViewer(memberComp, SWT.BORDER
+ | SWT.V_SCROLL | SWT.H_SCROLL | SWT.MULTI);
+ participantsTable.setSorter(new ViewerSorter());
Composite rightComp = new Composite(fullChat, SWT.NONE);
rightComp.setLayout(new FillLayout());
rightSash = new SashForm(rightComp, SWT.VERTICAL);
@@ -343,12 +345,17 @@ public class ChatRoomManagerView extends ViewPart implements
}
private void hookParticipantsContextMenu() {
- MenuManager menuMgr = new MenuManager();
+ MenuManager menuMgr = new MenuManager();
+ menuMgr.addMenuListener(new IMenuListener() {
+ public void menuAboutToShow(IMenuManager manager) {
+ manager.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
+ }
+ });
menuMgr.setRemoveAllWhenShown(true);
- List list = (List) listViewer.getControl();
- Menu menu = menuMgr.createContextMenu(list);
- list.setMenu(menu);
- getSite().registerContextMenu(PARTICIPANTS_MENU_ID, menuMgr, listViewer);
+ Control control = participantsTable.getControl();
+ Menu menu = menuMgr.createContextMenu(control);
+ control.setMenu(menu);
+ getSite().registerContextMenu(PARTICIPANTS_MENU_ID, menuMgr, participantsTable);
}
private void makeActions() {
@@ -400,8 +407,8 @@ public class ChatRoomManagerView extends ViewPart implements
inputText.addKeyListener(listener);
}
- protected ListViewer getListViewer() {
- return listViewer;
+ protected TableViewer getParticipantsViewer() {
+ return participantsTable;
}
/**
@@ -719,7 +726,7 @@ public class ChatRoomManagerView extends ViewPart implements
private IUser localUser;
- private ListViewer chatRoomParticipantViewer = null;
+ private TableViewer chatRoomParticipantViewer = null;
/**
* A list of available nicknames for nickname completion via the 'tab'
@@ -799,10 +806,10 @@ public class ChatRoomManagerView extends ViewPart implements
this.chatRoomContainer = container;
this.chatRoomMessageSender = container.getChatRoomMessageSender();
this.chatRoomTab = tabItem;
- chatRoomParticipantViewer = this.chatRoomTab.getListViewer();
options = new ArrayList();
this.chatRoomTab.setKeyListener(this);
-
+ this.chatRoomParticipantViewer = this.chatRoomTab.getParticipantsViewer();
+
rootTabFolder.setUnselectedCloseVisible(true);
rootTabFolder.addSelectionListener(new SelectionListener() {
@@ -950,10 +957,9 @@ public class ChatRoomManagerView extends ViewPart implements
}
// get all of the users in this room and store them if they
// start with the prefix that the user has typed
- String[] participants = chatRoomParticipantViewer.getList()
- .getItems();
+ TableItem[] participants = chatRoomParticipantViewer.getTable().getItems();
for (int i = 0; i < participants.length; i++) {
- if (participants[i].startsWith(prefix)) {
+ if (participants[i].getText().startsWith(prefix)) {
options.add(participants[i]);
}
}
@@ -1127,9 +1133,8 @@ public class ChatRoomManagerView extends ViewPart implements
}
protected void removeAllParticipants() {
- org.eclipse.swt.widgets.List l = chatRoomParticipantViewer
- .getList();
- for (int i = 0; i < l.getItemCount(); i++) {
+ Table t = chatRoomParticipantViewer.getTable();
+ for (int i = 0; i < t.getItemCount(); i++) {
Object o = chatRoomParticipantViewer.getElementAt(i);
if (o != null)
chatRoomParticipantViewer.remove(o);

Back to the top