| import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain |
| import org.eclipse.emf.parsley.edit.IEditingStrategy |
| import org.eclipse.emf.parsley.edit.UndoableEditingStrategy |
| import org.eclipse.emf.parsley.edit.domain.GlobalAdapterFactoryEditingDomainProvider |
| import org.eclipse.emf.parsley.examples.mail.Account |
| import org.eclipse.emf.parsley.examples.mail.Folder |
| import org.eclipse.emf.parsley.examples.mail.accountsview.custom.MailEmptyResourceInitializer |
| import org.eclipse.emf.parsley.examples.mail.accountsview.views.AccountsView |
| import org.eclipse.emf.parsley.resource.EmptyResourceInitializer |
| |
| /* org.eclipse.emf.parsley.examples.mail.accountsview Emf Parsley Dsl Module file */ |
| module org.eclipse.emf.parsley.examples.mail.accountsview { |
| |
| parts { |
| viewpart org.eclipse.emf.parsley.examples.mail.accountsview.views.AccountsView { |
| viewname "Mail Accounts View" |
| viewclass AccountsView |
| viewcategory org.eclipse.emf.parsley.examples.mail.accountsview |
| } |
| } |
| |
| bindings { |
| type EmptyResourceInitializer -> MailEmptyResourceInitializer |
| type IEditingStrategy -> UndoableEditingStrategy |
| |
| // with this binding, a global EditingDomain will be used: |
| // other modules extending this module will share the EditingDomain |
| provide AdapterFactoryEditingDomain -> GlobalAdapterFactoryEditingDomainProvider |
| } |
| |
| labelProvider { |
| image { |
| Account -> "account.gif" |
| Folder -> { |
| switch (name) { |
| case "Inbox" : "inbox.gif" |
| case "Sent" : "sent.gif" |
| case "Trash" : "trash.gif" |
| default: "folder.gif" |
| } |
| } |
| } |
| |
| text { |
| Account -> email |
| Folder -> name |
| } |
| } |
| |
| viewerContentProvider { |
| children { |
| Folder -> subfolders // don't show emails |
| } |
| } |
| } |