/*
* ShowMessageGuiObserver.java
*
* Copyright 2004 (C) Frugal <frugal@purplewombat.co.uk>
*
* This library is free software; you can redistribute it and/or modify it under
* the terms of the GNU Lesser General Public License as published by the Free
* Software Foundation; either version 2.1 of the License, or (at your option)
* any later version.
*
* This library is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
* details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this library; if not, write to the Free Software Foundation, Inc.,
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
* Created on 18-Dec-2003
*
* Current Ver: $Revision$
*
*
*
*/
package pcgen.gui2.util;
import pcgen.cdom.base.Constants;
import pcgen.facade.core.UIDelegate;
import pcgen.core.utils.MessageType;
import pcgen.core.utils.MessageWrapper;
import java.util.Observable;
import java.util.Observer;
public class ShowMessageGuiObserver implements Observer
{
private final UIDelegate uiDelegate;
public ShowMessageGuiObserver(UIDelegate uiDelegate)
{
this.uiDelegate = uiDelegate;
}
/*
* (non-Javadoc)
*
* @see java.util.Observer#update(java.util.Observable, java.lang.Object)
*/
@Override
public void update(Observable o, Object arg)
{
if (arg instanceof MessageWrapper)
{
showMessageDialog((MessageWrapper) arg);
}
}
public void showMessageDialog(MessageWrapper messageWrapper)
{
MessageType mt = messageWrapper.getMessageType();
String title = messageWrapper
.getTitle();
if (title == null)
{
title = Constants.APPLICATION_NAME;
}
String message = String.valueOf(messageWrapper.getMessage());
if (mt.equals(MessageType.WARNING))
{
uiDelegate.showWarningMessage(title, message);
}
else if (mt.equals(MessageType.ERROR))
{
uiDelegate.showErrorMessage(title, message);
}
else
{
uiDelegate.showInfoMessage(title, message);
}
}
}