edu.ou.kmi.buddyspace.gui
Class BSChatWinManager

java.lang.Object
  |
  +--edu.ou.kmi.buddyspace.utils.WinManager
        |
        +--edu.ou.kmi.buddyspace.utils.AlertsWinManager
              |
              +--edu.ou.kmi.buddyspace.gui.BSChatWinManager
All Implemented Interfaces:
BSPresenceListener

public class BSChatWinManager
extends AlertsWinManager
implements BSPresenceListener

BSChatWinManager is manager of all chat windows. It holds hashtable of open windows and process message redirection into right windows. It relies on BSMessengerBean and BSPresenceBean.


Field Summary
protected  BSMainFrame mainFrame
           
 
Fields inherited from class edu.ou.kmi.buddyspace.utils.WinManager
openWindows, tabbedPane
 
Constructor Summary
BSChatWinManager(javax.swing.JTabbedPane tabbedPane, BSMainFrame mainFrame, BSMessengerBean messenger, BSPresenceBean presenceBean)
          Constructor
 
Method Summary
 void addOpenWindows(java.util.Vector openWindows, boolean connected)
          Add its open windows into the vector (for opening when starting next time).
 void changedRoster(Roster r)
          Roster listener function - refreshes nicks of windows
protected  java.awt.Image getWinImage(AlertsDockableWindow win, boolean newMsg)
          Returns Image which should be used for given window when newMsg status.
 void openChatWindow(JID jid, java.lang.String nick, java.lang.String local, boolean select, boolean forceResource, boolean showResource)
          Opens chat window if not exist already.
 void openTheWindows(java.util.Vector openWindows, BSRosterBean rosterBean, boolean connected)
          Opens windows specified in vector.
 void presenceChanged(BSPresenceInfo pi)
          BSPresenceListener function.
 void presencesCleared()
          BSPresenceListener function.
 void refreshWindowNicks()
          Refreshes nicks of windows accoding to current roster
 void replacedRoster(Roster r)
          Roster listener function - refreshes nicks of windows
 void sendMessage(JID jid, java.lang.String body, java.lang.String thread)
          Sends message
 void sendMessage(Message message)
          Sends message
 Message sendURL(JID jid, java.lang.String thread, java.lang.String url, java.lang.String urlDesc)
          Sends url inside message
 void setMessenger(BSMessengerBean messenger)
          Sets used BSMessengerBean
 void setPresenceBean(BSPresenceBean presenceBean)
          Sets used BSPresenceBean
 void setRosterBean(BSRosterBean rosterBean)
          Sets used BSRosterBean
 void subscriptionApproved(JID jid)
          BSPresenceListener function.
 void subscriptionRequested(JID jid)
          BSPresenceListener function.
 void updateNewMessageFlags(AlertsDockableWindow win, boolean newMsg)
          Updates newMessage flags
 
Methods inherited from class edu.ou.kmi.buddyspace.utils.AlertsWinManager
closeAllWindows, isNewMessage
 
Methods inherited from class edu.ou.kmi.buddyspace.utils.WinManager
addWindow, closeWindow, getWindow, isWindowActive, isWindowOpen, selectWindow, setTabbedPane, setWindowDocked, setWindowDocked, setWindowTitle, showWindow, showWindow, updateLAF
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

mainFrame

protected BSMainFrame mainFrame
Constructor Detail

BSChatWinManager

public BSChatWinManager(javax.swing.JTabbedPane tabbedPane,
                        BSMainFrame mainFrame,
                        BSMessengerBean messenger,
                        BSPresenceBean presenceBean)
Constructor

Method Detail

setMessenger

public void setMessenger(BSMessengerBean messenger)
Sets used BSMessengerBean


setPresenceBean

public void setPresenceBean(BSPresenceBean presenceBean)
Sets used BSPresenceBean


setRosterBean

public void setRosterBean(BSRosterBean rosterBean)
Sets used BSRosterBean


openChatWindow

public void openChatWindow(JID jid,
                           java.lang.String nick,
                           java.lang.String local,
                           boolean select,
                           boolean forceResource,
                           boolean showResource)
Opens chat window if not exist already.

Parameters:
nick - nickname used for title of window and inside the window
local - nickname of local user
select - if true the window is selected
forceResource - if true force opening of window for specified resource
showResource - if true shows resource in title of window (hack for conferencing)

updateNewMessageFlags

public void updateNewMessageFlags(AlertsDockableWindow win,
                                  boolean newMsg)
Updates newMessage flags

Overrides:
updateNewMessageFlags in class AlertsWinManager

sendMessage

public void sendMessage(JID jid,
                        java.lang.String body,
                        java.lang.String thread)
Sends message


sendMessage

public void sendMessage(Message message)
Sends message


sendURL

public Message sendURL(JID jid,
                       java.lang.String thread,
                       java.lang.String url,
                       java.lang.String urlDesc)
Sends url inside message


presenceChanged

public void presenceChanged(BSPresenceInfo pi)
BSPresenceListener function. Calls presenceChanged for JID's window.

Specified by:
presenceChanged in interface BSPresenceListener

presencesCleared

public void presencesCleared()
BSPresenceListener function. Empty implementation.

Specified by:
presencesCleared in interface BSPresenceListener

subscriptionApproved

public void subscriptionApproved(JID jid)
BSPresenceListener function. Empty implementation.

Specified by:
subscriptionApproved in interface BSPresenceListener

subscriptionRequested

public void subscriptionRequested(JID jid)
BSPresenceListener function. Empty implementation.

Specified by:
subscriptionRequested in interface BSPresenceListener

getWinImage

protected java.awt.Image getWinImage(AlertsDockableWindow win,
                                     boolean newMsg)
Description copied from class: AlertsWinManager
Returns Image which should be used for given window when newMsg status.

Specified by:
getWinImage in class AlertsWinManager

openTheWindows

public void openTheWindows(java.util.Vector openWindows,
                           BSRosterBean rosterBean,
                           boolean connected)
Opens windows specified in vector.


addOpenWindows

public void addOpenWindows(java.util.Vector openWindows,
                           boolean connected)
Add its open windows into the vector (for opening when starting next time).


changedRoster

public void changedRoster(Roster r)
Roster listener function - refreshes nicks of windows


replacedRoster

public void replacedRoster(Roster r)
Roster listener function - refreshes nicks of windows


refreshWindowNicks

public void refreshWindowNicks()
Refreshes nicks of windows accoding to current roster