Package org.locationtech.udig.browser.ui

Source Code of org.locationtech.udig.browser.ui.CatalogueBrowserWizard

/*
*    uDig - User Friendly Desktop Internet GIS client
*    http://udig.refractions.net
*    (C) 2012, Refractions Research Inc.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* (http://www.eclipse.org/legal/epl-v10.html), and the Refractions BSD
* License v1.0 (http://udig.refractions.net/files/bsd3-v10.html).
*/
package org.locationtech.udig.browser.ui;

import java.net.URL;

import org.locationtech.udig.browser.ExternalCatalogueImportPage;
import org.locationtech.udig.browser.internal.Messages;
import org.locationtech.udig.catalog.ui.IDataWizard;

import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.wizard.IWizardPage;
import org.eclipse.jface.wizard.WizardPage;
import org.eclipse.swt.browser.LocationListener;
import org.eclipse.ui.IViewPart;
import org.eclipse.ui.IWorkbench;
import org.eclipse.ui.IWorkbenchPage;
import org.eclipse.ui.PartInitException;
import org.eclipse.ui.PlatformUI;

/**
* Wizard used to select a catalog for display in the BrowserView
* <p>
*
* </p>
* @author mleslie
* @since 1.0.0
*/
public class CatalogueBrowserWizard extends IDataWizard {

    public CatalogueBrowserWizard() {
        super();
    }
   
    @Override
    public boolean canFinish() {
        IWizardPage page = getContainer().getCurrentPage();
        if(page instanceof ExternalCatalogueImportPage) {
            return true;
        }
        if(page instanceof BrowserSelectionPage) {
            return ((BrowserSelectionPage)page).canFinish();
        }
        return false;
    }
   
    @Override
    protected WizardPage[] getPrimaryPages() {
    return new WizardPage[]{new BrowserSelectionPage()};
    }
   
    public void init( IWorkbench workbench, IStructuredSelection selection ) {
        super.init(workbench, selection);
       
        setWindowTitle(Messages.CatalogueBrowserWizard_windowTitle);
//        setDefaultPageImageDescriptor( Images.getDescriptor( ImageConstants.DATA_WIZBAN ));
    }

    @Override
    public boolean performFinish() {
        IWizardPage ipage = getContainer().getCurrentPage();
        String name = null;
        URL url = null;
        //String viewName = null;
        ImageDescriptor image = null;
        LocationListener listen = null;
        if(ipage instanceof BrowserSelectionPage) {
            BrowserSelectionPage page = (BrowserSelectionPage)ipage;
            listen = page.getListener();
            url = page.getUrl();
            image = page.getIconDescriptor();
            name = page.getTitle();
            //viewName = page.getViewName();
        } else {
            ExternalCatalogueImportPage page = (ExternalCatalogueImportPage)ipage;
               
            //if import page returns a new page, then an error occured
            IWizardPage next = page.getNextPage();
            if (next != null) {
                //error,
                getContainer().showPage(next);
                return false;
            }
            listen = page.getListener();
            url = page.getURL();
            image = page.getIconDescriptor();
            name = page.getTitle();
            //viewName = page.getViewName();
        }
        IWorkbenchPage wbPage  = PlatformUI.getWorkbench().
                getActiveWorkbenchWindow().getActivePage();
        IViewPart part;
        try {
            part = wbPage.showView(BrowserContainerView.VIEW_ID);
        } catch (PartInitException e) {
            return false;
        }
        if(part instanceof BrowserContainerView) {
            BrowserContainerView view = (BrowserContainerView)part;
            view.addTab(name, url, image, listen);
        } else {
            return false;
        }
        return true;
    }

}
TOP

Related Classes of org.locationtech.udig.browser.ui.CatalogueBrowserWizard

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.