import org.eclipse.emf.parsley.examples.cdo.company.CompanyGuiceModule
import org.eclipse.emf.parsley.examples.cdo.company.Order
import org.eclipse.emf.parsley.examples.cdo.company.OrderDetail
import org.eclipse.emf.parsley.examples.cdo.company.ui.orders.OrdersView
import org.eclipse.emf.parsley.examples.cdo.company.Customer
import org.eclipse.emf.parsley.examples.cdo.company.SalesOrder

/* org.eclipse.emf.parsley.examples.cdo.company.ui.orders EMF Parsley Dsl Module file */
module org.eclipse.emf.parsley.examples.cdo.company.ui.orders extends CompanyGuiceModule {
	
	parts {
		viewpart org.eclipse.emf.parsley.examples.cdo.company.ui.orders {
			viewname "Orders2"
			viewclass OrdersView
		}
	}
	
	labelProvider{
		text{
			SalesOrder -> {
				val customer= eContainer as Customer
				var i= customer.salesOrders.indexOf(it)+1
				"order "+i+" made by " + customer.name 
			}
		}
		image{
			Order -> "order.png"	
			OrderDetail -> "order_detail.png"
		}
	}
	
}
