Difference between revisions of "Tutorial: Project Development"

From Developer Documents
Jump to navigation Jump to search
m
m
Line 14: Line 14:
  
 
==Step 2: Create Perspective==
 
==Step 2: Create Perspective==
The plan is to have a tree view for movie productions, an editor for diagram representations, a properties view and a database view.  
+
The plan is to have a tree view for model browser (left), an editor for diagram representations (center), a properties view (bottom) and a database view (right). We have a sketch.  
  
 
[[file:sketch.png]]
 
[[file:sketch.png]]
  
 +
Add ''Movie Production'' perspective.
 
* ''Open '''com.acme.movie.ui''' >> '''META-INF/MANIFEST.MF''' >> '''Extensions''' ''
 
* ''Open '''com.acme.movie.ui''' >> '''META-INF/MANIFEST.MF''' >> '''Extensions''' ''
 +
* Add a new extension, ''org.eclipse.ui.perspectives''
 +
* A node will appear, select it, ''right click '''new''' >> '''perspective''' ''
 +
* Select it, put ''com.acme.movie.ui.perspective'' as id, "Movie Production" as name, and ''com.acme.movie.ui.PerspectiveFactory'' as class name.
 +
* Use ''com.acme.movie.ui.PerspectiveFactory'' as class name.
 +
* Click on the underlined "Class *:" link, a class instantiation wizard will open. '''Finish'''.
 +
* Edit the class
 +
<syntaxhighlight lang="java">
 +
    public class PerspectiveFactory implements IPerspectiveFactory {
 +
      @Override
 +
      public void createInitialLayout(IPageLayout layout) {
 +
        layout.setEditorAreaVisible(true);
 +
      }
 +
    }
 +
</syntaxhighlight>
 +
 +
 +
Now we a perspective definition, but it empty. Lets add the content. Take a look at the sketch. There is a model browser is on the left-hand side and am editor at the center. You will need to know that Model Browser is a simantics component, and its id is ''org.simantics.structural.ui.modelBrowser''. The identifier of the editor area is ''org.eclipse.ui.editorss''. You when you add model browser to the perspective.
 +
 +
Add Model Browser View to the perspective.
 +
* Add a new extension, ''org.eclipse.ui.perspectiveExtensions''
 +
* Put ''com.acme.movie.ui.perspective'' as targetID
 +
* Add model browser
 +
** '' '''com.acme.movie.ui.perspective''' >> right-click >> '''new''' >> '''view'''
 +
** id = org.simantics.structural.ui.modelBrowser
 +
** relationship = left, org.eclipse.ui.editorss
 +
** ratio = 0.2
 +
** visible = true
 +
** closable = false
 +
 +
  
  
Line 29: Line 60:
 
The feature includes both ''com.acme.*'' plugins (.ontology, .ui), check in. '''Finish'''
 
The feature includes both ''com.acme.*'' plugins (.ontology, .ui), check in. '''Finish'''
  
==Step 4: Run in Simantics==
+
==Step 4: Create Product==
Now its time to run the code in Simantics. In final release the application would be delivered as a Feature using Simantics Project Managed. But for developing reasons we are going to create a product.  
+
In final release the application would be delivered as a Feature using Simantics Project Managed. But for developing reasons we are going to create a product.  
 +
 
 +
Create a new product configuration
 +
*'' '''File''' >> '''New''' >> '''Plug-in Development''' >> '''Product Configuration''' >> '''Next >'''
 +
*Select ''com.acme.movie.ui'' as parent folder and put ''Movie.product'' for filename. '''Finish'''
 +
 
 +
Create Product extension
 +
* Open ''Movie.product''
 +
* Select ''New Product''
 +
A wizard will open. Leave Defining Plug-in as ''com.acme.movie.ui'' and Product ID ''product''. Select ''org.simantics.workbench.application'' as Product Application. '''Finish'''.
 +
 
  
*Create a new product configuration
 
**'' '''File''' >> '''New''' >> '''Plug-in Development''' >> '''Product Configuration''' >> '''Next >'''
 
**Select ''com.acme.movie.ui'' as parent folder and put ''Movie.product'' for filename. '''Finish'''
 
  
*Create Product extension
 
** Open ''Movie.product''
 
** Select ''New Product''
 
  
 
*Open ''Movie.product'' and ''Overview'' tab sheet from the editor bottom.
 
*Open ''Movie.product'' and ''Overview'' tab sheet from the editor bottom.
Line 51: Line 86:
  
  
OK, you have now configured a product configuration. Give it a go.  
+
==Step 5: Run it ==
 +
