blob: 72046be193ea55d45081a68c83168618eecb462a [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2013 RCP Vision (http://www.rcp-vision.com) 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:
* Lorenzo Bettini - initial API and implementation
*******************************************************************************/
package org.eclipse.emf.parsley.generator.common
class EmfParsleyViewFilesGenerator {
def generateConcreteForResourceTreeView(String projectName, String className, String extendsClass)
'''
package «projectName»;
import org.eclipse.emf.parsley.views.«extendsClass»;
import org.eclipse.emf.common.util.URI;
public class «className» extends «extendsClass» {
@Override
protected URI createResourceURI() {
// TODO Insert here the resource URI
return null;
}
}
'''
def generateConcreteForResourceTableView(String projectName, String simpleName, String extendsClass)
'''
package «projectName»;
import org.eclipse.emf.parsley.views.«extendsClass»;
import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.resource.Resource;
public class «simpleName» extends «extendsClass» {
@Override
protected Object getContents(Resource resource) {
// TODO How to reach the contents from the resource
return null;
}
@Override
protected EClass getEClass() {
// TODO Insert here the EClass to be represented
return null;
}
@Override
protected URI createResourceURI() {
// TODO Insert here the resource URI
return null;
}
}
'''
def generateConcreteForOnSelectionTableView(String projectName, String simpleName)
'''
package «projectName»;
import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.emf.parsley.views.AbstractOnSelectionTableView;
public class «simpleName» extends AbstractOnSelectionTableView {
@Override
protected EStructuralFeature getEStructuralFeature() {
// TODO How to reach the contents from the selected object
return null;
}
}
'''
def generateConcreteForOnSelectionTableFormView(String projectName, String simpleName)
'''
package «projectName»;
import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.emf.parsley.views.AbstractOnSelectionTableFormView;
public class «simpleName» extends AbstractOnSelectionTableFormView {
@Override
protected EStructuralFeature getEStructuralFeature() {
// TODO How to reach the contents from the selected object
return null;
}
}
'''
def generateTreeFormView(String projectName, String simpleName)
'''
package «projectName»;
import org.eclipse.emf.parsley.views.AbstractSaveableTreeFormView;
import org.eclipse.emf.common.util.URI;
public class «simpleName»TreeFormView extends AbstractSaveableTreeFormView {
@Override
protected URI createResourceURI() {
// TODO Auto-generated method stub
return null;
}
}
'''
def generateTableView(String projectName, String simpleName)
'''
package «projectName»;
import org.eclipse.emf.parsley.views.AbstractSaveableTableView;
import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.resource.Resource;
public class «simpleName»TableView extends AbstractSaveableTableView {
@Override
protected Object getContents(Resource resource) {
// TODO Auto-generated method stub
return null;
}
@Override
protected EClass getEClass() {
// TODO Auto-generated method stub
return null;
}
@Override
protected URI createResourceURI() {
// TODO Auto-generated method stub
return null;
}
}
'''
def generatePluginXml(String factoryClass, String qualifiedNameView)
'''
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<plugin>
<extension
point="org.eclipse.ui.views">
<view
class="«factoryClass»:«qualifiedNameView»"
id="«qualifiedNameView»"
name="Form View"
restorable="true"/>
</extension>
<extension
point="org.eclipse.ui.perspectiveExtensions">
<perspectiveExtension
targetID="*">
<view
id="«qualifiedNameView»"
minimized="false"
ratio="100"
relationship="stack"
relative="org.eclipse.ui.editorss"
visible="true">
</view>
</perspectiveExtension>
</extension>
</plugin>
'''
}