E4/UI/Running the photo demo
Prerequisite: Make sure you've installed the e4 UI runtime components as described here.
Optionally, install the EMF SDK to be able to open .xmi files using the EMF editor: "Help" -> "Install New Software..." -> "Models and Model Development" -> "EMF SDK - Eclipse Modeling Framework SDK 2.4.1", then restart Eclipse.
Check out the e4 photo demo project from CVS as follows:
- Start Eclipse with an empty workspace directory.
- Select File > Import... and select CVS > Projects from CVS, click Next.
- Copy the CVS repository location and paste it into the "Host" field to populate the wizard page: :pserver:email@example.com:/cvsroot/eclipse
- You should see "Host: dev.eclipse.org, Repository path: /cvsroot/eclipse, User: anonymous, Connection type: pserver".
- Click Next and select the second option Use an existing module.
- Drill down as follows: e4 > org.eclipse.e4.ui > examples and select org.eclipse.e4.demo.e4photo. Click Next.
- Important: Do not click Finish just yet. Advance to the last wizard page using Next, then click on Refresh Tags. Select v20090206-0840 and click Finish.
- This will check out one project into your workspace. Expand the project in the Package Explorer and open the e4photo.product file.
- Click on the link Launch an Eclipse Application at the bottom left of the e4photo.product file editor.
The e4 photo demo application will come up. Click on the Create Album toolbar button or select File > Create Album. The new album location on disk will be printed to your Eclipse console. Just drop a couple (not too many!) of JPEG photos in that directory, then play with the application. Make sure you find a photo with embedded GPS coordinates - when you select it in the Exif view, the Location view will show where the photo was taken using Google Maps. You can find an example photo with GPS coordinates on bug 263898.
Then, have a look at the Application.xmi file to see how the demo application is configured, and/or look at the source files for the individual pieces (views and command handlers).