javadocs added

cusax-fix
Yana Stamcheva 20 years ago
parent 25f5b654aa
commit 2884890c89

@ -18,7 +18,9 @@
import org.osgi.framework.BundleContext;
import org.osgi.framework.ServiceReference;
/**
/**
* The GUI Activator class.
*
* @author Yana Stamcheva
*/
public class GuiActivator implements BundleActivator {
@ -30,6 +32,12 @@ public class GuiActivator implements BundleActivator {
private LoginManager loginManager;
/**
* Called when this bundle is started.
*
* @param context The execution context of the bundle being started.
* @throws Exception If
*/
public void start(BundleContext bundleContext) throws Exception {
MainFrame mainFrame = communicatorMain.getMainFrame();
@ -75,10 +83,24 @@ public void start(BundleContext bundleContext) throws Exception {
}
}
/**
* Called when this bundle is stopped so the Framework can perform the
* bundle-specific activities necessary to stop the bundle.
*
* @param context The execution context of the bundle being stopped.
* @throws Exception If this method throws an exception, the bundle is
* still marked as stopped, and the Framework will remove the bundle's
* listeners, unregister all services registered by the bundle, and
* release all services used by the bundle.
*/
public void stop(BundleContext bundleContext) throws Exception {
logger.info("UI Service ...[STOPPED]");
}
/**
* The <tt>RunLogin</tt> implements the Runnable interface and is used to
* shows the login windows in new thread.
*/
private class RunLogin implements Runnable {
public void run() {
loginManager.showLoginWindows(communicatorMain.getMainFrame());

@ -12,7 +12,7 @@
import net.java.sip.communicator.service.gui.PopupDialog;
/**
* Implements <code>PopupDialog</code>.
* Implements <code>PopupDialog</code> interface.
*
* @author Yana Stamcheva
*/
@ -21,20 +21,38 @@ public class PopupDialogImpl extends JOptionPane
private MainFrame parentWindow;
/**
* Creates an instance of <tt>PopupDialogImpl</tt>.
* @param parentWindow The main application window.
*/
public PopupDialogImpl(MainFrame parentWindow) {
this.parentWindow = parentWindow;
}
/**
* Implements the <tt>PopupDialog.showInputPopupDialog(Object)</tt> method.
* Invokes the corresponding <tt>JOptionPane.showInputDialog</tt> method.
*/
public String showInputPopupDialog(Object message) {
return showInputDialog(parentWindow, message);
}
/**
* Implements the <tt>PopupDialog.showInputPopupDialog(Object, String)</tt>
* method. Invokes the corresponding <tt>JOptionPane.showInputDialog</tt>
* method.
*/
public String showInputPopupDialog(Object message,
String initialSelectionValue) {
return showInputDialog(parentWindow, message,
initialSelectionValue);
}
/**
* Implements the
* <tt>PopupDialog.showInputPopupDialog(Object, String, int)</tt> method.
* Invokes the corresponding <tt>JOptionPane.showInputDialog</tt> method.
*/
public String showInputPopupDialog(Object message, String title,
int messageType) {
@ -58,6 +76,12 @@ else if (messageType == PopupDialog.WARNING_MESSAGE) {
title, type);
}
/**
* Implements the
* <tt>PopupDialog.showInputPopupDialog(Object, String, int, Object[],
* Object)</tt> method. Invokes the corresponding
* <tt>JOptionPane.showInputDialog</tt> method.
*/
public Object showInputPopupDialog(Object message, String title,
int messageType, Object[] selectionValues,
Object initialSelectionValue) {
@ -83,10 +107,20 @@ else if (messageType == PopupDialog.WARNING_MESSAGE) {
null, selectionValues, initialSelectionValue);
}
/**
* Implements the <tt>PopupDialog.showMessagePopupDialog(Object)</tt>
* method. Invokes the corresponding
* <tt>JOptionPane.showMessageDialog</tt> method.
*/
public void showMessagePopupDialog(Object message) {
showMessageDialog(parentWindow, message);
}
/**
* Implements the <tt>PopupDialog.showMessagePopupDialog(Object, String,
* int)</tt> method. Invokes the corresponding
* <tt>JOptionPane.showMessageDialog</tt> method.
*/
public void showMessagePopupDialog(Object message, String title,
int messageType) {
int type;
@ -109,10 +143,20 @@ else if (messageType == PopupDialog.WARNING_MESSAGE) {
showMessageDialog(parentWindow, message, title, type);
}
/**
* Implements the <tt>PopupDialog.showConfirmPopupDialog(Object)</tt>
* method. Invokes the corresponding
* <tt>JOptionPane.showConfirmDialog</tt> method.
*/
public int showConfirmPopupDialog(Object message) {
return showConfirmDialog(parentWindow, message);
}
/**
* Implements the <tt>PopupDialog.showConfirmPopupDialog(Object, String,
* int)</tt> method. Invokes the corresponding
* <tt>JOptionPane.showConfirmDialog</tt> method.
*/
public int showConfirmPopupDialog(Object message, String title,
int optionType) {
int type;
@ -132,6 +176,11 @@ else if (optionType == PopupDialog.YES_NO_CANCEL_OPTION) {
return showConfirmDialog(parentWindow, message, title, type);
}
/**
* Implements the <tt>PopupDialog.showConfirmPopupDialog(Object, String,
* int, int)</tt> method. Invokes the corresponding
* <tt>JOptionPane.showConfirmDialog</tt> method.
*/
public int showConfirmPopupDialog(Object message, String title,
int optionType, int messageType) {
@ -170,22 +219,43 @@ else if (messageType == PopupDialog.WARNING_MESSAGE) {
optType, msgType);
}
/**
* Implements the <tt>PopupDialog.isDialogVisible</tt> method.
* @return <code>true</code> if the dialog is visible, <code>false</code>
* otherwise.
*/
public boolean isDialogVisible() {
return this.isVisible();
}
/**
* Implements the <tt>PopupDialog.isDialogVisible</tt> method.
* Shows this <tt>JOptionPane</tt>.
*/
public void showDialog() {
this.setVisible(true);
}
/**
* Implements the <tt>PopupDialog.isDialogVisible</tt> method.
* Hides this <tt>JOptionPane</tt>.
*/
public void hideDialog() {
this.setVisible(false);
}
/**
* Implements the <tt>PopupDialog.isDialogVisible</tt> method.
* Resizes this <tt>JOptionPane</tt>.
*/
public void resizeDialog(int width, int height) {
this.setSize(width, height);
}
/**
* Implements the <tt>PopupDialog.isDialogVisible</tt> method.
* Moves this <tt>JOptionPane</tt>.
*/
public void moveDialog(int x, int y) {
this.setLocation(x, y);
}

@ -23,7 +23,7 @@
import net.java.sip.communicator.util.Logger;
/**
* Stores and loads images used throughout the GUI.
* Stores and loads images used throughout this ui implementation.
*
* @author Yana Stamcheva
*/
@ -31,309 +31,609 @@ public class ImageLoader {
private static Logger log = Logger.getLogger(ImageLoader.class);
/**
* Stores all already loaded images.
*/
private static Hashtable loadedImages = new Hashtable();
/*------------------------------------------------------------------------
* =========================LOOK AND FEEL IMAGES==========================
* -----------------------------------------------------------------------
*/
/**
* The background image of a button.
*/
public static final ImageID BUTTON = new ImageID("BUTTON");
/**
* The rollover image of a button.
*/
public static final ImageID BUTTON_ROLLOVER
= new ImageID("BUTTON_ROLLOVER");
/**
* The image used for a horizontal split.
*/
public static final ImageID SPLITPANE_HORIZONTAL
= new ImageID("SPLITPANE_HORIZONTAL");
/**
* The image used for a vertical split.
*/
public static final ImageID SPLITPANE_VERTICAL
= new ImageID("SPLITPANE_VERTICAL");
/**
* The image used for the "thumb" of a vertical scrollbar.
*/
public static final ImageID SCROLLBAR_THUMB_VERTICAL
= new ImageID("SCROLLBAR_VERTICAL");
/**
* The image used for the "thumb" of a horizontal scrollbar.
*/
public static final ImageID SCROLLBAR_THUMB_HORIZONTAL
= new ImageID("SCROLLBAR_HORIZONTAL");
/**
* The image used for the "thumb handle" of a horizontal scrollbar.
*/
public static final ImageID SCROLLBAR_THUMB_HANDLE_HORIZONTAL
= new ImageID("SCROLLBAR_THUMB_HORIZONTAL");
/**
* The image used for the "thumb handle" of a vertical scrollbar.
*/
public static final ImageID SCROLLBAR_THUMB_HANDLE_VERTICAL
= new ImageID("SCROLLBAR_THUMB_VERTICAL");
/**
* The image used in the <tt>SIPCommLookAndFeel</tt> to paint the background
* of a tab.
*/
public static final ImageID TAB_BG = new ImageID("TAB_BG");
/**
* The image used in the <tt>SIPCommLookAndFeel</tt> to paint the background
* of a selected tab.
*/
public static final ImageID SELECTED_TAB_BG
= new ImageID("SELECTED_TAB_BG");
/**
* The image used in the <tt>SIPCommLookAndFeel</tt> to paint the background
* of a closable tab.
*/
public static final ImageID CLOSABLE_TAB_BG
= new ImageID("CLOSABLE_TAB_BG");
/**
* The image used in the <tt>SIPCommLookAndFeel</tt> to paint the background
* of a closable selected tab.
*/
public static final ImageID SELECTED_CLOSABLE_TAB_BG
= new ImageID("SELECTED_CLOSABLE_TAB_BG");
/**
* The image used in the <tt>SIPCommLookAndFeel</tt> to paint a close
* button on a tab.
*/
public static final ImageID CLOSE_TAB_ICON = new ImageID("CLOSE_TAB_ICON");
/**
* The image used in the <tt>SIPCommLookAndFeel</tt> to paint a rollover
* close button on a tab.
*/
public static final ImageID CLOSE_TAB_SELECTED_ICON
= new ImageID("CLOSE_TAB_SELECTED_ICON");
/////////////////////// OptionPane icons /////////////////////////////
/**
* The icon used in the <tt>SIPCommLookAndFeel</tt> to paint the icon
* of an option pane warning message.
*/
public static final ImageID WARNING_ICON = new ImageID("WARNING_ICON");
/*------------------------------------------------------------------------
* ============================APPLICATION ICONS =========================
* -----------------------------------------------------------------------
*/
/**
* An empty 16x16 icon used for alignment.
*/
public static final ImageID EMPTY_16x16_ICON
= new ImageID("EMPTY_16x16_ICON");
/**
* The icon on the "Add contact" button in the <tt>QuickMenu</tt>.
*/
public static final ImageID QUICK_MENU_ADD_ICON
= new ImageID("QUICK_MENU_ADD_ICON");
/**
* The icon on the "Configure" button in the <tt>QuickMenu</tt>.
*/
public static final ImageID QUICK_MENU_CONFIGURE_ICON
= new ImageID("QUICK_MENU_CONFIGURE_ICON");
/**
* The icon on the "Hide/Show offline contacts" button in the
* <tt>QuickMenu</tt> and in the <tt>AppearanceConfigurationForm</tt>.
*/
public static final ImageID QUICK_MENU_SEARCH_ICON
= new ImageID("QUICK_MENU_SEARCH_ICON");
/**
* The icon on the "Info" button in the <tt>QuickMenu</tt>.
*/
public static final ImageID QUICK_MENU_INFO_ICON
= new ImageID("QUICK_MENU_INFO_ICON");
/**
* The background image of a <tt>QuickMenu</tt> button.
*/
public static final ImageID QUICK_MENU_BUTTON_BG
= new ImageID("QUICK_MENU_BUTTON_BG");
/**
* The background rollover image of a <tt>QuickMenu</tt> button.
*/
public static final ImageID QUICK_MENU_BUTTON_ROLLOVER_BG
= new ImageID("QUICK_MENU_BUTTON_ROLLOVER_BG");
/**
* The call button image.
*/
public static final ImageID CALL_BUTTON_BG
= new ImageID("CALL_BUTTON_BG");
/**
* The hangup button image.
*/
public static final ImageID HANGUP_BUTTON_BG
= new ImageID("HANGUP_BUTTON_BG");
/**
* The call button mouse over image.
*/
public static final ImageID CALL_ROLLOVER_BUTTON_BG
= new ImageID("CALL_ROLLOVER_BUTTON_BG");
/**
* The hangup button mouse over image.
*/
public static final ImageID HANGUP_ROLLOVER_BUTTON_BG
= new ImageID("HANGUP_ROLLOVER_BUTTON_BG");
/**
* The background image for the <tt>StatusSelectorBox</tt>.
*/
public static final ImageID STATUS_SELECTOR_BOX
= new ImageID("STATUS_SELECTOR_BOX");
public static final ImageID BUTTON_BG = new ImageID("BUTTON_BG");
public static final ImageID BUTTON_ROLLOVER_BG
= new ImageID("BUTTON_ROLLOVER_BG");
/**
* A dial button icon.
*/
public static final ImageID ONE_DIAL_BUTTON
= new ImageID("ONE_DIAL_BUTTON");
/**
* A dial button icon.
*/
public static final ImageID TWO_DIAL_BUTTON
= new ImageID("TWO_DIAL_BUTTON");
/**
* A dial button icon.
*/
public static final ImageID THREE_DIAL_BUTTON
= new ImageID("THREE_DIAL_BUTTON");
/**
* A dial button icon.
*/
public static final ImageID FOUR_DIAL_BUTTON
= new ImageID("FOUR_DIAL_BUTTON");
/**
* A dial button icon.
*/
public static final ImageID FIVE_DIAL_BUTTON
= new ImageID("FIVE_DIAL_BUTTON");
/**
* A dial button icon.
*/
public static final ImageID SIX_DIAL_BUTTON
= new ImageID("SIX_DIAL_BUTTON");
/**
* A dial button icon.
*/
public static final ImageID SEVEN_DIAL_BUTTON
= new ImageID("SEVEN_DIAL_BUTTON");
/**
* A dial button icon.
*/
public static final ImageID EIGHT_DIAL_BUTTON
= new ImageID("EIGHT_DIAL_BUTTON");
/**
* A dial button icon.
*/
public static final ImageID NINE_DIAL_BUTTON
= new ImageID("NINE_DIAL_BUTTON");
/**
* A dial button icon.
*/
public static final ImageID STAR_DIAL_BUTTON
= new ImageID("STAR_DIAL_BUTTON");
/**
* A dial button icon.
*/
public static final ImageID ZERO_DIAL_BUTTON
= new ImageID("ZERO_DIAL_BUTTON");
/**
* A dial button icon.
*/
public static final ImageID DIEZ_DIAL_BUTTON
= new ImageID("DIEZ_DIAL_BUTTON");
/**
* The image used, when a contact has no photo specified.
*/
public static final ImageID DEFAULT_USER_PHOTO
= new ImageID("DEFAULT_USER_PHOTO");
/**
* The image used in the chat window, when a contact has no photo
* specified.
*/
public static final ImageID DEFAULT_CHAT_USER_PHOTO
= new ImageID("DEFAULT_CHAT_USER_PHOTO");
/**
* The minimize button icon in the <tt>CallPanel</tt>.
*/
public static final ImageID CALL_PANEL_MINIMIZE_BUTTON
= new ImageID("CALL_PANEL_MINIMIZE_BUTTON");
/**
* The restore button icon in the <tt>CallPanel</tt>.
*/
public static final ImageID CALL_PANEL_RESTORE_BUTTON
= new ImageID("CALL_PANEL_RESTORE_BUTTON");
/**
* The minimize rollover button icon in the <tt>CallPanel</tt>.
*/
public static final ImageID CALL_PANEL_MINIMIZE_ROLLOVER_BUTTON
= new ImageID("CALL_PANEL_MINIMIZE_ROLLOVER_BUTTON");
/**
* The restore rollover button icon in the <tt>CallPanel</tt>.
*/
public static final ImageID CALL_PANEL_RESTORE_ROLLOVER_BUTTON
= new ImageID("CALL_PANEL_RESTORE_ROLLOVER_BUTTON");
/**
* The background image of the "Add contact to chat" button in the
* chat window.
*/
public static final ImageID ADD_TO_CHAT_BUTTON
= new ImageID("ADD_TO_CHAT_BUTTON");
/**
* The background rollover image of the "Add contact to chat" button in
* the chat window.
*/
public static final ImageID ADD_TO_CHAT_ROLLOVER_BUTTON
= new ImageID("ADD_TO_CHAT_ROLLOVER_BUTTON");
/**
* The icon image of the "Add contact to chat" button in the
* chat window.
*/
public static final ImageID ADD_TO_CHAT_ICON
= new ImageID("ADD_TO_CHAT_ICON");
/**
* The image used as a separator in all toolbars.
*/
public static final ImageID TOOLBAR_DIVIDER
= new ImageID("TOOLBAR_DIVIDER");
public static final ImageID RIGHT_ARROW_ICON
= new ImageID("RIGHT_ARROW_ICON");
public static final ImageID RIGHT_ARROW_ROLLOVER_ICON
= new ImageID("RIGHT_ARROW_ROLLOVER_ICON");
public static final ImageID BOTTOM_ARROW_ICON
= new ImageID("BOTTOM_ARROW_ICON");
public static final ImageID BOTTOM_ARROW_ROLLOVER_ICON
= new ImageID("BOTTOM_ARROW_ROLLOVER_ICON");
public static final ImageID TAB_BG = new ImageID("TAB_BG");
public static final ImageID SELECTED_TAB_BG
= new ImageID("SELECTED_TAB_BG");
public static final ImageID CLOSABLE_TAB_BG
= new ImageID("CLOSABLE_TAB_BG");
public static final ImageID SELECTED_CLOSABLE_TAB_BG
= new ImageID("SELECTED_CLOSABLE_TAB_BG");
/**
* The image used for decoration of the "Add contact" window.
*/
public static final ImageID ADD_CONTACT_WIZARD_ICON
= new ImageID("ADD_CONTACT_WIZARD_ICON");
/**
* The image used for decoration of the "Rename contact" window.
*/
public static final ImageID RENAME_DIALOG_ICON
= new ImageID("RENAME_DIALOG_ICON");
// ///////////////////// Edit Text Toolbar icons //////////////////////////
/**
* "Left align" button image in the <tt>EditTextToolBar</tt> in the
* <tt>ChatWindow</tt>.
*/
public static final ImageID ALIGN_LEFT_BUTTON
= new ImageID("ALIGN_LEFT_BUTTON");
/**
* "Right align" button image in the <tt>EditTextToolBar</tt> in the
* <tt>ChatWindow</tt>.
*/
public static final ImageID ALIGN_RIGHT_BUTTON
= new ImageID("ALIGN_RIGHT_BUTTON");
/**
* "Center align" button image in the <tt>EditTextToolBar</tt> in the
* <tt>ChatWindow</tt>.
*/
public static final ImageID ALIGN_CENTER_BUTTON
= new ImageID("ALIGN_RIGHT_BUTTON");
/**
* "Left align" button rollover image in the <tt>EditTextToolBar</tt> in
* the <tt>ChatWindow</tt>.
*/
public static final ImageID ALIGN_LEFT_ROLLOVER_BUTTON
= new ImageID("ALIGN_LEFT_ROLLOVER_BUTTON");
/**
* "Right align" button rollover image in the <tt>EditTextToolBar</tt> in
* the <tt>ChatWindow</tt>.
*/
public static final ImageID ALIGN_RIGHT_ROLLOVER_BUTTON
= new ImageID("ALIGN_RIGHT_ROLLOVER_BUTTON");
/**
* "Center align" button rollover image in the <tt>EditTextToolBar</tt> in
* the <tt>ChatWindow</tt>.
*/
public static final ImageID ALIGN_CENTER_ROLLOVER_BUTTON
= new ImageID("ALIGN_CENTER_ROLLOVER_BUTTON");
/**
* "Bold" button image in the <tt>EditTextToolBar</tt> in the
* <tt>ChatWindow</tt>.
*/
public static final ImageID TEXT_BOLD_BUTTON
= new ImageID("TEXT_BOLD_BUTTON");
/**
* "Italic" button image in the <tt>EditTextToolBar</tt> in the
* <tt>ChatWindow</tt>.
*/
public static final ImageID TEXT_ITALIC_BUTTON
= new ImageID("TEXT_ITALIC_BUTTON");
/**
* "Underline" button image in the <tt>EditTextToolBar</tt> in the
* <tt>ChatWindow</tt>.
*/
public static final ImageID TEXT_UNDERLINED_BUTTON
= new ImageID("TEXT_ITALIC_BUTTON");
= new ImageID("TEXT_UNDERLINED_BUTTON");
/**
* "Bold" button rollover image in the <tt>EditTextToolBar</tt> in the
* <tt>ChatWindow</tt>.
*/
public static final ImageID TEXT_BOLD_ROLLOVER_BUTTON
= new ImageID("TEXT_BOLD_ROLLOVER_BUTTON");
/**
* "Italic" button rollover image in the <tt>EditTextToolBar</tt> in the
* <tt>ChatWindow</tt>.
*/
public static final ImageID TEXT_ITALIC_ROLLOVER_BUTTON
= new ImageID("TEXT_ITALIC_ROLLOVER_BUTTON");
/**
* "Underline" button rollover image in the <tt>EditTextToolBar</tt> in
* the <tt>ChatWindow</tt>.
*/
public static final ImageID TEXT_UNDERLINED_ROLLOVER_BUTTON
= new ImageID("TEXT_UNDERLINED_ROLLOVER_BUTTON");
public static final ImageID CLOSE_TAB_ICON = new ImageID("CLOSE_TAB_ICON");
public static final ImageID CLOSE_TAB_SELECTED_ICON
= new ImageID("CLOSE_TAB_SELECTED_ICON");
// ///////////////////////// Main Toolbar icons ////////////////////////////
public static final ImageID MSG_TOOLBAR_BUTTON_BG
/**
* The background image of a button in one of the <tt>ChatWindow</tt>
* toolbars.
*/
public static final ImageID CHAT_TOOLBAR_BUTTON_BG
= new ImageID("MSG_TOOLBAR_BUTTON_BG");
public static final ImageID MSG_TOOLBAR_ROLLOVER_BUTTON_BG
/**
* The background rollover image of a button in one of the
* <tt>ChatWindow</tt> toolbars.
*/
public static final ImageID CHAT_TOOLBAR_ROLLOVER_BUTTON_BG
= new ImageID("MSG_TOOLBAR_ROLLOVER_BUTTON_BG");
/**
* Copy icon.
*/
public static final ImageID COPY_ICON = new ImageID("COPY_ICON");
/**
* Cut icon.
*/
public static final ImageID CUT_ICON = new ImageID("CUT_ICON");
/**
* Paste icon.
*/
public static final ImageID PASTE_ICON = new ImageID("PASTE_ICON");
/**
* Smily icon, used for the "Smily" button in the <tt>MainToolBar</tt>.
*/
public static final ImageID SMILIES_ICON = new ImageID("SMILIES_ICON");
/**
* Save icon.
*/
public static final ImageID SAVE_ICON = new ImageID("SAVE_ICON");
/**
* Print icon.
*/
public static final ImageID PRINT_ICON = new ImageID("PRINT_ICON");
/**
* Close icon.
*/
public static final ImageID CLOSE_ICON = new ImageID("CLOSE_ICON");
/**
* Quit icon.
*/
public static final ImageID QUIT_ICON = new ImageID("QUIT_ICON");
/**
* Left flash icon.
*/
public static final ImageID PREVIOUS_ICON = new ImageID("PREVIOUS_ICON");
/**
* Right flash icon.
*/
public static final ImageID NEXT_ICON = new ImageID("NEXT_ICON");
/**
* Clock icon.
*/
public static final ImageID HISTORY_ICON = new ImageID("HISTORY_ICON");
/**
* Send file icon.
*/
public static final ImageID SEND_FILE_ICON = new ImageID("SEND_FILE_ICON");
/**
* Font icon.
*/
public static final ImageID FONT_ICON = new ImageID("FONT_ICON");
// ///////////////////// Chat contact icons ////////////////////////////////
/**
* A special "info" icon used in the <tt>ChatContactPanel</tt>.
*/
public static final ImageID CHAT_CONTACT_INFO_BUTTON
= new ImageID("CHAT_CONTACT_INFO_BUTTON");
/**
* A special "info" rollover icon used in the <tt>ChatContactPanel</tt>.
*/
public static final ImageID CHAT_CONTACT_INFO_ROLLOVER_BUTTON
= new ImageID("CHAT_CONTACT_INFO_ROLLOVER_BUTTON");
/**
* A special "call" icon used in the <tt>ChatContactPanel</tt>.
*/
public static final ImageID CHAT_CONTACT_CALL_BUTTON
= new ImageID("CHAT_CONTACT_CALL_BUTTON");
/**
* A special "call" rollover icon used in the <tt>ChatContactPanel</tt>.
*/
public static final ImageID CHAT_CONTACT_CALL_ROLLOVER_BUTTON
= new ImageID("CHAT_CONTACT_CALL_ROLLOVER_BUTTON");
/**
* A special "send file" icon used in the <tt>ChatContactPanel</tt>.
*/
public static final ImageID CHAT_CONTACT_SEND_FILE_BUTTON
= new ImageID("CHAT_CONTACT_SEND_FILE_BUTTON");
/**
* A special "send file" rollover icon used in the
* <tt>ChatContactPanel</tt>.
*/
public static final ImageID CHAT_SEND_FILE_ROLLOVER_BUTTON
= new ImageID("CHAT_SEND_FILE_ROLLOVER_BUTTON");
// ///////////////////// Optionpane icons /////////////////////////////
public static final ImageID WARNING_ICON = new ImageID("WARNING_ICON");
// //////////////////// RightButton menu icons ////////////////////////
////////////////////////////// 16x16 icons ////////////////////////////////
/**
* Send message 16x16 image.
*/
public static final ImageID SEND_MESSAGE_16x16_ICON
= new ImageID("SEND_MESSAGE_16x16_ICON");
/**
* Delete 16x16 image.
*/
public static final ImageID DELETE_16x16_ICON
= new ImageID("DELETE_16x16_ICON");
/**
* History 16x16 image.
*/
public static final ImageID HISTORY_16x16_ICON
= new ImageID("HISTORY_16x16_ICON");
/**
* Send file 16x16 image.
*/
public static final ImageID SEND_FILE_16x16_ICON
= new ImageID("SEND_FILE_16x16_ICON");
/**
* Groups 16x16 image.
*/
public static final ImageID GROUPS_16x16_ICON
= new ImageID("GROUPS_16x16_ICON");
/**
* Info 16x16 image.
*/
public static final ImageID INFO_16x16_ICON
= new ImageID("INFO_16x16_ICON");
/**
* Add contact 16x16 image.
*/
public static final ImageID ADD_CONTACT_16x16_ICON
= new ImageID("ADD_CONTACT_16x16_ICON");
/**
* Rename 16x16 image.
*/
public static final ImageID RENAME_16x16_ICON
= new ImageID("RENAME_16x16_ICON");
///////////////////////////////////////////////////////////////////////////
/**
* Contact list cell "more info" button.
*/
public static final ImageID MORE_INFO_ICON = new ImageID("MORE_INFO_ICON");
/**
* Toolbar drag area icon.
*/
public static final ImageID TOOLBAR_DRAG_ICON = new ImageID(
"TOOLBAR_DRAG_ICON");
/**
* The background image of <tt>LoginWindow</tt> and <tt>WelcomeWindow</tt>
* frames.
*/
public static final ImageID LOGIN_WINDOW_LOGO = new ImageID(
"LOGIN_WINDOW_LOGO");
@ -342,81 +642,170 @@ public class ImageLoader {
* --------------------- PROTOCOLS STATUS ICONS ---------------------------
* ========================================================================
*/
/**
* The ICQ logo 16x16 icon.
*/
public static final ImageID ICQ_LOGO = new ImageID("ICQ_LOGO");
/**
* The ICQ "connecting" 16x16 animated icon.
*/
public static final ImageID ICQ_CONNECTING = new ImageID("ICQ_CONNECTING");
/**
* The ICQ "free for chat" 16x16 icon.
*/
public static final ImageID ICQ_FF_CHAT_ICON = new ImageID(
"ICQ_FF_CHAT_ICON");
/**
* The ICQ "away" 16x16 icon.
*/
public static final ImageID ICQ_AWAY_ICON = new ImageID("ICQ_AWAY_ICON");
/**
* The ICQ "not available" 16x16 icon.
*/
public static final ImageID ICQ_NA_ICON = new ImageID("ICQ_NA_ICON");
/**
* The ICQ "do not disturb" 16x16 icon.
*/
public static final ImageID ICQ_DND_ICON = new ImageID("ICQ_DND_ICON");
/**
* The ICQ "occupied" 16x16 icon.
*/
public static final ImageID ICQ_OCCUPIED_ICON = new ImageID(
"ICQ_OCCUPIED_ICON");
/**
* The ICQ "offline" 16x16 icon.
*/
public static final ImageID ICQ_OFFLINE_ICON = new ImageID(
"ICQ_OFFLINE_ICON");
/**
* The ICQ "invisible" 16x16 icon.
*/
public static final ImageID ICQ_INVISIBLE_ICON = new ImageID(
"ICQ_INVISIBLE_ICON");
/**
* The MSN logo 16x16 icon.
*/
public static final ImageID MSN_LOGO = new ImageID("MSN_LOGO");
/**
* The AIM logo 16x16 icon.
*/
public static final ImageID AIM_LOGO = new ImageID("AIM_LOGO");
/**
* The Yahoo logo 16x16 icon.
*/
public static final ImageID YAHOO_LOGO = new ImageID("YAHOO_LOGO");
/**
* The Jabber logo 16x16 icon.
*/
public static final ImageID JABBER_LOGO = new ImageID("JABBER_LOGO");
/**
* The Skype logo 16x16 icon.
*/
public static final ImageID SKYPE_LOGO = new ImageID("SKYPE_LOGO");
/**
* The SIP logo 16x16 icon.
*/
public static final ImageID SIP_LOGO = new ImageID("SIP_LOGO");
/**
* The SIP online 16x16 icon.
*/
public static final ImageID SIP_ONLINE_ICON
= new ImageID("SIP_ONLINE_ICON");
/**
* The SIP offline 16x16 icon.
*/
public static final ImageID SIP_OFFLINE_ICON = new ImageID(
"SIP_OFFLINE_ICON");
/**
* The SIP invisible 16x16 icon.
*/
public static final ImageID SIP_INVISIBLE_ICON = new ImageID(
"SIP_INVISIBLE_ICON");
/**
* The SIP away 16x16 icon.
*/
public static final ImageID SIP_AWAY_ICON = new ImageID("SIP_AWAY_ICON");
/**
* The SIP "not availabled" 16x16 icon.
*/
public static final ImageID SIP_NA_ICON = new ImageID("SIP_NA_ICON");
/**
* The SIP "do not disturb" 16x16 icon.
*/
public static final ImageID SIP_DND_ICON = new ImageID("SIP_DND_ICON");
/**
* The SIP "occupied" 16x16 icon.
*/
public static final ImageID SIP_OCCUPIED_ICON = new ImageID(
"SIP_OCCUPIED_ICON");
/**
* The SIP "chat" 16x16 icon.
*/
public static final ImageID SIP_CHAT_ICON = new ImageID("SIP_CHAT_ICON");
/*
* =====================================================================
* ------------------------ USERS ICONS --------------------------------
* =====================================================================
* =======================================================================
* ------------------------ USERS' ICONS ---------------------------------
* =======================================================================
*/
/**
* Contact "online" icon.
*/
public static final ImageID USER_ONLINE_ICON = new ImageID(
"USER_ONLINE_ICON");
/**
* Contact "offline" icon.
*/
public static final ImageID USER_OFFLINE_ICON = new ImageID(
"USER_OFFLINE_ICON");
/**
* Contact "away" icon.
*/
public static final ImageID USER_AWAY_ICON = new ImageID("USER_AWAY_ICON");
/**
* Contact "not available" icon.
*/
public static final ImageID USER_NA_ICON = new ImageID("USER_NA_ICON");
/**
* Contact "free for chat" icon.
*/
public static final ImageID USER_FFC_ICON = new ImageID("USER_FFC_ICON");
/**
* Contact "do not disturb" icon.
*/
public static final ImageID USER_DND_ICON = new ImageID("USER_DND_ICON");
/**
* Contact "occupied" icon.
*/
public static final ImageID USER_OCCUPIED_ICON = new ImageID(
"USER_OCCUPIED_ICON");
@ -551,7 +940,7 @@ public static BufferedImage getImage(ImageID imageID) {
}
/**
* Loads animated gif image.
* Loads an animated gif image.
* @param imageID The image identifier.
* @return A BufferedImage array containing the animated image.
*/

@ -12,6 +12,7 @@
/**
* Manages the access to the properties file containing all image paths.
*
* @author Yana Stamcheva
*/
public class Images {
@ -25,6 +26,11 @@ public class Images {
private Images() {
}
/**
* Returns an image path corresponding to the given image key.
* @param key The key of the image.
* @return An image path corresponding to the given image key.
*/
public static String getString(String key) {
try {
return RESOURCE_BUNDLE.getString(key);

@ -23,19 +23,26 @@
import javax.swing.text.html.StyleSheet;
/**
* The SIPCommHTMLEditorKit is a custom HTMLEditorKit which defines its own
* image view in the html document. The image view used to represent the image
* is the SIPCommImageView.
* The <tt>SIPCommHTMLEditorKit</tt> is an <tt>HTMLEditorKit</tt> which uses
* the <tt>SIPCommImageView</tt> and an extended <tt>ParagraphView</tt>.
*
* @author Yana Stamcheva
*/
public class SIPCommHTMLEditorKit extends HTMLEditorKit {
/**
* Returns the extended <tt>HTMLFactory</tt> defined here.
*/
public ViewFactory getViewFactory() {
return new HTMLFactoryX();
}
static class HTMLFactoryX extends HTMLFactory
/**
* An extended <tt>HTMLFactory</tt> that uses the <tt>SIPCommImageView</tt>
* to represent images and the <tt>ParagraphViewX</tt> to represent
* paragraphs.
*/
static class HTMLFactoryX extends HTMLFactory
implements ViewFactory {
public View create(Element elem) {
@ -47,17 +54,30 @@ public View create(Element elem) {
}
else if (v instanceof ParagraphView) {
return new ParagraphViewX(elem);
}
}
return v;
}
}
/**
* The <tt>ParagraphViewX</tt> is created in order to solve the following
* problem (Bug ID: 4855207):
* <p>
* When a paragraph in a JTextPane has a large amount of text the
* processing needed to layout the entire paragraph increases as the
* paragraph grows.
*/
static class ParagraphViewX extends ParagraphView {
public ParagraphViewX(Element elem) {
super(elem);
}
/**
* Calculate equirements along the minor axis. This
* is implemented to forward the request to the logical
* view by calling getMinimumSpan, getPreferredSpan, and
* getMaximumSpan on it.
*/
protected SizeRequirements calculateMinorAxisRequirements (
int axis, SizeRequirements r) {
if (r == null) {
@ -79,7 +99,7 @@ protected SizeRequirements calculateMinorAxisRequirements (
* Create an uninitialized text storage model
* that is appropriate for this type of editor.
*
* @return the model
* @return the model.
*/
public Document createDefaultDocument() {
StyleSheet styles = getStyleSheet();

@ -45,28 +45,30 @@
import javax.swing.text.html.ImageView;
import javax.swing.text.html.StyleSheet;
/*
* The content of this file was based on code borrowed from Rob Kenworthy,
* http://www.javaworld.com/javaworld/javatips/jw-javatip109.html#resources.
*/
/**
* The SIPCommImageView is an ImageView which allows to specify a related path
* when describing an image within an html document.
* The <tt>SIPCommImageView</tt> is an <tt>ImageView</tt> which allows to
* specify a related path when describing an image within an html document.
*
* @author Yana Stamcheva
*/
public class SIPCommImageView extends ImageView
implements ImageObserver {
// --- Attribute Values ------------------------------------------
public static final String TOP = "top", TEXTTOP = "texttop",
MIDDLE = "middle", ABSMIDDLE = "absmiddle", CENTER = "center",
BOTTOM = "bottom";
// --- Construction ----------------------------------------------
public static final String TOP = "top";
public static final String TEXTTOP = "texttop";
public static final String MIDDLE = "middle";
public static final String ABSMIDDLE = "absmiddle";
public static final String CENTER = "center";
public static final String BOTTOM = "bottom";
/**
* Creates a new view that represents an IMG element.
*
* @param elem
* the element to create a view for
* @param elem the element to create a view for.
*/
public SIPCommImageView(Element elem) {
@ -79,6 +81,11 @@ public SIPCommImageView(Element elem) {
attr = sheet.getViewAttributes(this);
}
/**
* Initializes this view.
*
* @param elem the element.
*/
private void initialize(Element elem) {
synchronized (this) {
loading = true;
@ -112,7 +119,7 @@ private void initialize(Element elem) {
}
} else {
/** ****** Code to load from relative path ************ */
/*--Code to load from relative path--*/
String src = (String) fElement.getAttributes().getAttribute(
HTML.Attribute.SRC);
@ -130,9 +137,7 @@ private void initialize(Element elem) {
} catch (IOException e) {
e.printStackTrace();
}
/** *************************************************** */
/*----------------------------------*/
}
// Get height/width from params or image or defaults:
@ -163,16 +168,7 @@ private void initialize(Element elem) {
width, this);
else
Toolkit.getDefaultToolkit().prepareImage(fImage, -1, -1,
this);
/*******************************************************************
* // Rob took this out. Changed scope of src. if( DEBUG ) { if(
* fImage != null ) System.out.println("ImageInfo: new on "+src+ "
* ("+fWidth+"x"+fHeight+")"); else System.out.println("ImageInfo:
* couldn't get image at "+ src); if(isLink()) System.out.println("
* It's a link! Border = "+ getBorder());
* //((AbstractDocument.AbstractElement)elem).dump(System.out,4); }
******************************************************************/
this);
} finally {
synchronized (this) {
@ -190,7 +186,7 @@ private void initialize(Element elem) {
/**
* Determines if path is in the form of a URL.
* Determines if path is in the form of an URL.
* @return TRUE if the source is URL, FALSE otherwise.
*/
private boolean isURL() {
@ -202,7 +198,7 @@ private boolean isURL() {
}
/**
* Make sure an image is loaded - ie no broken images. So far its used only
* Make sure an image is loaded - ie no broken images. So far its used only
* for images loaded off the disk (non-URL).
* @throws InterruptedException
*/
@ -235,7 +231,9 @@ public AttributeSet getAttributes() {
return attr;
}
/** Is this image within a link? */
/**
* Checks if the image is within a link.
*/
boolean isLink() {
// ! It would be nice to cache this but in an editor it can change
// See if I have an HREF attribute courtesy of the enclosing A tag:
@ -250,24 +248,32 @@ boolean isLink() {
return false;
}
/** Returns the size of the border to use. */
/**
* Returns the size of the border to use.
*/
int getBorder() {
return getIntAttr(HTML.Attribute.BORDER, isLink() ? DEFAULT_BORDER : 0);
}
/** Returns the amount of extra space to add along an axis. */
/**
* Returns the amount of extra space to add along an axis.
*/
int getSpace(int axis) {
return getIntAttr(axis == X_AXIS ? HTML.Attribute.HSPACE
: HTML.Attribute.VSPACE, 0);
}
/** Returns the border's color, or null if this is not a link. */
/**
* Returns the border's color, or null if this is not a link.
*/
Color getBorderColor() {
StyledDocument doc = (StyledDocument) getDocument();
return doc.getForeground(getAttributes());
}
/** Returns the image's vertical alignment. */
/**
* Returns the image's vertical alignment.
*/
float getVerticalAlignment() {
String align = (String) fElement.getAttributes().getAttribute(
HTML.Attribute.ALIGN);
@ -283,6 +289,12 @@ else if (align.equals(this.CENTER) || align.equals(MIDDLE)
return 1.0f; // default alignment is bottom
}
/**
* Checks if the image is at least one pixel.
* @param obs The <tt>ImageObserver</tt>.
* @return <code>true</code> if the image is not null and is at least one
* pixel big, <code>false</code> otherwise.
*/
boolean hasPixels(ImageObserver obs) {
return fImage != null && fImage.getHeight(obs) > 0
@ -290,7 +302,8 @@ boolean hasPixels(ImageObserver obs) {
}
/**
* Return a URL for the image source, or null if it could not be determined.
* Returns an URL for the image source, or null if it could not be
* determined.
*/
private URL getSourceURL() {
@ -308,7 +321,9 @@ private URL getSourceURL() {
}
}
/** Look up an integer-valued attribute. <b>Not</b> recursive. */
/**
* Look up an integer-valued attribute. <b>Not</b> recursive.
*/
private int getIntAttr(HTML.Attribute name, int deflt) {
AttributeSet attr = fElement.getAttributes();
if (attr.isDefined(name)) { // does not check parents!
@ -340,7 +355,9 @@ public void setParent(View parent) {
}
}
/** My attributes may have changed. */
/**
* The attributes may have changed.
*/
public void changedUpdate(DocumentEvent e, Shape a, ViewFactory f) {
if (DEBUG)
System.out.println("ImageView: changedUpdate begin...");
@ -364,15 +381,11 @@ public void changedUpdate(DocumentEvent e, Shape a, ViewFactory f) {
+ getVerticalAlignment());
}
// --- Painting --------------------------------------------------------
/**
* Paints the image.
*
* @param g
* the rendering surface to use
* @param a
* the allocated region to render into
* @param g the rendering surface to use
* @param a the allocated region to render into
* @see View#paint
*/
public void paint(Graphics g, Shape a) {
@ -384,15 +397,7 @@ public void paint(Graphics g, Shape a) {
int width = fWidth;
int height = fHeight;
int sel = getSelectionState();
// Make sure my Component is in the right place:
/*
* if( fComponent == null ) { fComponent = new Component() { };
* fComponent.addMouseListener(this);
* fComponent.addMouseMotionListener(this);
* fComponent.setCursor(Cursor.getDefaultCursor()); // use arrow cursor
* fContainer.add(fComponent); } fComponent.setBounds(x,y,width,height);
*/
// If no pixels yet, draw gray outline and icon:
if (!hasPixels(this)) {
g.setColor(Color.lightGray);
@ -482,12 +487,19 @@ protected int getSelectionState() {
return 0;
}
/**
* Checks whether the container is editable.
* @return <code>true</code> if the container is editable,
* <code>false</code> otherwise.
*/
protected boolean isEditable() {
return fContainer instanceof JEditorPane
&& ((JEditorPane) fContainer).isEditable();
}
/** Returns the text editor's highlight color. */
/**
* Returns the text editor's highlight color.
*/
protected Color getHighlightColor() {
JTextComponent textComp = (JTextComponent) fContainer;
return textComp.getSelectionColor();
@ -567,7 +579,7 @@ else if ((flags & SOMEBITS) != 0)
}
/*
* /** Static properties for incremental drawing. Swiped from Component.java
* Static properties for incremental drawing. Swiped from Component.java
*
* @see #imageUpdate
*/

@ -9,7 +9,9 @@
import net.java.sip.communicator.impl.gui.utils.ImageLoader.ImageID;
/**
/**
* The <tt>Smily</tt> is used to store a smily.
*
* @author Yana Stamcheva
*/
public class Smiley {
@ -18,6 +20,13 @@ public class Smiley {
private String[] smileyStrings;
/**
* Creates an instance of <tt>Smily</tt>, by specifying the smily
* image identifier and the strings corresponding to it.
* @param imageID The image identifier of the smily icon.
* @param smileyStrings A set of strings corresponding to the smily
* icon.
*/
public Smiley(ImageID imageID, String[] smileyStrings) {
this.imageID = imageID;
@ -25,26 +34,48 @@ public Smiley(ImageID imageID, String[] smileyStrings) {
this.setSmileyStrings(smileyStrings);
}
/**
* Returns the set of Strings corresponding to this smily.
* @return the set of Strings corresponding to this smily.
*/
public String[] getSmileyStrings() {
return smileyStrings;
}
/**
* Sets the set of Strings corresponding to this smily. They could be
* ":-)", ":)", ":))" for example.
* @param smileyStrings the set of Strings corresponding to this smily.
*/
public void setSmileyStrings(String[] smileyStrings) {
this.smileyStrings = smileyStrings;
}
/**
* Returns the default String corresponding for this smily. For example
* ":-)".
* @return the default String corresponding for this smily.
*/
public String getDefaultString() {
return this.smileyStrings[0];
}
/**
* Returns the identifier of the image corresponding to this smily.
* @return the identifier of the image corresponding to this smily.
*/
public ImageID getImageID() {
return this.imageID;
}
/**
* Returns the path of the image corresponding to this smily.
* @return the path of the image corresponding to this smily.
*/
public String getImagePath() {
return Images.getString(this.getImageID().getId());
}

Loading…
Cancel
Save