org.eclipse.ecf.ui.views
Class RosterView

java.lang.Object
  extended by org.eclipse.core.commands.common.EventManager
      extended by org.eclipse.ui.part.WorkbenchPart
          extended by org.eclipse.ui.part.ViewPart
              extended by org.eclipse.ecf.ui.views.RosterView
All Implemented Interfaces:
IAdaptable, IExecutableExtension, IIMMessageListener, IChatRoomViewCloseListener, IPersistable, IViewPart, IWorkbenchPart, IWorkbenchPart2, IWorkbenchPart3, IWorkbenchPartOrientation

public class RosterView
extends ViewPart
implements IIMMessageListener, IChatRoomViewCloseListener


Field Summary
protected  Hashtable accounts
           
protected  Hashtable chatRooms
           
protected  Hashtable chatThreads
           
protected  IIncomingFileTransferRequestListener requestListener
           
protected static int TREE_EXPANSION_LEVELS
           
static String UNFILED_GROUP_NAME
           
static String VIEW_ID
           
 
Fields inherited from interface org.eclipse.ui.IWorkbenchPart
PROP_TITLE
 
Constructor Summary
RosterView()
           
 
Method Summary
 void accountDisconnected(ID serviceID)
           
 void addAccount(ID account, IUser user, ILocalInputHandler handler, IContainer container, IPresenceContainerAdapter presenceContainer, ISharedObjectContainer soContainer)
           
protected  void addAccount(RosterUserAccount account)
           
 void addGroup(ID svcID, String name)
           
protected  void addRoomView(org.eclipse.ecf.ui.views.RosterView.RoomWithAView roomView)
           
protected  void changePasswordForAccount(ID accountID)
           
 void chatRoomViewClosing(String secondaryID)
           
protected  ISharedObject createAndAddSharedObjectForAccount(RosterUserAccount account)
          Called when an account is added to a RosterView.
protected  ChatWindow createChatWindowForTarget(ID targetID)
           
 void createPartControl(Composite parent)
           
 void dispose()
           
protected  void disposeAllChatWindowsForAccount(RosterUserAccount account, String status)
           
protected  void expandAll()
           
protected  void fillContextMenu(IMenuManager manager)
          Called when time to fill the context menu.
protected  RosterUserAccount getAccount(ID serviceID)
           
protected  RosterUserAccount getAccountForUser(ID userID)
           
 Object getAdapter(Class clazz)
           
 String[] getAllGroupNamesForAccount(ID accountID)
           
protected  IConnectContext getChatJoinContext(String windowText)
           
protected  String getDateAndTime()
           
protected  IOutgoingFileTransferContainerAdapter getFileTransferAdapterForAccount(ID accountID)
           
protected  IOutgoingFileTransferContainerAdapter getFileTransferAdapterForContainer(IContainer container)
           
protected  ILocalInputHandler getHandlerForUser(ID userID)
           
protected  org.eclipse.ecf.ui.views.RosterView.RoomWithAView getRoomView(String id)
           
 String getSelectedGroupName()
           
protected  RosterObject getSelectedTreeObject()
           
protected  String getUserNameFromID(ID userID)
           
protected  String getWindowInitText(ID targetID)
           
protected  void handleAccountDisconnected(RosterUserAccount account)
           
 void handleMessageEvent(IIMMessageEvent messageEvent)
          Handle message event (reception of chat, typing, or object message).
 void handlePresence(ID groupID, ID userID, IPresence presence)
           
 void handleRosterEntryAdd(ID groupID, IRosterEntry entry)
           
 void handleRosterEntryRemove(ID groupID, IRosterEntry entry)
           
 void handleRosterEntryUpdate(ID groupID, IRosterEntry entry)
           
 void handleTyping(ID fromID)
           
protected  ID inputIMTarget()
           
protected  ChatWindow openChatWindowForTarget(ID targetID)
           
protected  void refreshView()
           
protected  void removeAccount(ID serviceID)
           
protected  void removeAllRosterEntriesForAccount(RosterUserAccount account)
           
 void removeGroup(String name)
           