OK, you have now a feature and a product configuration. Give it a go.  
 
* Open ''Movie.product''
 
* Open ''Movie.product''
 
* Click ''Launch an Eclipse application''
 
* Click ''Launch an Eclipse application''
  
If everything goes fine a simantics platform should start and open up. Go to upper right corner and select "Open Perspective icon", choose Other and pick your "Movie Production" perspective.
+
If everything goes fine a simantics platform should start and open up. There will be no default perspective but you can choose your "Movie Production" perspective.

Revision as of 11:36, 19 October 2010

Our customer wants a tool to aid in production of motion pictures. In this tutorial series we are going to create a YouMovie movies producer tool over Simantics Platform. This part of the tutorial trail includes creation of a plugins, a perspective extension and exposing it all as a feature.

Step 1: Create UI Plugin

To create the a new plugin, open the wizard.

  • File >> New >> Plug-in Development >> Plug-in Project >> Next >

Project name for feature is com.acme.movie.ui. Next >. You do have a use for activator, so keep that checked. The plug-in makes UI contributions, but is not a rich client application. Finish

Open the plugin from plugin.xml. From Overview page make sure This plug-in is a singleton. Also add

Step 2: Create Perspective

The plan is to have a tree view for model browser (left), an editor for diagram representations (center), a properties view (bottom) and a database view (right). We have a sketch.

Sketch.png

Add Movie Production perspective.

  • Open com.acme.movie.ui >> META-INF/MANIFEST.MF >> Extensions
  • Add a new extension, org.eclipse.ui.perspectives
  • A node will appear, select it, right click new >> perspective
  • Select it, put com.acme.movie.ui.perspective as id, "Movie Production" as name, and com.acme.movie.ui.PerspectiveFactory as class name.
  • Use com.acme.movie.ui.PerspectiveFactory as class name.
  • Click on the underlined "Class *:" link, a class instantiation wizard will open. Finish.
  • Edit the class

<syntaxhighlight lang="java">

   public class PerspectiveFactory implements IPerspectiveFactory {
     @Override
     public void createInitialLayout(IPageLayout layout) {
       layout.setEditorAreaVisible(true);		
     }
   }

</syntaxhighlight>


Now we a perspective definition, but it empty. Lets add the content. Take a look at the sketch. There is a model browser is on the left-hand side and am editor at the center. You will need to know that Model Browser is a simantics component, and its id is org.simantics.structural.ui.modelBrowser. The identifier of the editor area is org.eclipse.ui.editorss. You when you add model browser to the perspective.

Add Model Browser View to the perspective.

  • Add a new extension, org.eclipse.ui.perspectiveExtensions
  • Put com.acme.movie.ui.perspective as targetID
  • Add model browser
    • com.acme.movie.ui.perspective >> right-click >> new >> view
    • id = org.simantics.structural.ui.modelBrowser
    • relationship = left, org.eclipse.ui.editorss
    • ratio = 0.2
    • visible = true
    • closable = false



Step 3: Create Feature

Feature is a set of plug-ins grouped into a single manageable unit. Open wizard.

  • File >> New >> Plug-in Development >> Feature Project >> Next >

Project name for feature is com.acme.movie.feature. Next >. The feature includes both com.acme.* plugins (.ontology, .ui), check in. Finish

Step 4: Create Product

In final release the application would be delivered as a Feature using Simantics Project Managed. But for developing reasons we are going to create a product.

Create a new product configuration

  • File >> New >> Plug-in Development >> Product Configuration >> Next >
  • Select com.acme.movie.ui as parent folder and put Movie.product for filename. Finish

Create Product extension

  • Open Movie.product
  • Select New Product

A wizard will open. Leave Defining Plug-in as com.acme.movie.ui and Product ID product. Select org.simantics.workbench.application as Product Application. Finish.



  • Open Movie.product and Overview tab sheet from the editor bottom.
    • Add values for ID, Version and Name; say com.acme.movie, 1.0 and "Motion Picture Production Manager"
    • Choose org.simantics.workbench.product as Product and org.simantics.workbench.application as Application
    • Select "The product configuration is based on: features"
  • Open Dependencies tab sheet from the editor bottom.
    • Add org.simantics.sdk
    • Add com.acme.movie.feature
    • Save file.


Step 5: Run it

OK, you have now a feature and a product configuration. Give it a go.

  • Open Movie.product
  • Click Launch an Eclipse application

If everything goes fine a simantics platform should start and open up. There will be no default perspective but you can choose your "Movie Production" perspective.