I want to create a DSL with graphical support in Eclipse. For the DSL I use Xtext, but cannot find good example on how to integrate the graphical part. I have not decided on one of the technologies to prove a graphical part and are prepared to use any one.
Does anybody now of good examples?
That depends on how you want to design the integration. What should be the main syntax for editing, text or graphics?
Here are some examples integrating Xtext with Graphiti, GMF, and Sirius:
https://github.com/spoenemann/xtext-gef
If you don't need graphical editing, but would like to generate graphical views for your text models, you could consider KIELER (esp. the KLighD component).
Related
I'm using the latest version of UML Designer (7.1) for Eclipse. I have to create a Sequence Diagram, but in the palettes there are no combined Fragments. All I have are actors and sync/async messages. In some tutorials I've seen seen palettes with comb. fragments.. But I don't have them. How is it possible?
The combined fragments are not implemented in UML Designer and there is no plan to implement them at the moment.
As UML Designer is based on Eclipse Sirius, it is possible to do it and maybe you saw the same kind of features in another Sirius based modeler.
If you are interested in sponsoring us to implement this feature do not hesitate to comment the existing issue :
https://github.com/ObeoNetwork/UML-Designer/issues/175
First of all, I have seen many links on stackoverflow of integrating XText with GMF.
The most consistent tutorial I've seen so far was: http://www.eclipse.org/forums/index.php/mv/msg/472225/1036564/#msg_1036564
..But not even generate a textual editor in the final step (only GMF editor).
I also saw the documentation, but I can not understand what they suggest in this link: http://www.eclipse.org/Xtext/documentation.html#gmf_integration
So I wonder if anyone knows how to integrate effectively the GMF with Xtext with an existing ecore! Use the XText 2.0.4.
Thank you!
Depending on how fixed you are on using GMF, you may want to look at Graphiti (built on GEF).
Graphiti is an Eclipse-based graphics framework that enables rapid development of state-of-the-art diagram editors for domain models. Graphiti can use EMF-based domain models very easily but can deal with any Java-based objects on the domain side as well.
There is an Eclipse Labs project for creation of Graphiti editors using an XText DSL, called Spray.
This project aims to provide one or more Domain Specific Languages (DSL) to describe Visual DSL Editors against the Graphiti runtime, and provide code generation to create the boilerplate code for realizing the implementation against the Graphiti framework. Potentially the Spray DSL can be used to generate code for other frameworks as well.
You can import your DSL ecore model into Spray, and using references to your DSL's types create a graphical editor with relatively little boilerplate. The presentation at CodeGen 2012 (SprayCodeGeneration2012.pdf on the Google Code link above) highlights some of Spray's features.
I have been working on a project model and pretty much completed it. Now I must implement the view of the project. I like eclipse view layout very much and tried to implement like this but I couln't. And then download source code of eclipse but couldn't find my specific code snippet in all of the source code. I mean I want to take basic layout implementation like eclipse Coolbar,ctabfolder and events. any suggections ?
Thanks.
If you like the Eclipse look and feel and the components used, you should have a look into the technologies used with Eclipse:
SWT is the GUI toolkit. It differs from Swing in that it uses the native widgets, if possible. This makes an application using it behave more like a native application than Swing does, which has its own set of components. You will find the raw components that you mention here.
JFace is an application framework based on SWT. It provides higher level conceptual components.
Eclipse RCP is a platform for building application. It takes away some common tasks of application building but, of course, you need to learn the concepts first.
Swing has similar components, but does not use the native widgets. It draws them itself. In my opinion Swing is easier to learn and to use but the results of SWT are often nicer - you can often "feel" that a Swing application behaves not completely right. It is better if Swing applications do not try to mimic the native look and feel to avoid the uncanny valley effect. So expect your resulting application to look and feel different.
There are more documentation and third-party libraries available for Swing, for example the very nice Netbeans RCP that let's you easily build applications.
What you are looking for is a docking framework. What the best framework is is open for debate.
You might have a look at this question for a list of popular frameworks
Is there a visual software tool (no batch coding/programming language) which can enable an end user to create complex branching logic like this tool : http://www.visuallogic.org/VLTutorial.html . Any eclipse plgun-in similar to this. I want that complex logic expressed by the end user to be represented in XML form
A set of plug-ins called vIDE might help you - it's a tool based on GMF I am currently developing. You can check out the project here.
It's still far from stable or finished, but you can draw flowcharts in it which get dynamically converted to Ecore models (which in term can be exported to XML).
My current effort is to support generation of executable Python code from the drawn flowchart.
Take a look at UniMod
In term of pure flowchart diagrams (and not UML diagrams), I didn't find anything recent.
flowchartstudio is not supported on recent Eclipse version
flowchart4j (not free) is interesting (for Java programs, so no XML representation)
DRAKON Editor
http://drakon-editor.sourceforge.net/
It it supports visual programming in several programming languages, including Java, Processing.org, D, C#, C/C++ (with Qt support), Python, Tcl, Javascript, Lua and Erlang.
Why to use DRAKON than other diagramming systems?
No line intersections. You will never find in DRAKON diagram two or
more lines intersecting each other! Not seen in other diagramming
systems!
Silhouette structure. It allows to break one diagram in to several
logical parts. Not seen in other diagramming systems!
No slanting or curved lines. Only straight lines with right angles.
Icons are placed only on vertical lines.
Branching is done in a simple, visible and consistent way.
Each diagram has one entry and one exit.
More about DRAKON here:
http://en.wikipedia.org/wiki/DRAKON
Take a lool at TUM.CMS.VplControl
I am looking to create an editor and I was wondering if there was a Swing library which Eclipse uses for its main editor. It may be something quite basic, but I am looking for the drop down menus which come when you press full stop. Strings become symbols rather than just text.
Eclipse is rather SWT-based than Swing-based.
As for a custom editor, you could look into an eclipse-GMF-EMF-based editor with XText
Xtext is a framework for development of textual domain specific languages (DSLs).
Just describe your very own DSL using Xtext's simple EBNF grammar language and the generator will create a parser, an AST-meta model (implemented in EMF) as well as a full-featured Eclipse text editor from that.
alt text http://www.eclipse.org/Xtext/images/screenshot-title.png
The Framework integrates with technology from Eclipse Modeling such as EMF, GMF, M2T and parts of EMFT.
Development with Xtext is optimized for short turn-arounds, so that adding new features to an existing DSL is a matter of minutes. Still sophisticated programming languages can be implemented.
Actually I think you want to consider developing an Eclipse RCP application which involves using SWT, JFace and other parts of the Eclipse platform. There are many layers of editor support which are in the Platform Text component, this is what the Eclipse JDT editors are based on. The modelling stuff (GMF, EMF, etc) is probably much more than what you want. The AbstractTextEditor class in org.eclipse.ui.texteditor is a good place to start. RCP gets you a lot of other stuff as far as helping you to manage the objects you are editing, but you don't necessarily need to use this.
There are likely Eclipse corner (on eclipse.org) articles on how to do this, but the specific one escapes me now. I always just look at the code.