protected  void removeRoomView(org.eclipse.ecf.ui.views.RosterView.RoomWithAView roomView)
           
 void removeRosterEntry(ID id)
           
protected  void removeUserFromGroup(RosterBuddy buddy, RosterGroup group)
           
 void sendRosterAdd(ID svcID, String groupName)
           
 void sendRosterAdd(ID svcID, String username, String groupName)
           
 void setFocus()
          Passing the focus request to the viewer's control.
protected  void setToolbarEnabled(boolean enabled)
           
 void showChatRoom(IChatRoomInfo selectedInfo)
           
protected  void showChatRooms(IChatRoomManager[] managers)
           
protected  void showChatRoomsForAccount(RosterUserAccount ua)
           
 
Methods inherited from class org.eclipse.ui.part.ViewPart
checkSite, getViewSite, init, init, saveState, setContentDescription, setInitializationData, setPartName
 
Methods inherited from class org.eclipse.ui.part.WorkbenchPart
addPartPropertyListener, addPropertyListener, firePartPropertyChanged, firePropertyChange, getConfigurationElement, getContentDescription, getDefaultImage, getOrientation, getPartName, getPartProperties, getPartProperty, getSite, getTitle, getTitleImage, getTitleToolTip, removePartPropertyListener, removePropertyListener, setPartProperty, setSite, setTitle, setTitleImage, setTitleToolTip, showBusy
 
Methods inherited from class org.eclipse.core.commands.common.EventManager
addListenerObject, clearListeners, getListeners, isListenerAttached, removeListenerObject
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.eclipse.ui.IWorkbenchPart
addPropertyListener, getSite, getTitle, getTitleImage, getTitleToolTip, removePropertyListener
 

Field Detail

VIEW_ID

public static final String VIEW_ID
See Also:
Constant Field Values

UNFILED_GROUP_NAME

public static final String UNFILED_GROUP_NAME
See Also:
Constant Field Values

TREE_EXPANSION_LEVELS

protected static final int TREE_EXPANSION_LEVELS
See Also:
Constant Field Values

chatThreads

protected Hashtable chatThreads

accounts

protected Hashtable accounts

chatRooms

protected Hashtable chatRooms

requestListener

protected IIncomingFileTransferRequestListener requestListener
Constructor Detail

RosterView

public RosterView()
Method Detail

createAndAddSharedObjectForAccount

protected ISharedObject createAndAddSharedObjectForAccount(RosterUserAccount account)
Called when an account is added to a RosterView. By default, this method simply returns null, meaning that no shared object is to be associated with the given account. Subclasses may override if they wish to create and set up a shared object for the given account.

Parameters:
account - the RosterUserAccount to add the shared object to

addAccount

protected void addAccount(RosterUserAccount account)

getAccount

protected RosterUserAccount getAccount(ID serviceID)

getFileTransferAdapterForContainer

protected IOutgoingFileTransferContainerAdapter getFileTransferAdapterForContainer(IContainer container)

getFileTransferAdapterForAccount

protected IOutgoingFileTransferContainerAdapter getFileTransferAdapterForAccount(ID accountID)

removeAccount

protected void removeAccount(ID serviceID)

getUserNameFromID

protected String getUserNameFromID(ID userID)

dispose

public void dispose()
Specified by:
dispose in interface IWorkbenchPart
Overrides:
dispose in class WorkbenchPart

refreshView

protected void refreshView()

expandAll

protected void expandAll()

createPartControl

public void createPartControl(Composite parent)
Specified by:
createPartControl in interface IWorkbenchPart
Specified by:
createPartControl in class WorkbenchPart

fillContextMenu

protected void fillContextMenu(IMenuManager manager)
Called when time to fill the context menu. First allows super class to fill menu, then adds on test action that simply sends shared object message to given buddy. Subclasses may override as appropriate to fill in context menu. Note that super.fillContextMenu(manager) should always be called first to allow the superclass to fill in the context menu.

Parameters:
manager - the IMenuManager

changePasswordForAccount

