diff options
author | Vincenzo Caselli | 2013-08-21 10:21:38 +0000 |
---|---|---|
committer | Vincenzo Caselli | 2013-08-21 10:21:38 +0000 |
commit | b33ea8025c3ea2a6793449def0687f6401f4b478 (patch) | |
tree | 7451f55cdfeecf90157e7ee8acbf0cd8be314bbe /doc | |
parent | 230ef01cf70bbc536b1384ec5eb341dd810ae441 (diff) | |
download | org.eclipse.emf-parsley-b33ea8025c3ea2a6793449def0687f6401f4b478.tar.gz org.eclipse.emf-parsley-b33ea8025c3ea2a6793449def0687f6401f4b478.tar.xz org.eclipse.emf-parsley-b33ea8025c3ea2a6793449def0687f6401f4b478.zip |
Added Downloads page and removed XDoc samples from index
Diffstat (limited to 'doc')
12 files changed, 489 insertions, 421 deletions
diff --git a/doc/org.eclipse.emf.parsley.doc/contents/00-Main.html b/doc/org.eclipse.emf.parsley.doc/contents/00-Main.html index 8c2dab466..91119a72b 100644 --- a/doc/org.eclipse.emf.parsley.doc/contents/00-Main.html +++ b/doc/org.eclipse.emf.parsley.doc/contents/00-Main.html @@ -11,13 +11,7 @@ <h1>Emf Parsley Guide</h1> <ol><li><a href="00-Main_4.html#Emf%20Parsley%20Guide_4">Documentation</a> <ol> <li><a href="01-Introduction.html#Introduction">Introduction</a> - <ol> <li><a href="01-Introduction.html#reflectiveComponents">Reflective Components</a> - </li> - <li><a href="01-Introduction.html#easyToCustomize">Easy to Customize</a> - </li> - <li><a href="01-Introduction.html#architecture">Architecture</a> - </li> - </ol></li> + </li> <li><a href="02-GettingStarted.html#GettingStarted">Getting Started</a> <ol> <li><a href="02-GettingStarted.html#Installation">Installation</a> </li> @@ -142,20 +136,8 @@ </li> </ol></li> </ol></li> - <li><a href="samples.html#samples">Xdoc Samples</a> - <ol> <li><a href="samples.html#Links">References</a> - </li> - <li><a href="samples.html#CodeSections">Code Sections</a> - </li> - <li><a href="samples.html#Lists">Lists and Tables</a> - </li> - <li><a href="samples.html#Tables">Tables</a> - </li> - <li><a href="samples.html#TODO">TODO</a> - </li> - <li><a href="samples.html#Images">Images</a> - </li> - </ol></li> + <li><a href="Downloads.html#EmfParsleyDownloads">EMF Parsley - Downloads</a> + </li> </ol></li> </ol></body> </html> diff --git a/doc/org.eclipse.emf.parsley.doc/contents/00-Main_4.html b/doc/org.eclipse.emf.parsley.doc/contents/00-Main_4.html index 933bdfc5f..2ec656541 100644 --- a/doc/org.eclipse.emf.parsley.doc/contents/00-Main_4.html +++ b/doc/org.eclipse.emf.parsley.doc/contents/00-Main_4.html @@ -11,13 +11,7 @@ <a name="Emf%20Parsley%20Guide_4"></a> <h1>Documentation</h1> <ol><li><a href="01-Introduction.html#Introduction">Introduction</a> -<ol> <li><a href="01-Introduction.html#reflectiveComponents">Reflective Components</a> - </li> - <li><a href="01-Introduction.html#easyToCustomize">Easy to Customize</a> - </li> - <li><a href="01-Introduction.html#architecture">Architecture</a> - </li> -</ol></li> +</li> <li><a href="02-GettingStarted.html#GettingStarted">Getting Started</a> <ol> <li><a href="02-GettingStarted.html#Installation">Installation</a> </li> diff --git a/doc/org.eclipse.emf.parsley.doc/contents/00-Main_5.html b/doc/org.eclipse.emf.parsley.doc/contents/00-Main_5.html index 46b658e3e..ec110ef43 100644 --- a/doc/org.eclipse.emf.parsley.doc/contents/00-Main_5.html +++ b/doc/org.eclipse.emf.parsley.doc/contents/00-Main_5.html @@ -22,19 +22,7 @@ </li> </ol></li> </ol></li> -<li><a href="samples.html#samples">Xdoc Samples</a> -<ol> <li><a href="samples.html#Links">References</a> - </li> - <li><a href="samples.html#CodeSections">Code Sections</a> - </li> - <li><a href="samples.html#Lists">Lists and Tables</a> - </li> - <li><a href="samples.html#Tables">Tables</a> - </li> - <li><a href="samples.html#TODO">TODO</a> - </li> - <li><a href="samples.html#Images">Images</a> - </li> -</ol></li> +<li><a href="Downloads.html#EmfParsleyDownloads">EMF Parsley - Downloads</a> +</li> </ol></body> </html> diff --git a/doc/org.eclipse.emf.parsley.doc/contents/01-Introduction.html b/doc/org.eclipse.emf.parsley.doc/contents/01-Introduction.html index 641cd8867..caa21c7a7 100644 --- a/doc/org.eclipse.emf.parsley.doc/contents/01-Introduction.html +++ b/doc/org.eclipse.emf.parsley.doc/contents/01-Introduction.html @@ -23,11 +23,5 @@ The framework provides basic UI implementations which are customizable with Injection mechanism (based on <a href="http://code.google.com/p/google-guice">Google Guice</a>). </p> -<a name="reflectiveComponents"></a> -<h2>Reflective Components</h2> -<a name="easyToCustomize"></a> -<h2>Easy to Customize</h2> -<a name="architecture"></a> -<h2>Architecture</h2> </body> </html> diff --git a/doc/org.eclipse.emf.parsley.doc/contents/03-Components.html b/doc/org.eclipse.emf.parsley.doc/contents/03-Components.html index 338c1a983..bd429be93 100644 --- a/doc/org.eclipse.emf.parsley.doc/contents/03-Components.html +++ b/doc/org.eclipse.emf.parsley.doc/contents/03-Components.html @@ -70,8 +70,10 @@ to create such a component, like in the code below. <div class="literallayout"> <div class="incode"> <p class="code"> -formComposite = formFactory.createFormDetailComposite(parent, SWT.NONE);<br/> -formComposite.init(eObject);<br/> + formComposite = formFactory.createFormDetailComposite(parent, SWT.NONE); +<br/> + formComposite.init(eObject); +<br/> </p> </div> </div> diff --git a/doc/org.eclipse.emf.parsley.doc/contents/04-Customization.html b/doc/org.eclipse.emf.parsley.doc/contents/04-Customization.html index 1409015c0..66cd828f4 100644 --- a/doc/org.eclipse.emf.parsley.doc/contents/04-Customization.html +++ b/doc/org.eclipse.emf.parsley.doc/contents/04-Customization.html @@ -50,26 +50,42 @@ we show here only relevant parts to give an example: <div class="literallayout"> <div class="incode"> <p class="code"> -<span class="keyword">public</span> <span class="keyword">class</span> ValidateResourceSaveManager <span class="keyword">extends</span> ResourceSaveManager {<br/> -<br/> - @Override<br/> - <span class="keyword">protected</span> <span class="keyword">boolean</span> precondition(Resource resource) {<br/> - <span class="keyword">return</span> <span class="keyword">super</span>.precondition(resource) && validateModel(resource);<br/> - }<br/> -<br/> - <span class="keyword">protected</span> <span class="keyword">boolean</span> validateModel(Resource resource) {<br/> - <span class="keyword">for</span> (EObject eObject : resource.getContents()) {<br/> - Diagnostic diagnostic = Diagnostician.INSTANCE.validate(eObject);<br/> - <span class="keyword">if</span> (diagnostic.getSeverity() == Diagnostic.ERROR) {<br/> - <span class="comment">// SKIPPED: present the errors<br/> -</span> <span class="keyword">return</span> false;<br/> - } <span class="keyword">else</span> <span class="keyword">if</span> (diagnostic.getSeverity() == Diagnostic.WARNING) {<br/> - <span class="comment">// SKIPPED: present the warnings<br/> -</span> }<br/> - }<br/> - <span class="keyword">return</span> true;<br/> - }<br/> -}<br/> +<span class="keyword">public</span> <span class="keyword">class</span> ValidateResourceSaveManager <span class="keyword">extends</span> ResourceSaveManager { +<br/> + @Override +<br/> + <span class="keyword">protected</span> <span class="keyword">boolean</span> precondition(Resource resource) { +<br/> +<span class="keyword">return</span> <span class="keyword">super</span>.precondition(resource) && validateModel(resource); +<br/> + } +<br/> + <span class="keyword">protected</span> <span class="keyword">boolean</span> validateModel(Resource resource) { +<br/> +<span class="keyword">for</span> (EObject eObject : resource.getContents()) { +<br/> + Diagnostic diagnostic = Diagnostician.INSTANCE.validate(eObject); +<br/> + <span class="keyword">if</span> (diagnostic.getSeverity() == Diagnostic.ERROR) { +<br/> + <span class="comment">// SKIPPED: present the errors +<br/> +</span> <span class="keyword">return</span> false; +<br/> + } <span class="keyword">else</span> <span class="keyword">if</span> (diagnostic.getSeverity() == Diagnostic.WARNING) { +<br/> + <span class="comment">// SKIPPED: present the warnings +<br/> +</span> } +<br/> +} +<br/> +<span class="keyword">return</span> true; +<br/> + } +<br/> +} +<br/> </p> </div> </div> @@ -97,10 +113,14 @@ redefining buildMap and adding mappings. <div class="literallayout"> <div class="incode"> <p class="code"> -<span class="keyword">protected</span> <span class="keyword">void</span> buildMap(EClassToEStructuralFeatureMap map) {<br/> - <span class="keyword">super</span>.buildMap(map);<br/> - map.mapTo(LIBRARY,LIBRARY__NAME, ADDRESSABLE__ADDRESS);<br/> -}<br/> + <span class="keyword">protected</span> <span class="keyword">void</span> buildMap(EClassToEStructuralFeatureMap map) { +<br/> + <span class="keyword">super</span>.buildMap(map); +<br/> + map.mapTo(LIBRARY,LIBRARY__NAME, ADDRESSABLE__ADDRESS); +<br/> + } +<br/> </p> </div> </div> @@ -128,20 +148,31 @@ for instance by returning the features ordered according to their name <div class="literallayout"> <div class="incode"> <p class="code"> -<span class="keyword">public</span> <span class="keyword">class</span> OrderedEStructuralFeaturesProvider <br/> - <span class="keyword">extends</span> FeaturesProvider {<br/> -<br/> - @Inject<br/> - EStructuralFeatureNameComparator comparator;<br/> - <br/> - @Override<br/> - <span class="keyword">public</span> List<EStructuralFeature> getFeatures(EClass eClass) {<br/> - List<EStructuralFeature> features = <span class="keyword">super</span>.getFeatures(eClass);<br/> - Collections.sort(features, <br/> - <span class="keyword">new</span> EStructuralFeatureNameComparator());<br/> - <span class="keyword">return</span> features;<br/> - }<br/> -}<br/> +<span class="keyword">public</span> <span class="keyword">class</span> OrderedEStructuralFeaturesProvider +<br/> + <span class="keyword">extends</span> FeaturesProvider { +<br/> + @Inject +<br/> + EStructuralFeatureNameComparator comparator; +<br/> +<br/> + @Override +<br/> + <span class="keyword">public</span> List<EStructuralFeature> getFeatures(EClass eClass) { +<br/> +List<EStructuralFeature> features = <span class="keyword">super</span>.getFeatures(eClass); +<br/> +Collections.sort(features, +<br/> + <span class="keyword">new</span> EStructuralFeatureNameComparator()); +<br/> +<span class="keyword">return</span> features; +<br/> + } +<br/> +} +<br/> </p> </div> </div> @@ -162,25 +193,40 @@ not <em>address</em>) for <span class="inlinecode">Writer</span> (which inherits <div class="literallayout"> <div class="incode"> <p class="code"> -<span class="keyword">import</span> <span class="keyword">static</span> org.eclipse.emf.examples.extlibrary.EXTLibraryPackage.Literals.*;<br/> -<span class="keyword">import</span> org.eclipse.emf.parsley.ui.provider.EStructuralFeaturesProvider;<br/> -<br/> -<span class="keyword">public</span> <span class="keyword">class</span> LibraryEStructuralFeaturesProvider <span class="keyword">extends</span><br/> - FeaturesProvider {<br/> -<br/> - @Override<br/> - <span class="keyword">protected</span> <span class="keyword">void</span> buildMap(EClassToEStructuralFeatureMap map) {<br/> - <span class="keyword">super</span>.buildMap(map);<br/> - map.mapTo(LIBRARY,<br/> - LIBRARY__NAME, ADDRESSABLE__ADDRESS);<br/> - map.mapTo(PERSON,<br/> - PERSON__FIRST_NAME, PERSON__LAST_NAME,<br/> - ADDRESSABLE__ADDRESS);<br/> - map.mapTo(WRITER,<br/> - PERSON__FIRST_NAME, PERSON__LAST_NAME,<br/> - WRITER__BOOKS);<br/> - }<br/> -}<br/> +<span class="keyword">import</span> <span class="keyword">static</span> org.eclipse.emf.examples.extlibrary.EXTLibraryPackage.Literals.*; +<br/> +<span class="keyword">import</span> org.eclipse.emf.parsley.ui.provider.EStructuralFeaturesProvider; +<br/> +<span class="keyword">public</span> <span class="keyword">class</span> LibraryEStructuralFeaturesProvider <span class="keyword">extends</span> +<br/> +FeaturesProvider { +<br/> + @Override +<br/> + <span class="keyword">protected</span> <span class="keyword">void</span> buildMap(EClassToEStructuralFeatureMap map) { +<br/> +<span class="keyword">super</span>.buildMap(map); +<br/> +map.mapTo(LIBRARY, +<br/> + LIBRARY__NAME, ADDRESSABLE__ADDRESS); +<br/> +map.mapTo(PERSON, +<br/> + PERSON__FIRST_NAME, PERSON__LAST_NAME, +<br/> + ADDRESSABLE__ADDRESS); +<br/> +map.mapTo(WRITER, +<br/> + PERSON__FIRST_NAME, PERSON__LAST_NAME, +<br/> + WRITER__BOOKS); +<br/> + } +<br/> +} +<br/> </p> </div> </div> @@ -198,29 +244,44 @@ combine the two approaches (in that case the map built with <div class="literallayout"> <div class="incode"> <p class="code"> -<span class="keyword">import</span> <span class="keyword">static</span> org.eclipse.emf.examples.extlibrary.EXTLibraryPackage.Literals.*;<br/> -<span class="keyword">import</span> org.eclipse.emf.parsley.ui.provider.FeaturesProvider;<br/> -<br/> -<span class="keyword">public</span> <span class="keyword">class</span> LibraryEStructuralFeaturesAsStringsProvider <span class="keyword">extends</span><br/> - FeaturesProvider {<br/> -<br/> - @Override<br/> - <span class="keyword">protected</span> <span class="keyword">void</span> buildMap(EClassToEStructuralFeatureMap map) {<br/> - <span class="keyword">super</span>.buildMap(map);<br/> - map.mapTo(LIBRARY, LIBRARY__NAME, ADDRESSABLE__ADDRESS);<br/> - }<br/> -<br/> - @Override<br/> - <span class="keyword">protected</span> <span class="keyword">void</span> buildStringMap(<br/> - EClassToEStructuralFeatureAsStringsMap stringMap) {<br/> - <span class="keyword">super</span>.buildStringMap(stringMap);<br/> - stringMap.mapTo(PERSON.getInstanceClassName(), <span class="string">"firstName"</span>, <span class="string">"lastName"</span>,<br/> - <span class="string">"address"</span>);<br/> - stringMap.mapTo(WRITER.getInstanceClassName(), <span class="string">"firstName"</span>, <span class="string">"lastName"</span>,<br/> - <span class="string">"books"</span>);<br/> -<br/> - }<br/> -}<br/> +<span class="keyword">import</span> <span class="keyword">static</span> org.eclipse.emf.examples.extlibrary.EXTLibraryPackage.Literals.*; +<br/> +<span class="keyword">import</span> org.eclipse.emf.parsley.ui.provider.FeaturesProvider; +<br/> +<span class="keyword">public</span> <span class="keyword">class</span> LibraryEStructuralFeaturesAsStringsProvider <span class="keyword">extends</span> +<br/> +FeaturesProvider { +<br/> + @Override +<br/> + <span class="keyword">protected</span> <span class="keyword">void</span> buildMap(EClassToEStructuralFeatureMap map) { +<br/> +<span class="keyword">super</span>.buildMap(map); +<br/> +map.mapTo(LIBRARY, LIBRARY__NAME, ADDRESSABLE__ADDRESS); +<br/> + } +<br/> + @Override +<br/> + <span class="keyword">protected</span> <span class="keyword">void</span> buildStringMap( +<br/> + EClassToEStructuralFeatureAsStringsMap stringMap) { +<br/> +<span class="keyword">super</span>.buildStringMap(stringMap); +<br/> +stringMap.mapTo(PERSON.getInstanceClassName(), <span class="string">"firstName"</span>, <span class="string">"lastName"</span>, +<br/> + <span class="string">"address"</span>); +<br/> +stringMap.mapTo(WRITER.getInstanceClassName(), <span class="string">"firstName"</span>, <span class="string">"lastName"</span>, +<br/> + <span class="string">"books"</span>); +<br/> + } +<br/> +} +<br/> </p> </div> </div> @@ -250,12 +311,20 @@ Writer. <div class="literallayout"> <div class="incode"> <p class="code"> - <span class="keyword">public</span> String text_Book_author(<span class="keyword">final</span> EStructuralFeature feature) {<br/> - <span class="keyword">return</span> <span class="string">"Wrote by:"</span>;<br/> -}<br/> - <span class="keyword">public</span> String text_Writer_name(<span class="keyword">final</span> EStructuralFeature feature) {<br/> - <span class="keyword">return</span> <span class="string">"Name:"</span>;<br/> -}<br/> + <span class="keyword">public</span> String text_Book_author(<span class="keyword">final</span> EStructuralFeature feature) { +<br/> + <span class="keyword">return</span> <span class="string">"Wrote by:"</span>; +<br/> + } +<br/> + +<br/> + <span class="keyword">public</span> String text_Writer_name(<span class="keyword">final</span> EStructuralFeature feature) { +<br/> + <span class="keyword">return</span> <span class="string">"Name:"</span>; +<br/> + } +<br/> </p> </div> </div> @@ -268,11 +337,16 @@ below. In this case there is another parameter that is the parent composite. <div class="literallayout"> <div class="incode"> <p class="code"> - <span class="keyword">public</span> Label label_Writer_name(Composite parent, EStructuralFeature feature) {<br/> - Label label = defaultLabel(parent, feature);<br/> - label.setBackground(getFormToolkit().getColors().getColor(IFormColors.TITLE));<br/> - <span class="keyword">return</span> label;<br/> -}<br/> + <span class="keyword">public</span> Label label_Writer_name(Composite parent, EStructuralFeature feature) { +<br/> + Label label = defaultLabel(parent, feature); +<br/> + label.setBackground(getFormToolkit().getColors().getColor(IFormColors.TITLE)); +<br/> + <span class="keyword">return</span> label; +<br/> + } +<br/> </p> </div> </div> @@ -296,21 +370,44 @@ that is inteded to be surclassed by the programmer to provides specific implemen <div class="literallayout"> <div class="incode"> <p class="code"> - <span class="keyword">public</span> <span class="keyword">class</span> CustomLibraryLabelProvider <span class="keyword">extends</span> ViewerLabelProvider {<br/> - @Inject<br/> - <span class="keyword">public</span> CustomLibraryLabelProvider(AdapterFactoryLabelProvider delegate) {<br/> - <span class="keyword">super</span>(delegate);<br/> - }<br/> - <span class="keyword">public</span> String text(Book book) {<br/> - <span class="keyword">return</span> <span class="string">"Book: "</span> + book.getTitle();<br/> - }<br/> - <span class="keyword">public</span> String image(Book book) {<br/> - <span class="keyword">return</span> <span class="string">"book2.png"</span>;<br/> - }<br/> - <span class="keyword">public</span> String text(Borrower b) {<br/> - <span class="keyword">return</span> <span class="string">"Borrower: "</span> + b.getFirstName();<br/> - }<br/> -}<br/> + <span class="keyword">public</span> <span class="keyword">class</span> CustomLibraryLabelProvider <span class="keyword">extends</span> ViewerLabelProvider { +<br/> + +<br/> + @Inject +<br/> + <span class="keyword">public</span> CustomLibraryLabelProvider(AdapterFactoryLabelProvider delegate) { +<br/> + <span class="keyword">super</span>(delegate); +<br/> + } +<br/> + +<br/> + <span class="keyword">public</span> String text(Book book) { +<br/> + <span class="keyword">return</span> <span class="string">"Book: "</span> + book.getTitle(); +<br/> + } +<br/> + +<br/> + <span class="keyword">public</span> String image(Book book) { +<br/> + <span class="keyword">return</span> <span class="string">"book2.png"</span>; +<br/> + } +<br/> + +<br/> + <span class="keyword">public</span> String text(Borrower b) { +<br/> + <span class="keyword">return</span> <span class="string">"Borrower: "</span> + b.getFirstName(); +<br/> + } +<br/> + } +<br/> </p> </div> </div> @@ -327,24 +424,48 @@ specify the children of all object on the tree, like in the example below. <div class="literallayout"> <div class="incode"> <p class="code"> - <span class="keyword">public</span> <span class="keyword">class</span> CustomLibraryViewerContentProvider <span class="keyword">extends</span> ViewerContentProvider {<br/> - @Inject<br/> - <span class="keyword">public</span> CustomLibraryViewerContentProvider(AdapterFactory adapterFactory) {<br/> - <span class="keyword">super</span>(adapterFactory);<br/> - }<br/> - <span class="keyword">public</span> Object children(Library library) {<br/> - <span class="keyword">return</span> library.getBooks();<br/> - }<br/> - <span class="keyword">public</span> Object children(Book book) {<br/> - ArrayList<Object> children = <span class="keyword">new</span> ArrayList<Object>();<br/> - Writer author = book.getAuthor();<br/> - <span class="keyword">if</span> (author != null) {<br/> - children.add(author);<br/> - }<br/> - children.addAll(book.getBorrowers());<br/> - <span class="keyword">return</span> children;<br/> - }<br/> -}<br/> + <span class="keyword">public</span> <span class="keyword">class</span> CustomLibraryViewerContentProvider <span class="keyword">extends</span> ViewerContentProvider { +<br/> + +<br/> + @Inject +<br/> + <span class="keyword">public</span> CustomLibraryViewerContentProvider(AdapterFactory adapterFactory) { +<br/> + <span class="keyword">super</span>(adapterFactory); +<br/> + } +<br/> + +<br/> + <span class="keyword">public</span> Object children(Library library) { +<br/> + <span class="keyword">return</span> library.getBooks(); +<br/> + } +<br/> + +<br/> + <span class="keyword">public</span> Object children(Book book) { +<br/> + ArrayList<Object> children = <span class="keyword">new</span> ArrayList<Object>(); +<br/> + Writer author = book.getAuthor(); +<br/> + <span class="keyword">if</span> (author != null) { +<br/> + children.add(author); +<br/> + } +<br/> + children.addAll(book.getBorrowers()); +<br/> + <span class="keyword">return</span> children; +<br/> + } +<br/> + } +<br/> </p> </div> </div> @@ -363,18 +484,30 @@ keyword <em>'proposals'</em> followed byt the EClass and Feature undes <div class="literallayout"> <div class="incode"> <p class="code"> - <span class="keyword">public</span> List<?> proposals_Book_author(Book book) {<br/> - List<Object> proposals = <span class="keyword">new</span> LinkedList<Object>();<br/> - Writer writer = EXTLibraryFactory.eINSTANCE.createWriter();<br/> - writer.setFirstName(<span class="string">"Fake"</span>);<br/> - writer.setLastName(<span class="string">"Writer"</span>);<br/> - proposals.add(writer);<br/> - writer = EXTLibraryFactory.eINSTANCE.createWriter();<br/> - writer.setFirstName(<span class="string">"Fake"</span>);<br/> - writer.setLastName(<span class="string">"Writer2"</span>);<br/> - proposals.add(writer);<br/> - <span class="keyword">return</span> proposals;<br/> -}<br/> + <span class="keyword">public</span> List<?> proposals_Book_author(Book book) { +<br/> + List<Object> proposals = <span class="keyword">new</span> LinkedList<Object>(); +<br/> + Writer writer = EXTLibraryFactory.eINSTANCE.createWriter(); +<br/> + writer.setFirstName(<span class="string">"Fake"</span>); +<br/> + writer.setLastName(<span class="string">"Writer"</span>); +<br/> + proposals.add(writer); +<br/> + writer = EXTLibraryFactory.eINSTANCE.createWriter(); +<br/> + writer.setFirstName(<span class="string">"Fake"</span>); +<br/> + writer.setLastName(<span class="string">"Writer2"</span>); +<br/> + proposals.add(writer); +<br/> + <span class="keyword">return</span> proposals; +<br/> + } +<br/> </p> </div> </div> @@ -491,15 +624,24 @@ method must be both the <em>DataBinding Context</em> and the <em>Feature Observa <div class="literallayout"> <div class="incode"> <p class="code"> - <span class="keyword">public</span> Control control_Writer_name(DataBindingContext dbc,IObservableValue featureObservable) {<br/> - <span class="comment">//Creating the control<br/> -</span> Text text = getToolkit().createText(getParent(), <span class="string">""</span>);<br/> - text.setData(FormToolkit.KEY_DRAW_BORDER, FormToolkit.TREE_BORDER);<br/> - text.setBackground(getToolkit().getColors().getColor(IFormColors.TITLE));<br/> - <span class="comment">//Binding the control to the feature observable<br/> -</span> dbc.bindValue(SWTObservables.observeText(text, SWT.Modify), featureObservable);<br/> - <span class="keyword">return</span> text;<br/> -} <br/> + <span class="keyword">public</span> Control control_Writer_name(DataBindingContext dbc,IObservableValue featureObservable) { +<br/> + <span class="comment">//Creating the control +<br/> +</span> Text text = getToolkit().createText(getParent(), <span class="string">""</span>); +<br/> + text.setData(FormToolkit.KEY_DRAW_BORDER, FormToolkit.TREE_BORDER); +<br/> + text.setBackground(getToolkit().getColors().getColor(IFormColors.TITLE)); +<br/> + <span class="comment">//Binding the control to the feature observable +<br/> +</span> dbc.bindValue(SWTObservables.observeText(text, SWT.Modify), featureObservable); +<br/> + <span class="keyword">return</span> text; +<br/> + } +<br/> </p> </div> </div> diff --git a/doc/org.eclipse.emf.parsley.doc/contents/07-Eclipse4.html b/doc/org.eclipse.emf.parsley.doc/contents/07-Eclipse4.html index 9cc4a2a23..91e61e584 100644 --- a/doc/org.eclipse.emf.parsley.doc/contents/07-Eclipse4.html +++ b/doc/org.eclipse.emf.parsley.doc/contents/07-Eclipse4.html @@ -87,10 +87,14 @@ Open the Part java class and make the following changes: <div class="literallayout"> <div class="incode"> <p class="code"> -<span class="comment">// Use these imports during Organizing Imports operation<br/> -</span><span class="keyword">import</span> org.eclipse.emf.common.util.URI;<br/> -<span class="keyword">import</span> org.eclipse.emf.ecore.resource.Resource;<br/> -<span class="keyword">import</span> org.eclipse.swt.widgets.Composite;<br/> +<span class="comment">// Use these imports during Organizing Imports operation +<br/> +</span><span class="keyword">import</span> org.eclipse.emf.common.util.URI; +<br/> +<span class="keyword">import</span> org.eclipse.emf.ecore.resource.Resource; +<br/> +<span class="keyword">import</span> org.eclipse.swt.widgets.Composite; +<br/> </p> </div> </div> @@ -99,8 +103,10 @@ Open the Part java class and make the following changes: <div class="literallayout"> <div class="incode"> <p class="code"> -<span class="comment">// The part implements IMenuListener for context menu handling<br/> -</span>public class MyEclipse4Part implements IMenuListener<br/> +<span class="comment">// The part implements IMenuListener for context menu handling +<br/> +</span>public class MyEclipse4Part implements IMenuListener +<br/> </p> </div> </div> @@ -109,48 +115,62 @@ Open the Part java class and make the following changes: <div class="literallayout"> <div class="incode"> <p class="code"> -<span class="comment">//the parent composite<br/> -</span>private Composite parent;<br/> -<span class="comment">//the EMF Parley composite for showing a tree and a detail form<br/> -</span>private TreeFormComposite treeFormComposite;<br/> -<span class="comment">//the EMF Resource<br/> -</span>private Resource resource;<br/> +<span class="comment">//the parent composite +<br/> +</span>private Composite parent; +<br/> +<span class="comment">//the EMF Parley composite for showing a tree and a detail form +<br/> +</span>private TreeFormComposite treeFormComposite; +<br/> +<span class="comment">//the EMF Resource +<br/> +</span>private Resource resource; +<br/> +<span class="comment">//Guice injected EMF Parsley component for contributing to the tree context menu +<br/> +</span>private TreeActionBarContributor treeActionBarContributor = FirstexampleActivator.getDefault().getInjector() +<br/> + .getInstance(TreeActionBarContributor.class); +<br/> + +<br/> +<span class="comment">//Guice injected EMF Parsley factory for the tree detail form +<br/> +</span>private TreeFormFactory treeFormFactory = FirstexampleActivator.getDefault().getInjector() +<br/> + .getInstance(TreeFormFactory.class); <br/> -<span class="comment">//Guice injected EMF Parsley component for contributing to the tree context menu<br/> -</span>private TreeActionBarContributor treeActionBarContributor = FirstexampleActivator.getDefault().getInjector()<br/> +<span class="comment">//Guice injected EMF Parsley Resource loader <br/> - .getInstance(TreeActionBarContributor.class);<br/> +</span>private ResourceLoader resourceLoader = FirstexampleActivator.getDefault().getInjector() <br/> + .getInstance(ResourceLoader.class); <br/> -<span class="comment">//Guice injected EMF Parsley factory for the tree detail form<br/> -</span>private TreeFormFactory treeFormFactory = FirstexampleActivator.getDefault().getInjector()<br/> +<span class="comment">//Guice injected EMF Parsley editing domain <br/> - .getInstance(TreeFormFactory.class);<br/> +</span>private AdapterFactoryEditingDomain editingDomain = FirstexampleActivator.getDefault().getInjector() <br/> -<span class="comment">//Guice injected EMF Parsley Resource loader<br/> -</span>private ResourceLoader resourceLoader = FirstexampleActivator.getDefault().getInjector()<br/> + .getInstance(AdapterFactoryEditingDomain.class); <br/> - .getInstance(ResourceLoader.class);<br/> +<span class="comment">//Guice injected viewer initializer <br/> -<span class="comment">//Guice injected EMF Parsley editing domain<br/> -</span>private AdapterFactoryEditingDomain editingDomain = FirstexampleActivator.getDefault().getInjector()<br/> +</span>private ViewerInitializer viewerInitializer = (ViewerInitializer) FirstexampleActivator.getDefault().getInjector() <br/> - .getInstance(AdapterFactoryEditingDomain.class);<br/> + .getInstance(ViewerInitializer.class); <br/> -<span class="comment">//Guice injected viewer initializer<br/> -</span>private ViewerInitializer viewerInitializer = (ViewerInitializer) FirstexampleActivator.getDefault().getInjector()<br/> +<span class="comment">//Guice injected save manager <br/> - .getInstance(ViewerInitializer.class);<br/> +</span>private ResourceSaveManager resourceSaveManager = FirstexampleActivator.getDefault().getInjector() <br/> -<span class="comment">//Guice injected save manager<br/> -</span>private ResourceSaveManager resourceSaveManager = FirstexampleActivator.getDefault().getInjector()<br/> + .getInstance(ResourceSaveManager.class); <br/> - .getInstance(ResourceSaveManager.class);<br/> +<span class="comment">//URI for EMF Resource <br/> -<span class="comment">//URI for EMF Resource<br/> -</span>private URI uri = URI.createFileURI(System.getProperty(<span class="string">"user.home"</span>)<br/> +</span>private URI uri = URI.createFileURI(System.getProperty(<span class="string">"user.home"</span>) +<br/> + + <span class="string">"/MyLibrary.library"</span>); <br/> - + <span class="string">"/MyLibrary.library"</span>);<br/> </p> </div> </div> @@ -162,17 +182,22 @@ Modify the <em>@PostConstruct</em> method with this code: <div class="literallayout"> <div class="incode"> <p class="code"> -@PostConstruct<br/> -public void postConstruct(Composite parent) {<br/> - this.parent = parent;<br/> +@PostConstruct +<br/> +public void postConstruct(Composite parent) { +<br/> + this.parent = parent; +<br/> + <span class="comment">// Initialize TreeFormFactory & ResourceLoader <br/> - <span class="comment">// Initialize TreeFormFactory & ResourceLoader<br/> -</span> init(treeFormFactory, resourceLoader);<br/> +</span> init(treeFormFactory, resourceLoader); <br/> - <span class="comment">// Prepare the menu action bar contributor upon the selection<br/> -</span> treeFormComposite.getViewer().addSelectionChangedListener(treeActionBarContributor);<br/> + <span class="comment">// Prepare the menu action bar contributor upon the selection +<br/> +</span> treeFormComposite.getViewer().addSelectionChangedListener(treeActionBarContributor); +<br/> +} <br/> -}<br/> </p> </div> </div> @@ -184,24 +209,38 @@ and add the following methods: <div class="literallayout"> <div class="incode"> <p class="code"> -public void init(TreeFormFactory treeFormFactory, ResourceLoader resourceLoader) {<br/> - <span class="comment">//create the tree-form composite<br/> -</span> treeFormComposite = treeFormFactory.createTreeFormMasterDetailComposite(parent, SWT.BORDER);<br/> - <span class="comment">//load the resource<br/> -</span> resource = resourceLoader.getResource(editingDomain, uri).getResource();<br/> - <span class="comment">//update the composite<br/> -</span> treeFormComposite.update(resource);<br/> - <span class="comment">//initialize and bind the context menu to the tree-form composite<br/> -</span> treeActionBarContributor.initialize(editingDomain);<br/> - viewerInitializer.addContextMenu(<br/> - treeFormComposite.getViewer(), treeActionBarContributor, editingDomain, this);<br/> -}<br/> -<br/> -<br/> -@Override<br/> -public void menuAboutToShow(IMenuManager manager) {<br/> - treeActionBarContributor.menuAboutToShow(manager);<br/> -}<br/> +public void init(TreeFormFactory treeFormFactory, ResourceLoader resourceLoader) { +<br/> + <span class="comment">//create the tree-form composite +<br/> +</span> treeFormComposite = treeFormFactory.createTreeFormMasterDetailComposite(parent, SWT.BORDER); +<br/> + <span class="comment">//load the resource +<br/> +</span> resource = resourceLoader.getResource(editingDomain, uri).getResource(); +<br/> + <span class="comment">//update the composite +<br/> +</span> treeFormComposite.update(resource); +<br/> + <span class="comment">//initialize and bind the context menu to the tree-form composite +<br/> +</span> treeActionBarContributor.initialize(editingDomain); +<br/> + viewerInitializer.addContextMenu( +<br/> + treeFormComposite.getViewer(), treeActionBarContributor, editingDomain, this); +<br/> +} +<br/> +@Override +<br/> +public void menuAboutToShow(IMenuManager manager) { +<br/> + treeActionBarContributor.menuAboutToShow(manager); +<br/> +} +<br/> </p> </div> </div> @@ -231,8 +270,10 @@ Let's start with adding the following attribute to the part <div class="literallayout"> <div class="incode"> <p class="code"> -@Inject<br/> -MDirtyable dirtyable;<br/> +@Inject +<br/> +MDirtyable dirtyable; +<br/> </p> </div> </div> @@ -244,12 +285,14 @@ initialize it in the <em>@PostConstruct</em> method <div class="literallayout"> <div class="incode"> <p class="code"> -@PostConstruct<br/> -public void postConstruct(Composite parent, MDirtyable dirtyable) {<br/> +@PostConstruct +<br/> +public void postConstruct(Composite parent, MDirtyable dirtyable) { +<br/> + this.dirtyable = dirtyable; <br/> - this.dirtyable = dirtyable;<br/> + this.dirtyable.setDirty(false); <br/> - this.dirtyable.setDirty(false);<br/> </p> </div> </div> @@ -261,13 +304,20 @@ add to <em>init</em> method the following code in order to update the dirty stat <div class="literallayout"> <div class="incode"> <p class="code"> -editingDomain.getCommandStack().addCommandStackListener(<br/> - new CommandStackListener() {<br/> - public void commandStackChanged(EventObject event) {<br/> - if (dirtyable != null)<br/> - dirtyable.setDirty(true);<br/> - }<br/> - });<br/> + editingDomain.getCommandStack().addCommandStackListener( +<br/> + new CommandStackListener() { +<br/> + public void commandStackChanged(EventObject event) { +<br/> + if (dirtyable != null) +<br/> + dirtyable.setDirty(true); +<br/> + } +<br/> + }); +<br/> </p> </div> </div> @@ -279,18 +329,22 @@ and add the <em>@Persist</em> method, which will be called when the part is save <div class="literallayout"> <div class="incode"> <p class="code"> -@Persist<br/> -public void save(MDirtyable dirty) throws IOException {<br/> - if (resourceSaveManager.save(resource)) {<br/> +@Persist <br/> - if (dirty != null) {<br/> +public void save(MDirtyable dirty) throws IOException { <br/> - dirty.setDirty(false);<br/> + if (resourceSaveManager.save(resource)) { <br/> - }<br/> + if (dirty != null) { +<br/> + dirty.setDirty(false); +<br/> + } +<br/> + } +<br/> +} <br/> - }<br/> -}<br/> </p> </div> </div> @@ -304,15 +358,18 @@ tutorials</a>) <div class="literallayout"> <div class="incode"> <p class="code"> -public class SaveHandler {<br/> +public class SaveHandler { +<br/> + @Execute +<br/> + void execute(EPartService partService, @Named(IServiceConstants.ACTIVE_PART) MPart part) { +<br/> + partService.savePart(part, false); <br/> - @Execute<br/> - void execute(EPartService partService, @Named(IServiceConstants.ACTIVE_PART) MPart part) {<br/> + } <br/> - partService.savePart(part, false);<br/> - }<br/> +} <br/> -}<br/> </p> </div> </div> diff --git a/doc/org.eclipse.emf.parsley.doc/contents/Downloads.html b/doc/org.eclipse.emf.parsley.doc/contents/Downloads.html new file mode 100644 index 000000000..08abc1d38 --- /dev/null +++ b/doc/org.eclipse.emf.parsley.doc/contents/Downloads.html @@ -0,0 +1,33 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" > +<title>EMF Parsley - Downloads</title> + +<link href="book.css" rel="stylesheet" type="text/css"> +<link href="code.css" rel="stylesheet" type="text/css"> +<link rel="home" href="xtext.html" title=""> +</head> +<body> +<a name="EmfParsleyDownloads"></a> +<h1>EMF Parsley - Downloads</h1> +<p> +To install via the update site URL listed below, copy and paste it into the “Help > Install new software” dialog. +</p> +<p> +N.B. All API are to be considered provisional! +</p> +<p> +<em>Update Site</em>: +</p> +<p> +<ul> + <li> + Last Stable Release 0.1.0: <a href="http://download.eclipse.org/emf-parsley/updates">http://download.eclipse.org/emf-parsley/updates</a> + </li> +</ul> +</p> +<p> +All downloads are provided under the terms and conditions of the Eclipse Foundation Software User Agreement unless otherwise specified. +</p> +</body> +</html> diff --git a/doc/org.eclipse.emf.parsley.doc/contents/samples.html b/doc/org.eclipse.emf.parsley.doc/contents/samples.html deleted file mode 100644 index b32232944..000000000 --- a/doc/org.eclipse.emf.parsley.doc/contents/samples.html +++ /dev/null @@ -1,120 +0,0 @@ -<html> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" > -<title>Xdoc Samples</title> - -<link href="book.css" rel="stylesheet" type="text/css"> -<link href="code.css" rel="stylesheet" type="text/css"> -<link rel="home" href="xtext.html" title=""> -</head> -<body> -<a name="samples"></a> -<h1>Xdoc Samples</h1> -<p> -This is text for the introduction. You can <em>emphasize</em> elements and create multiple -paragraphs by adding a newline, like this. As you can see we also have splel checking -with corrections. -</p> -<p> -In the following the different syntactical elements are explained by example. -</p> -<a name="Links"></a> -<h2>References</h2> -<p> -The following is an <a href="http://www.google.com">external link</a> -and if you want to refer internally you can <a href="01-Introduction.html#Introduction" title="Go to "Introduction"">do so as well</a>.You can even -refer to Java code like this : <a class="jdoc" href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html" title="View JavaDoc"><abbr title="java.lang.String" >String</abbr></a>. -</p> -<a name="CodeSections"></a> -<h2>Code Sections</h2> -<p> -A code section looks like this: -</p> -<p> -<div class="literallayout"> -<div class="incode"> -<p class="code"> -<span class="keyword">class</span> HelloWorld {<br/> - <span class="keyword">public</span> <span class="keyword">void</span> sayHello(String name) {<br/> - System.out.println(<span class="string">"Hello "</span>+name);<br/> - }<br/> -}<br/> -</p> -</div> -</div> -</p> -<p> -Note how the code is highlighted according to the language you choose. -It is even possible to have different language configurations to get different coloring. -</p> -<a name="Lists"></a> -<h2>Lists and Tables</h2> -<p> -Lists are very similar to HTML. -We've got ordered lists: - -<ol> - <li> - First - </li> - <li> - Second - </li> - <li> - Third - </li> -</ol> -</p> -<p> -and unordered lists: -</p> -<p> -<ul> - <li> - Foo - </li> - <li> - Bar - </li> - <li> - Baz - </li> -</ul> -</p> -<a name="Tables"></a> -<h2>Tables</h2> -<p> -<table> -<tr> -<td> -This is a table cell -</td> -<td> -and another one -</td> -</tr> -<tr> -<td> -table rows can contain many cells -</td> -<td> -but each row has to contain the same number of cells -</td> -</tr> -</table> -</p> -<a name="TODO"></a> -<h2>TODO</h2> -<p> -<div class="todo" > -document todo elements -</div> -</p> -<a name="Images"></a> -<h2>Images</h2> -<p> -Images are not fully supported by the new Xtend generator, -but will of course be readded soon :-) -</p> -</body> -</html> diff --git a/doc/org.eclipse.emf.parsley.doc/contents/toc.xml b/doc/org.eclipse.emf.parsley.doc/contents/toc.xml index 2ec5ece89..786cfd6d2 100644 --- a/doc/org.eclipse.emf.parsley.doc/contents/toc.xml +++ b/doc/org.eclipse.emf.parsley.doc/contents/toc.xml @@ -2,12 +2,6 @@ <toc topic="contents/00-Main.html" label="Emf Parsley Guide" > <topic href="contents/00-Main_4.html#Emf%20Parsley%20Guide_4" label="Documentation" > <topic href="contents/01-Introduction.html#Introduction" label="Introduction" > - <topic href="contents/01-Introduction.html#reflectiveComponents" label="Reflective Components" > - </topic> - <topic href="contents/01-Introduction.html#easyToCustomize" label="Easy to Customize" > - </topic> - <topic href="contents/01-Introduction.html#architecture" label="Architecture" > - </topic> </topic> <topic href="contents/02-GettingStarted.html#GettingStarted" label="Getting Started" > <topic href="contents/02-GettingStarted.html#Installation" label="Installation" > @@ -133,19 +127,7 @@ </topic> </topic> </topic> - <topic href="contents/samples.html#samples" label="Xdoc Samples" > - <topic href="contents/samples.html#Links" label="References" > - </topic> - <topic href="contents/samples.html#CodeSections" label="Code Sections" > - </topic> - <topic href="contents/samples.html#Lists" label="Lists and Tables" > - </topic> - <topic href="contents/samples.html#Tables" label="Tables" > - </topic> - <topic href="contents/samples.html#TODO" label="TODO" > - </topic> - <topic href="contents/samples.html#Images" label="Images" > - </topic> + <topic href="contents/Downloads.html#EmfParsleyDownloads" label="EMF Parsley - Downloads" > </topic> </topic> </toc> diff --git a/doc/org.eclipse.emf.parsley.doc/xdoc/00-Main.xdoc b/doc/org.eclipse.emf.parsley.doc/xdoc/00-Main.xdoc index 8e71bc706..2825810df 100644 --- a/doc/org.eclipse.emf.parsley.doc/xdoc/00-Main.xdoc +++ b/doc/org.eclipse.emf.parsley.doc/xdoc/00-Main.xdoc @@ -44,4 +44,4 @@ part[Appendix] chapter-ref[GettingSources] -chapter-ref[samples]
\ No newline at end of file +chapter-ref[EmfParsleyDownloads]
\ No newline at end of file diff --git a/doc/org.eclipse.emf.parsley.doc/xdoc/Downloads.xdoc b/doc/org.eclipse.emf.parsley.doc/xdoc/Downloads.xdoc new file mode 100644 index 000000000..520762718 --- /dev/null +++ b/doc/org.eclipse.emf.parsley.doc/xdoc/Downloads.xdoc @@ -0,0 +1,14 @@ +chapter:EmfParsleyDownloads[EMF Parsley - Downloads] + +To install via the update site URL listed below, copy and paste it into the “Help > Install new software” dialog. + +N.B. All API are to be considered provisional! + +e[Update Site]: + +ul[ + item[Last Stable Release 0.1.0: link[http://download.eclipse.org/emf-parsley/updates][http://download.eclipse.org/emf-parsley/updates]] + +] + +All downloads are provided under the terms and conditions of the Eclipse Foundation Software User Agreement unless otherwise specified. |