org.mailster.gui.prefs.widgets
Class DialogMessageArea

java.lang.Object
  extended by org.mailster.gui.prefs.widgets.DialogMessageArea

public class DialogMessageArea
extends java.lang.Object

The DialogMessageArea is a resusable component for adding an accessible message area to a dialog.

When the message is normal a CLabel is used but an errors replaces the message area with a non editable text that can take focus for use by screen readers.

Author:
Sebastian Machhausen, Edouard De Oliveira

Field Summary
static org.eclipse.swt.graphics.Color[] DEFAULT_GRADIENT_BACKGROUND
          The gradient used for banner titles
private  java.lang.String lastMessageText
          The last message text
private  int lastMessageType
          The last message type
private  org.eclipse.swt.widgets.Composite messageComposite
          The container to hold message and message Image
private  org.eclipse.swt.widgets.Label messageImageLabel
          The label to hold the Image of the message
private  org.eclipse.swt.widgets.Text messageText
          The Text component to hold the message
private  org.eclipse.swt.custom.CLabel titleLabel
          The label to hold the title
 
Constructor Summary
DialogMessageArea()
           
 
Method Summary
 void clearErrorMessage()
          Clears the error message.
 void createContents(org.eclipse.swt.widgets.Composite parent)
          Create the contents for the receiver.
 void restoreTitle()
          Enables the title and disable the message text and image.
 void setMessageLayoutData(java.lang.Object layoutData)
          Set the layoutData for the messageArea.
 void setTitleLayoutData(java.lang.Object layoutData)
          Set the layoutData for the title area.
 void showTitle(java.lang.String titleMessage, org.eclipse.swt.graphics.Image titleImage)
          Show the title.
 void updateText(java.lang.String newMessage, int newType)
          Show the new message in the message text and update the image.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEFAULT_GRADIENT_BACKGROUND

public static final org.eclipse.swt.graphics.Color[] DEFAULT_GRADIENT_BACKGROUND
The gradient used for banner titles


messageText

private org.eclipse.swt.widgets.Text messageText
The Text component to hold the message


messageImageLabel

private org.eclipse.swt.widgets.Label messageImageLabel
The label to hold the Image of the message


messageComposite

private org.eclipse.swt.widgets.Composite messageComposite
The container to hold message and message Image


lastMessageText

private java.lang.String lastMessageText
The last message text


lastMessageType

private int lastMessageType
The last message type


titleLabel

private org.eclipse.swt.custom.CLabel titleLabel
The label to hold the title

Constructor Detail

DialogMessageArea

public DialogMessageArea()
Method Detail

createContents

public void createContents(org.eclipse.swt.widgets.Composite parent)
Create the contents for the receiver.

Parameters:
parent - the Composite that the children will be created in

setTitleLayoutData

public void setTitleLayoutData(java.lang.Object layoutData)
Set the layoutData for the title area. In most cases this will be a copy of the layoutData used in setMessageLayoutData.

Parameters:
layoutData - the layoutData for the title
See Also:
setMessageLayoutData(Object)

setMessageLayoutData

public void setMessageLayoutData(java.lang.Object layoutData)
Set the layoutData for the messageArea. In most cases this will be a copy of the layoutData used in setTitleLayoutData.

Parameters:
layoutData - the layoutData for the message area composite.
See Also:
setTitleLayoutData(Object)

showTitle

public void showTitle(java.lang.String titleMessage,
                      org.eclipse.swt.graphics.Image titleImage)
Show the title.

Parameters:
titleMessage - String for the titke
titleImage - Image or null

restoreTitle

public void restoreTitle()
Enables the title and disable the message text and image.


updateText

public void updateText(java.lang.String newMessage,
                       int newType)
Show the new message in the message text and update the image. Base the background color on whether or not there are errors.

Parameters:
newMessage - The new value for the message
newType - One of the IMessageProvider constants. If newType is IMessageProvider.NONE show the title.
See Also:
IMessageProvider

clearErrorMessage

public void clearErrorMessage()
Clears the error message. Restore the previously displayed message if there is one, if not restore the title label.