protected void changePasswordForAccount(ID accountID)

sendRosterAdd

public void sendRosterAdd(ID svcID,
                          String groupName)

sendRosterAdd

public void sendRosterAdd(ID svcID,
                          String username,
                          String groupName)

removeUserFromGroup

protected void removeUserFromGroup(RosterBuddy buddy,
                                   RosterGroup group)

getSelectedTreeObject

protected RosterObject getSelectedTreeObject()

inputIMTarget

protected ID inputIMTarget()

getChatJoinContext

protected IConnectContext getChatJoinContext(String windowText)

showChatRoomsForAccount

protected void showChatRoomsForAccount(RosterUserAccount ua)

showChatRooms

protected void showChatRooms(IChatRoomManager[] managers)

showChatRoom

public void showChatRoom(IChatRoomInfo selectedInfo)

addRoomView

protected void addRoomView(org.eclipse.ecf.ui.views.RosterView.RoomWithAView roomView)

removeRoomView

protected void removeRoomView(org.eclipse.ecf.ui.views.RosterView.RoomWithAView roomView)

getRoomView

protected org.eclipse.ecf.ui.views.RosterView.RoomWithAView getRoomView(String id)

openChatWindowForTarget

protected ChatWindow openChatWindowForTarget(ID targetID)

createChatWindowForTarget

protected ChatWindow createChatWindowForTarget(ID targetID)

setFocus

public void setFocus()
Passing the focus request to the viewer's control.

Specified by:
setFocus in interface IWorkbenchPart
Specified by:
setFocus in class WorkbenchPart

getAccountForUser

protected RosterUserAccount getAccountForUser(ID userID)

getHandlerForUser

protected ILocalInputHandler getHandlerForUser(ID userID)

getAdapter

public Object getAdapter(Class clazz)
Specified by:
getAdapter in interface IAdaptable
Overrides:
getAdapter in class WorkbenchPart

getWindowInitText

protected String getWindowInitText(ID targetID)

getDateAndTime

protected String getDateAndTime()

handleMessageEvent

public void handleMessageEvent(IIMMessageEvent messageEvent)
Description copied from interface: IIMMessageListener
Handle message event (reception of chat, typing, or object message).

Specified by:
handleMessageEvent in interface IIMMessageListener
Parameters:
messageEvent - the event instance to handle. Will not be null.

addAccount

public void addAccount(ID account,
                       IUser user,
                       ILocalInputHandler handler,
                       IContainer container,
                       IPresenceContainerAdapter presenceContainer,
                       ISharedObjectContainer soContainer)

setToolbarEnabled

protected void setToolbarEnabled(boolean enabled)

accountDisconnected

public void accountDisconnected(ID serviceID)

disposeAllChatWindowsForAccount

protected void disposeAllChatWindowsForAccount(RosterUserAccount account,
                                               String status)

removeAllRosterEntriesForAccount

protected void removeAllRosterEntriesForAccount(RosterUserAccount account)

getAllGroupNamesForAccount

public String[] getAllGroupNamesForAccount(ID accountID)

getSelectedGroupName

public String getSelectedGroupName()

addGroup

public void addGroup(ID svcID,
                     String name)

removeGroup

public void removeGroup(String name)

removeRosterEntry

public void removeRosterEntry(ID id)

handleAccountDisconnected

protected void handleAccountDisconnected(RosterUserAccount account)

handleRosterEntryAdd

public void handleRosterEntryAdd(ID groupID,
                                 IRosterEntry entry)

handlePresence

public void handlePresence(ID groupID,
                           ID userID,
                           IPresence presence)

handleRosterEntryUpdate

public void handleRosterEntryUpdate(ID groupID,
                                    IRosterEntry entry)

handleRosterEntryRemove

public void handleRosterEntryRemove(ID groupID,
                                    IRosterEntry entry)

chatRoomViewClosing

public void chatRoomViewClosing(String secondaryID)
Specified by:
chatRoomViewClosing in interface IChatRoomViewCloseListener

handleTyping

public void handleTyping(ID fromID)