blob: 83d2a2235f43304f9823bfdc31ce265fe74a680d [file] [log] [blame]
/*
* Copyright (c) 2011, 2012, 2015 Eike Stepper (Berlin, Germany) 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:
* Martin Fluegge - initial API and implementation
*/
package org.eclipse.emf.cdo.dawn.graphiti.wizards;
import org.eclipse.emf.cdo.dawn.ui.composites.CDOResourceNodeChooserComposite.ResourceChooserValidator;
import org.eclipse.emf.cdo.dawn.ui.wizards.DawnCreateNewDiagramResourceWizardPage;
import org.eclipse.emf.cdo.dawn.ui.wizards.DawnCreateNewResourceWizardPage;
import org.eclipse.emf.common.util.URI;
/**
* @author Martin Fluegge
*/
public class DawnGenericGraphitiWizard extends DawnBasicGraphitiWizard
{
private DawnGraphitiyDiagramTypeSelectionWizardPage dawnSelectModelPage;
public DawnGenericGraphitiWizard()
{
super("", "graphiti");
}
@Override
public void addPages()
{
dawnSelectModelPage = new DawnGraphitiyDiagramTypeSelectionWizardPage("title");
addPage(dawnSelectModelPage);
dawnDiagramModelFilePage = new DawnCreateNewDiagramResourceWizardPage(diagramExtension, false, view)
{
@Override
public void setVisible(boolean visible)
{
if (visible)
{
URI uri = dawnDiagramModelFilePage.getURI();
String fileName = uri.lastSegment();
fileName = fileName.substring(0, fileName.length() - ("." + diagramExtension).length()); //$NON-NLS-1$
fileName += "." + diagramExtension;
dawnDomainModelFilePage.setResourceNamePrefix(fileName);
dawnDomainModelFilePage.setResourcePath(dawnDiagramModelFilePage.getResourcePath());
}
super.setVisible(visible);
}
};
dawnDiagramModelFilePage.setTitle("");
dawnDiagramModelFilePage.setDescription("");
dawnDiagramModelFilePage.setCreateAutomaticResourceName(true);
addPage(dawnDiagramModelFilePage);
dawnDomainModelFilePage = new DawnCreateNewResourceWizardPage("", true, view)
{
@Override
public void setVisible(boolean visible)
{
if (visible)
{
String extension = dawnSelectModelPage.getText();
URI uri = dawnDiagramModelFilePage.getURI();
String fileName = uri.lastSegment();
fileName = fileName.substring(0, fileName.length() - ("." + diagramExtension).length()); //$NON-NLS-1$
fileName += "." + extension;
dawnDomainModelFilePage.setResourceNamePrefix(fileName);
dawnDomainModelFilePage.setResourcePath(dawnDiagramModelFilePage.getResourcePath());
}
super.setVisible(visible);
}
};
dawnDomainModelFilePage.setTitle("");
dawnDomainModelFilePage.setDescription("");
// allows to connect to an existing resource
dawnDomainModelFilePage.setResourceValidationType(ResourceChooserValidator.VALIDATION_WARN);
addPage(dawnDomainModelFilePage);
}
@Override
protected String geTypeId()
{
return dawnSelectModelPage.getText();
}
}