/******************************************************************************* * Copyright 2011 Antti Havanko * * This file is part of Motiver.fi. * Motiver.fi is licensed under one open source license and one commercial license. * * Commercial license: This is the appropriate option if you want to use Motiver.fi in * commercial purposes. Contact license@motiver.fi for licensing options. * * Open source license: This is the appropriate option if you are creating an open source * application with a license compatible with the GNU GPL license v3. Although the GPLv3 has * many terms, the most important is that you must provide the source code of your application * to your users so they can be free to modify your application for their own needs. ******************************************************************************/ package com.delect.motiver.client.presenter; import com.google.gwt.event.shared.SimpleEventBus; import com.google.gwt.user.client.Window; import com.delect.motiver.client.AppController; import com.delect.motiver.client.event.InfoMessageEvent; import com.delect.motiver.client.presenter.InfoMessagePresenter.MessageColor; import com.delect.motiver.client.service.MyServiceAsync; import com.delect.motiver.client.view.Display; import com.extjs.gxt.ui.client.GXT; import com.extjs.gxt.ui.client.event.BaseEvent; import com.extjs.gxt.ui.client.event.Listener; /** * Shows error message * @author Antti * */ public class BrowserCheckPresenter extends Presenter { /** * Abstract class for view to extend */ public abstract static class BrowserCheckDisplay extends Display { } private BrowserCheckDisplay display = null; /** * * @param rpcService * @param eventBus * @param display */ public BrowserCheckPresenter(MyServiceAsync rpcService, SimpleEventBus eventBus, BrowserCheckDisplay display) { super(rpcService, eventBus); this.display = display; } @Override public Display getView() { return display; } @Override public void onRun() { //firefox < 4.00 if(GXT.isGecko && !AppController.IsGecko40 && !AppController.IsGecko50) { final Listener<BaseEvent> listener = new Listener<BaseEvent>() { @Override public void handleEvent(BaseEvent be) { Window.open("http://www.mozilla.com", "_blank", ""); } }; final InfoMessageEvent event = new InfoMessageEvent(MessageColor.COLOR_DEFAULT, AppController.Lang.OldBrowserAlert()); event.setClickListener(listener); fireEvent(event); } else if(GXT.isIE6 || GXT.isIE7) { final Listener<BaseEvent> listener = new Listener<BaseEvent>() { @Override public void handleEvent(BaseEvent be) { Window.open("http://www.microsoft.com/ie", "_blank", ""); } }; final InfoMessageEvent event = new InfoMessageEvent(MessageColor.COLOR_DEFAULT, AppController.Lang.OldBrowserAlert()); event.setClickListener(listener); fireEvent(event); } else if(GXT.isOpera) { final Listener<BaseEvent> listener = new Listener<BaseEvent>() { @Override public void handleEvent(BaseEvent be) { Window.open("http://www.google.com/chrome", "_blank", ""); } }; final InfoMessageEvent event = new InfoMessageEvent(MessageColor.COLOR_DEFAULT, AppController.Lang.NotSupportedAlert()); event.setClickListener(listener); fireEvent(event); } //stop presenter else { stop(); } } }