mirror of
https://github.com/Minres/RDL-Editor.git
synced 2025-07-14 03:33:25 +02:00
Cleanup and fix of old settings
This commit is contained in:
@ -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};
|
||||
}
|
||||
}
|
@ -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
|
||||
|
@ -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() {
|
||||
}
|
||||
}
|
@ -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!
|
||||
'''
|
||||
)
|
||||
}
|
||||
}
|
@ -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 {
|
||||
|
||||
}
|
@ -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»!
|
||||
''')
|
||||
])
|
||||
}
|
||||
}
|
@ -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);
|
||||
}
|
||||
|
||||
}
|
@ -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>
|
Reference in New Issue
Block a user