Cleanup and fix of old settings

This commit is contained in:
2018-06-04 18:49:04 +02:00
parent acb5b95f5a
commit c7d8d6c417
44 changed files with 408 additions and 299 deletions

View File

@ -1,17 +0,0 @@
package com.minres.rdl.ui;
import org.eclipse.xtext.ui.XtextProjectHelper;
import com.minres.rdl.ui.wizard.RDLProjectCreator;
public class JDTFreeStructuralProjectCreator extends RDLProjectCreator {
@Override
protected String[] getProjectNatures() {
return new String[] {XtextProjectHelper.NATURE_ID};
}
@Override
protected String[] getBuilders() {
return new String[] {XtextProjectHelper.BUILDER_ID};
}
}

View File

@ -3,16 +3,15 @@
*/
package com.minres.rdl.ui
import com.minres.structural.ui.hyperlink.MyHyperlinkHelper
import com.minres.structural.ui.hyperlink.MyXtextHyperlink
import org.eclipse.xtend.lib.annotations.FinalFieldsConstructor
import org.eclipse.xtext.ui.editor.hover.IEObjectHoverProvider
import org.eclipse.xtext.documentation.IEObjectDocumentationProvider
import org.eclipse.xtext.ui.wizard.IProjectCreator
import org.eclipse.xtext.ui.editor.hover.IEObjectHoverProvider
import org.eclipse.xtext.ui.editor.hyperlinking.HyperlinkHelper
import org.eclipse.xtext.ui.editor.hyperlinking.XtextHyperlink
import org.eclipse.xtext.ui.resource.IResourceSetProvider
import org.eclipse.xtext.ui.resource.SimpleResourceSetProvider
import org.eclipse.xtext.ui.editor.hyperlinking.HyperlinkHelper
import com.minres.structural.ui.hyperlink.MyHyperlinkHelper
import org.eclipse.xtext.ui.editor.hyperlinking.XtextHyperlink
import com.minres.structural.ui.hyperlink.MyXtextHyperlink
/**
* Use this class to register components to be used within the Eclipse IDE.
@ -28,9 +27,9 @@ class RDLUiModule extends AbstractRDLUiModule {
typeof(RDLEObjectDocumentationProvider);
}
override Class<? extends IProjectCreator> bindIProjectCreator() {
return JDTFreeStructuralProjectCreator;
}
// override Class<? extends IProjectCreator> bindIProjectCreator() {
// return JDTFreeStructuralProjectCreator;
// }
override Class<? extends IResourceSetProvider> bindIResourceSetProvider() {
return SimpleResourceSetProvider

View File

@ -0,0 +1,18 @@
package com.minres.rdl.ui.wizard;
import org.eclipse.osgi.util.NLS;
public class Messages extends NLS {
private static final String BUNDLE_NAME = "com.minres.rdl.ui.wizard.messages"; //$NON-NLS-1$
public static String HelloWorldProject_Label;
public static String HelloWorldProject_Description;
static {
// initialize resource bundle
NLS.initializeMessages(BUNDLE_NAME, Messages.class);
}
private Messages() {
}
}

View File

@ -1,26 +0,0 @@
/*
* generated by Xtext 2.14.0
*/
package com.minres.rdl.ui.wizard
import com.google.inject.Inject
import org.eclipse.xtext.generator.IFileSystemAccess2
import org.eclipse.xtext.resource.FileExtensionProvider
class RDLNewProjectWizardInitialContents {
@Inject
FileExtensionProvider fileExtensionProvider
def generateInitialContents(IFileSystemAccess2 fsa) {
fsa.generateFile(
"src/model/Model." + fileExtensionProvider.primaryFileExtension,
'''
/*
* This is an example model
*/
Hello Xtext!
'''
)
}
}

View File

@ -1,10 +0,0 @@
/*
* generated by Xtext 2.14.0
*/
package com.minres.rdl.ui.wizard;
import org.eclipse.xtext.ui.wizard.DefaultProjectInfo;
public class RDLProjectInfo extends DefaultProjectInfo {
}

View File

@ -0,0 +1,68 @@
/*
* generated by Xtext 2.14.0
*/
package com.minres.rdl.ui.wizard
import org.eclipse.core.runtime.Status
import org.eclipse.jdt.core.JavaCore
import org.eclipse.xtext.ui.XtextProjectHelper
import org.eclipse.xtext.ui.util.PluginProjectFactory
import org.eclipse.xtext.ui.wizard.template.IProjectGenerator
import org.eclipse.xtext.ui.wizard.template.IProjectTemplateProvider
import org.eclipse.xtext.ui.wizard.template.ProjectTemplate
import static org.eclipse.core.runtime.IStatus.*
/**
* Create a list with all project templates to be shown in the template new project wizard.
*
* Each template is able to generate one or more projects. Each project can be configured such that any number of files are included.
*/
class RDLProjectTemplateProvider implements IProjectTemplateProvider {
override getProjectTemplates() {
#[new HelloWorldProject]
}
}
@ProjectTemplate(label="Hello World", icon="project_template.png", description="<p><b>Hello World</b></p>
<p>This is a parameterized hello world for RDL. You can set a parameter to modify the content in the generated file
and a parameter to set the package the file is created in.</p>")
final class HelloWorldProject {
val advanced = check("Advanced:", false)
val advancedGroup = group("Properties")
val name = combo("Name:", #["Xtext", "World", "Foo", "Bar"], "The name to say 'Hello' to", advancedGroup)
val path = text("Package:", "mydsl", "The package path to place the files in", advancedGroup)
override protected updateVariables() {
name.enabled = advanced.value
path.enabled = advanced.value
if (!advanced.value) {
name.value = "Xtext"
path.value = "rdl"
}
}
override protected validate() {
if (path.value.matches('[a-z][a-z0-9_]*(/[a-z][a-z0-9_]*)*'))
null
else
new Status(ERROR, "Wizard", "'" + path + "' is not a valid package name")
}
override generateProjects(IProjectGenerator generator) {
generator.generate(new PluginProjectFactory => [
projectName = projectInfo.projectName
location = projectInfo.locationPath
projectNatures += #[JavaCore.NATURE_ID, "org.eclipse.pde.PluginNature", XtextProjectHelper.NATURE_ID]
builderIds += JavaCore.BUILDER_ID
folders += "src"
addFile('''src/«path»/Model.rdl''', '''
/*
* This is an example model
*/
Hello «name»!
''')
])
}
}

View File

@ -1,14 +0,0 @@
/*
* generated by Xtext 2.14.0
*/
package com.minres.rdl.ui.wizard;
import org.eclipse.ui.dialogs.WizardNewProjectCreationPage;
public class RDLWizardNewProjectCreationPage extends WizardNewProjectCreationPage {
public RDLWizardNewProjectCreationPage(String pageName) {
super(pageName);
}
}

View File

@ -0,0 +1,2 @@
HelloWorldProject_Label=Hello World
HelloWorldProject_Description=<p><b>Hello World</b></p> <p>This is a parameterized hello world for RDL. You can set a parameter to modify the content in the generated file and a parameter to set the package the file is created in.</p>