/*
* Copyright (c) 2004-2011 Marco Maccaferri and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Marco Maccaferri - initial API and implementation
*/
package org.eclipsetrader.ui.internal.markets;
import org.eclipse.jface.action.Action;
import org.eclipse.jface.window.Window;
import org.eclipse.jface.wizard.WizardDialog;
import org.eclipse.swt.widgets.Shell;
import org.eclipsetrader.core.internal.markets.MarketService;
import org.eclipsetrader.ui.internal.UIActivator;
import org.osgi.framework.BundleContext;
import org.osgi.framework.ServiceReference;
public class NewMarketAction extends Action {
private Shell shell;
public NewMarketAction(Shell shell) {
super("Market");
this.shell = shell;
}
/* (non-Javadoc)
* @see org.eclipse.jface.action.Action#run()
*/
@Override
public void run() {
BundleContext context = UIActivator.getDefault().getBundle().getBundleContext();
ServiceReference serviceReference = context.getServiceReference(MarketService.class.getName());
MarketService marketService = (MarketService) context.getService(serviceReference);
MarketWizard wizard = new MarketWizard(marketService);
WizardDialog dlg = new WizardDialog(shell, wizard);
dlg.setMinimumPageSize(450, 300);
if (dlg.open() == Window.OK) {
marketService.addMarket(wizard.getMarket());
}
context.ungetService(serviceReference);
}
}